homebank-5.3.2/0000775000175000017500000000000013620077507010317 500000000000000homebank-5.3.2/configure.ac0000644000175000017500000000751113606633266012533 00000000000000# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ(2.52) AC_INIT([homebank], [5.3.2]) #AC_INIT([homebank], [x.x-rc]) AM_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE([1.9 foreign]) # If the source code has changed at all, increment REVISION # If any interfaces have been added, removed, or changed, increment CURRENT, and set REVISION to 0. # If any interfaces have been added since the last public release, then increment AGE. # If any interfaces have been removed since the last public release, then set AGE to 0. # Reference: http://www.gnu.org/software/libtool/manual.html#Versioning # Checks for programs. AC_PROG_CC AC_PROG_LN_S AC_PROG_INSTALL AC_PROG_INTLTOOL # Checks for libraries. PKG_CHECK_MODULES(DEPS, gtk+-3.0 >= 3.16 glib-2.0 >= 2.39) AC_SUBST(DEPS_CFLAGS) AC_SUBST(DEPS_LIBS) AC_CHECK_LIB(m, pow) PKG_CHECK_MODULES(LIBSOUP, [libsoup-2.4 >= 2.26]) AC_SUBST(LIBSOUP_CFLAGS) AC_SUBST(LIBSOUP_LIBS) # general usage flags CFLAGS="${CFLAGS} -Wall -Wmissing-prototypes" # disable deprecated warnings CFLAGS="${CFLAGS} -Wno-deprecated-declarations" # extended flags #CFLAGS="${CFLAGS} -Wextra -Wno-unused-parameter -Wno-cast-function-type" # profiling valgrind/gprof flags #CFLAGS="${CFLAGS} -g -O0 -pg" # pre-relase # 2 - error as warning for #CFLAGS="${CFLAGS} -Werror" # gtk3 migration #CFLAGS="${CFLAGS} -DGTK_DISABLE_SINGLE_INCLUDES -DGSEAL_ENABLE" # GLib/Gtk deprecated flags #CFLAGS="${CFLAGS} -DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED" # Check for libofx AC_CHECK_HEADER(libofx/libofx.h,,noofx=true) AC_ARG_WITH(ofx, [ --without-ofx build without ofx support [default=with]], [build_ofx=$withval], [build_ofx=yes] ) if test x$build_ofx != xno then if test x$noofx != xtrue then AC_CHECK_LIB(ofx, ofx_set_status_cb, OFX_0_7="-DOFX_ENABLE") DEPS_LIBS="-lofx ${DEPS_LIBS}" CFLAGS="${CFLAGS} $OFX_0_7" else noofx=true AC_MSG_RESULT([Libofx header missing. Check your libofx installation]) CFLAGS="${CFLAGS} -DNOOFX" fi else noofx=true CFLAGS="${CFLAGS} -DNOOFX" fi AM_CONDITIONAL(NOOFX, test x$noofx = xtrue) # Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([libintl.h locale.h stdlib.h string.h]) # Checks for typedefs, structures, and compiler characteristics. AC_HEADER_STDBOOL AC_C_CONST AC_STRUCT_TM AC_C_VOLATILE # Checks for library functions. AC_CHECK_FUNCS([floor localeconv memset modf pow setlocale sqrt strcasecmp strtoul]) # International support ALL_LINGUAS="af ar ast be bg br ca ckb cs cy da de el en_AU en_CA en_GB es et eu fa fi fr gl he hr hu id is it ja ka ko lt lv ms nb nds nl oc pl pt_BR pt pt_PT ro ru si sk sl sr sv tr uk vi zh_CN zh_TW" AM_GLIB_GNU_GETTEXT GETTEXT_PACKAGE=$PACKAGE AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], ["${GETTEXT_PACKAGE}"], [gettext domain]) AC_CONFIG_FILES([ Makefile src/Makefile data/homebank.desktop.in data/Makefile data/datas/Makefile images/Makefile mime/Makefile pixmaps/Makefile themes/Makefile themes/hicolor/Makefile po/Makefile.in doc/Makefile doc/images/Makefile ]) AC_OUTPUT # ************************************* # ************************************* echo echo $PACKAGE $VERSION echo echo Compiler................ : $CC echo Build with OFX support.. : $build_ofx if test "x$noofx" = "xtrue" ; then echo ........................ : **error** libofx header is missing, ofx feature will be disabled. Check your libofx installation fi eval eval echo Path to images.......... : $datadir/homebank/images eval eval echo Path to locale.......... : $datadir/locale eval eval echo Path to help............ : $datadir/homebank/help echo eval eval echo HomeBank will be installed in $bindir. echo echo configure complete, now type \'make\' echo homebank-5.3.2/Makefile.am0000644000175000017500000000153213224202055012256 00000000000000# HomeBank Makefile.am #SUBDIRS = src SUBDIRS = src data images mime pixmaps themes po doc datasdir = $(datadir)/homebank/datas/ datas_DATA = \ ChangeLog EXTRA_DIST = $(datas_DATA) # don't forget to do a 'make check' # to ensure all files are in po/POTFILES.in #pot: Makefile #${MAKE} -C po $(PACKAGE).pot INTLTOOL_FILES = intltool-extract.in \ intltool-merge.in \ intltool-update.in DISTCLEANFILES = ... intltool-extract \ intltool-merge \ intltool-update \ po/.intltool-merge-cache # we clean every folder under /usr/share/homebank as well on uninstall uninstall-hook: -rm -rf $(datadir)/homebank/datas -rm -rf $(datadir)/homebank/help -rm -rf $(datadir)/homebank/icons -rm -rf $(datadir)/homebank/images #-rmdir $(datadir)/homebank homebank-5.3.2/Makefile.in0000664000175000017500000007021013606633327012306 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 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@ # HomeBank Makefile.am 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 = : subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(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 = $(SHELL) $(top_srcdir)/mkinstalldirs 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 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)$(datasdir)" DATA = $(datas_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 \ cscope distdir distdir-am 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 = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in AUTHORS \ COPYING ChangeLog INSTALL NEWS README compile config.guess \ config.sub depcomp install-sh missing mkinstalldirs 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 GZIP_ENV = --best DIST_TARGETS = 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@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEPS_CFLAGS = @DEPS_CFLAGS@ DEPS_LIBS = @DEPS_LIBS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ 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@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSOUP_CFLAGS = @LIBSOUP_CFLAGS@ LIBSOUP_LIBS = @LIBSOUP_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ 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@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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 = src SUBDIRS = src data images mime pixmaps themes po doc datasdir = $(datadir)/homebank/datas/ datas_DATA = \ ChangeLog EXTRA_DIST = $(datas_DATA) # don't forget to do a 'make check' # to ensure all files are in po/POTFILES.in #pot: Makefile #${MAKE} -C po $(PACKAGE).pot INTLTOOL_FILES = intltool-extract.in \ intltool-merge.in \ intltool-update.in DISTCLEANFILES = ... intltool-extract \ intltool-merge \ intltool-update \ po/.intltool-merge-cache 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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ 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 install-datasDATA: $(datas_DATA) @$(NORMAL_INSTALL) @list='$(datas_DATA)'; test -n "$(datasdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(datasdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(datasdir)" || 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)$(datasdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(datasdir)" || exit $$?; \ done uninstall-datasDATA: @$(NORMAL_UNINSTALL) @list='$(datas_DATA)'; test -n "$(datasdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(datasdir)'; $(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" 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: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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 $(DATA) config.h installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(datasdir)"; 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) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) 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 mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-hdr distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-datasDATA 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 pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-datasDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-hook .MAKE: $(am__recursive_targets) all install-am install-strip \ uninstall-am .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ am--refresh check check-am clean clean-cscope clean-generic \ 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-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-datasDATA 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 pdf pdf-am ps ps-am tags \ tags-am uninstall uninstall-am uninstall-datasDATA \ uninstall-hook .PRECIOUS: Makefile # we clean every folder under /usr/share/homebank as well on uninstall uninstall-hook: -rm -rf $(datadir)/homebank/datas -rm -rf $(datadir)/homebank/help -rm -rf $(datadir)/homebank/icons -rm -rf $(datadir)/homebank/images #-rmdir $(datadir)/homebank # 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: homebank-5.3.2/README0000644000175000017500000000044711023413026011103 00000000000000HomeBank -- Free, easy, personal accounting for everyone. --------------------------------------------------------- 1. Web Resources ================ HomeBank home page is at: http://homebank.free.fr/ Please be sure to visit this site for information, documentation, tutorials, news, etc. homebank-5.3.2/COPYING0000644000175000017500000004325412166575517011310 00000000000000 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. homebank-5.3.2/pixmaps/0000775000175000017500000000000013620077507012000 500000000000000homebank-5.3.2/pixmaps/Makefile.am0000664000175000017500000000325012407562410013746 00000000000000NULL = public_icons_themes = \ hicolor \ $(NULL) public_icons = \ hicolor_apps_16x16_homebank.png \ hicolor_apps_22x22_homebank.png \ hicolor_apps_24x24_homebank.png \ hicolor_apps_32x32_homebank.png \ hicolor_apps_48x48_homebank.png \ hicolor_apps_256x256_homebank.png \ $(NULL) noinst_DATA = \ homebank.svg \ $(NULL) EXTRA_DIST = \ $(public_icons) \ $(noinst_DATA) \ $(NULL) gtk_update_icon_cache = gtk-update-icon-cache -f -t update-icon-cache: @-if test -z "$(DESTDIR)"; then \ echo "Updating Gtk icon cache."; \ for theme in $(public_icons_themes); do \ $(gtk_update_icon_cache) $(datadir)/icons/$$theme; \ done; \ else \ echo "*** Icon cache not updated. After (un)install, run this:"; \ for theme in $(public_icons_themes); do \ echo "*** $(gtk_update_icon_cache) $(datadir)/icons/$$theme"; \ done; \ fi install-icons: for icon in $(public_icons); do \ THEME=`echo $$icon | cut -d_ -f1`; \ CONTEXT=`echo $$icon | cut -d_ -f2`; \ SIZE=`echo $$icon | cut -d_ -f3`; \ ICONFILE=`echo $$icon | cut -d_ -f4`; \ mkdir -p $(DESTDIR)$(datadir)/icons/$$THEME/$$SIZE/$$CONTEXT; \ $(INSTALL_DATA) $(srcdir)/$$icon $(DESTDIR)$(datadir)/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \ done uninstall-icons: -for icon in $(public_icons); do \ THEME=`echo $$icon | cut -d_ -f1`; \ CONTEXT=`echo $$icon | cut -d_ -f2`; \ SIZE=`echo $$icon | cut -d_ -f3`; \ ICONFILE=`echo $$icon | cut -d_ -f4`; \ rm -f $(DESTDIR)$(datadir)/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \ done install-data-local: install-icons install-data-hook: update-icon-cache uninstall-local: uninstall-icons uninstall-hook: update-icon-cache -include $(top_srcdir)/git.mk homebank-5.3.2/pixmaps/Makefile.in0000664000175000017500000003374713606633330013777 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 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 = : subdir = pixmaps ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs 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 DATA = $(noinst_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEPS_CFLAGS = @DEPS_CFLAGS@ DEPS_LIBS = @DEPS_LIBS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ 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@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSOUP_CFLAGS = @LIBSOUP_CFLAGS@ LIBSOUP_LIBS = @LIBSOUP_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ 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@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ NULL = public_icons_themes = \ hicolor \ $(NULL) public_icons = \ hicolor_apps_16x16_homebank.png \ hicolor_apps_22x22_homebank.png \ hicolor_apps_24x24_homebank.png \ hicolor_apps_32x32_homebank.png \ hicolor_apps_48x48_homebank.png \ hicolor_apps_256x256_homebank.png \ $(NULL) noinst_DATA = \ homebank.svg \ $(NULL) EXTRA_DIST = \ $(public_icons) \ $(noinst_DATA) \ $(NULL) gtk_update_icon_cache = gtk-update-icon-cache -f -t 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 pixmaps/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign pixmaps/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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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): tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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: 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 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-data-local @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook 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 pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-local @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-hook .MAKE: install-am install-data-am install-strip uninstall-am .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-data-hook install-data-local \ 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 pdf pdf-am ps ps-am tags-am \ uninstall uninstall-am uninstall-hook uninstall-local .PRECIOUS: Makefile update-icon-cache: @-if test -z "$(DESTDIR)"; then \ echo "Updating Gtk icon cache."; \ for theme in $(public_icons_themes); do \ $(gtk_update_icon_cache) $(datadir)/icons/$$theme; \ done; \ else \ echo "*** Icon cache not updated. After (un)install, run this:"; \ for theme in $(public_icons_themes); do \ echo "*** $(gtk_update_icon_cache) $(datadir)/icons/$$theme"; \ done; \ fi install-icons: for icon in $(public_icons); do \ THEME=`echo $$icon | cut -d_ -f1`; \ CONTEXT=`echo $$icon | cut -d_ -f2`; \ SIZE=`echo $$icon | cut -d_ -f3`; \ ICONFILE=`echo $$icon | cut -d_ -f4`; \ mkdir -p $(DESTDIR)$(datadir)/icons/$$THEME/$$SIZE/$$CONTEXT; \ $(INSTALL_DATA) $(srcdir)/$$icon $(DESTDIR)$(datadir)/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \ done uninstall-icons: -for icon in $(public_icons); do \ THEME=`echo $$icon | cut -d_ -f1`; \ CONTEXT=`echo $$icon | cut -d_ -f2`; \ SIZE=`echo $$icon | cut -d_ -f3`; \ ICONFILE=`echo $$icon | cut -d_ -f4`; \ rm -f $(DESTDIR)$(datadir)/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \ done install-data-local: install-icons install-data-hook: update-icon-cache uninstall-local: uninstall-icons uninstall-hook: update-icon-cache -include $(top_srcdir)/git.mk # 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: homebank-5.3.2/pixmaps/hicolor_apps_256x256_homebank.png0000644000175000017500000011124712407562505020000 00000000000000PNG  IHDR\rfsBIT|d pHYsIIEtEXtSoftwarewww.inkscape.org<tEXtTitleHome BanktEXtAuthorNathan M. WillardbdŒtEXtCreation Time16JUL06U IDATxye]]ޚ{fee[WwW%6F6#Ke6̜aΜmf|l3fl,`0J!]j޵W#۽ャ^W'{č_쌈p r Lq^ȁ 'p  8yȁ{p /,3v/^: ~% ;xi2psfL~',fM  f[/^n@KDV1B^4^8M.,<PV.8jI x&@t9 ,XzAtO&x|xdeA8~#eV8U8n̩@$| )\D>H.<2s pj_fègzǫjp s089b 8'88qCG}- :IA , 8p\~*COAmr !x~=8󳬃s810~z71 wu/ї'$C;8YL.܏s* x Q=N.v7F{>A^5x-qbYYfoX+,*%&ar~LߋjcZZ=3[]#thoԚn q|?Lƭ;}s돣8W ?g/Lȁ$r@{e ՏWk1М9Ju5Ww|x [ 3(Q I00ٙ)3Du1~Ml\+n|`c?x y!+8{k90掾SΣ֬qtc  @;%*L43n˪F1ZkOb_e3j+Dc$-0DV {=90.=Z OAoCb :(omvchCkCa}IYU;1 (tu+ؾYvhX K)ߺxQC߅ų+`2膁9+xNF0Ug9`10x!LK0Y}k1:[_%CtHde}_H;\4qT~j#9!AZZkF.X TD0wS̙m2A5~,(36p$2x:bc{s7mڒVïBt n9z9+VOG '͓X?r^E>ixxo@| :G(~ Ǚj[F/#x$sNup{F6n>[OG :W /^_(srW,y =En\SoEY̅{y? ~X](/$q2(vÜiA  iq뙿?@\K4z䗢 YPts0uM8z{19;0!hă/H~ Vۉ`Tb 3pp>a'6qEk3(ٞ| l Y|T'NȽ=*Eu|yC"Q0ŗ{(ŠuN}JI"!S}16o=OG v/@b+r]@$evqX8>>f u_ E!9w4bg"E  Ca7{m1D 3 V0ti^z>n?i?;)mF`e-lQG0t2֓EBo!9x =sZ nop!9VBU}6I F n5<ؼu׾+_p%"/Ey@rC?3(SqAs) l4E!>$C䣩%RLz*!姜F/&1,Z@6sV^zyFӸ;~h@^.7",`e-o;^μ<§wk2ouk߸{%? lv$e4[s n?5]DT%O+^aqQ8\6ާ[;~Ѐꥤ+P(Q@h$0l((W8yy1N 0 @~U(߭d̅[+Zy\>=غI% /YH~ י$a,z~c wz,/9XYftCRDq؞P 1=:'=It4똩_L94w{cn8pj)7*6[;xKz;3K,_!de '_ӯ0uD]ĝ?E33㷰7SK~#^N )tdY]L2faqOlt# (ϴw mܗ>ݍe߽TV$`e V}~;qZ]AwZ oasVwFYW.$R^oZs]s:\ׅp\1q cqsQ,c z {׌Řo>ũbnI8HO-im~樂'n_l+E^,'eV o5,Cߏcj:q{ν(`?N$Va}a>WШQ7ѨQQV{>\5t;8q'B  =t{=zt{=xzn&W0]=  ~n퍚[ "\'~wP|K+( `ey?}nKGνH> >Rf^`eCɤj!B?,;/_߯bvzӘD"6s=.(p v ;X F%=O_i$M:WkyEa[O . }xF-,3t;k?œ*D:(M%IO}'ꗁ;+ofH}3ӳ$*ժ\ʁ4Xj0d X763"ڻm촶0m\I4W` uN9=&S9V/?J_CڋA7w)|ocة r& mPt:h `sn;SC>cn~z]iu1&0tҴr,Jv$SgDi~KE#t2N}ͧByGMO98+8a\/"[ˋgf%M9^),?)˔3FqP`:f)'bw-.qh~CgHA@ h)}*`G0';eus66V8.?wz ' _G~({+_ (&`,N.0A_|_i/),otsTpS{?L@03^[oF//#c 38x^݁91N }9;!ÑM!Y AGQ6W]JN~S_ Ѻt 0ք70H8qnx~0/`e}/48zGt5,^ABNUVZ.t 8cij՚ fé(|9(+aʟ f`:{[L/:܄L >nݺۥSms1Uq7^0dLs|K_T|K[|EC+ FM+ ؽ 3σ'>t@nxϮ};V#8߯X0/$g9y`WAa Wutp 2H Džy\7HB!Oz nD̋_™C<hnp'V8gp@l = eN\x\_^#4?0Tr٭ᯘT77vބ+@sc8p)!Q'%st1Wf~Fj*CP%CuwH / q1n]6"ƍEY4g[VmA|?w((qߵ%/g{'e ;wqwëP5E7P\͇ )T=c'qhᐢw"Gqc f'M,HI0&U}9R01k..1pB"hVoat t)+d#\pW[Ԗk^{[3< JOxn7u8EAo"l} bl@ /U<^ o= ;18QMʢ }#6"H c}@5\ n\j!<_ĹC @lshnFzBbUSsfZlIcՂ/ؾ9/? sũ'&=4m;8/\BOLLƙSg 3<0 𧴤 ~و79bPFs9X<h0g @Ač[H}9u>0&&&`k?1mzn"3PN8-p(,;9?p6199 ߷km @jmcg{%0&*J&y=:\(21 ;M5܌̝?!i~ݝ_@л M8w]D~ݖVĹ_uu<3;z FCo[A: u`xb{ٹߚËK8~D6''Z/Q"#+."֪j՛[p@OK@ϖ]f|AL!(v*nt Bpb3:,Ÿ *yl\lB<<l$7vG_X |qyLO qs$n/\[[Z0aaN%aK˯`wTJ Ԙ1Y"Ye NkO?uqkt,ֻI ̜HԼ֓a!f׍C/?Ӈ<1krx:J_m9׶ގq+ggЫ^I}00A>T~3v?,;;. bd] tOʟr?b&BC1dSxU,t )|Ə ˧\Ưg<'̤ua8|5Zf[ o*ϫ ෡Xy'B}QbrIU7#.<~jH;c '#&$DC$u5Y](y0Z:hVA*aZUp j7FHGWI!i*Rɿ)MWo+eKSC dKӄi&[ 6Wk9 t}<ADȺxnF+ 1{X4[[G|3t8S.K}.eU}݌~وB+fKzJ8t o6o#L Ae^r @R-q g``I0=18,vẃ?߀P;?֭x `8 Y#wAOcߦEc({ם; #AH0Dހuv,Zx'5DʍW%LT~DOw

{9d2/QQ;SE|֏w]wA8=LG\+SusFiҐvw;Y<Z('8SDh6f#9GlE^_@- ϣxחS3~}ӭ%Œ+FqNK31Lh3 #~pkv?~[Ifc13?`]#eE=vGtG*h@ Qfk7?0Vw~ &'&33ubc08i_Һ76},]~Z]V,E8| 4qu J5HZFȿ`u q051 ?h&vDU"{g6[mD'8.Ñ{j"KwE^.4& -|=QQw#)IW[5T=qwa"d}W})@KALǵ<%10i( &'& @]OhLX[q%%b43#Nɟ8ƌx,~Ǟ}1j_045(b^?}cH4lYGcAO0r4 `R6p:]x?ĝ?h2Cq@=su]wT*դd<cb9,ooGKpLO: j2+Po q6֐}c,=lI"kbS#Ү_kY7T5 A~7r(Z{Q8c4I_UGN8q$]Vwn>;19kxx+ IXaQLG&{Da!4xa(늖?WA>`,'xdd`0y.z(&p0e0;14M?qNjT_t)WnݻWgϜԔF2A~7DhqZPYF'js]4dSڊCS%XW%9|v 4=L4(T*fly,A{{ { 8sݓςPSQdD7PW̛^}}#~N7\xSS ۈz+cB#zOɵ^yN8)=0e4dbt/*QY*0! ) CӓB@ Wsʀ% i.ypI5Ók? 6[EY<ςPsK01g=FS O } stQGFeO/&8h9O/Z]9 OG0^_w?br(@"hQ*q1jD13ӧNZUG^S lKvj~Y봠ʾ2{7GCGzZuGw s ;oWlsf@ӭ }c .W,bO?'q3'4!iGZUI6ʺd|4ܤ @9ly~pHAE AAy6@ԥn )h=ɝh?O!oѯ;фdxJ^~r1ǜz |FFCZ60ʌkrrMY[>{X1ΑU HB~n<"# Bu,*{"eUr]2/P?y<56s'[b`l /$'j* 2Jƭ݂82%YZ@Fbz ChH>˱Ǎ3l1WG8 &(2 Y[ՍM09UnМ{(9W$|`fF?~)őytA DFVD-[6Vpy0DS?1UqNŬVaaq@F_AB6(!n'7 T0BNJϢ.@:&`d9A2yBҴ2 t,eLRNqׁzs0?ZMmxnމV(Cw<)+無0v>`s,ً~ʜ_] IoZQb:G~OF j5z̋nFIUYY`bo"ev >=R·+RG/ {rr(9 ,A\b+Yw:t;GQ+Y9eѐdD &@& bHb/#3#3 $%;ub0aYYstB0'qݫɣ F^ ²&,j?@MEcJ>S|<*Lq/$-uCZ,+%Qڬ j(uV|j>`G}i1y=@P] 'M;B1sn3Y{IF~dhP.z9揃p`ltIKr.Rc@ǡZszզɅ2.n0H2JIf&G7#Ԏg:rs7Ç[ܢRK)=OWRa2Г$diHA~PUK,Nh-pSĠ,g#ԅ~t aXZZ VwW|i3jWqIZl C?˩`v)=$/]ś# P}_G:؛Szʬ;Pzhڙ PUqv*MV9cXt@?/T͕ tNTF -( 3;2 U zzjz֣1ŝ򻇙 --,}`1pՑd A} s#筿t{<zؑ#G0,`NjQbj%?uGb=i^!R (F\(k7{Q,eJ3W)%0m4H:@&vKnZ{,)A4rӡjB M6ErGИ= ϗD+{+?-ʻ8}4䠌hG,)s ynrep'Wv% ΥI!0YHPE&ޑꭱ.6cRND*]kmRy  eefz8>l-_5x;O)n<1cې<Btҧ tYNq6;3u[]`+T9v?`{g' </ɭ=<`Z? `N꘢>=ۀ(ś*'P(J~&ÿn~c}D D.Hbz.ff6KzWF@P ȿ)%ev%&ןB}B>*J^TEų}j~~sDI<R-+ T0v?uѐ9<ԧe%,Au19`D^H棒ҌݍG$ ۷9}Y1Y$x32% ]<5lv>:KyބکCeT `T?D/$,W+5M &8q-; Z vqhԳX«9J&R],ҟUa෴6%$ uB s-wvfChI$On޶FbR4Yi7ԾCAވ#L4':kp5+uJ܂=98.K^ZI&|xIF Z@lAVwIus3ƣayH,[ V28DpFI=[GRfJ4bm|XY`}{@cr( H;"kNյuo=C؂0S7_3wI q| BI9u \!6I~uƔp!% z8l6QbbV@jTyft+h"llnf:h4K3Dϟ5r2P$"9Q6'&/Ǟb*4>rBʎG9tY^G^򶻻A]I}i4l+6$ZU $|DPRPkN<vKexT7ZXFH}DsGꚆC}adY+hŒV!667c"qeWȈs19ϴ.hm3b'OJ,Q#Ywx{c!` ~0Po|n'$#]Yi˦JKML\R̼ G0 cSyRvu9nBP6Bpef7>ŃVcrHv:0V˕(}#M18 fC$?Oa /%d'm2Ž,]>ucdҀ%Yۿp%l4POfPV (nCyu8%Mc4^äM(xW!Z& h0; =#Q;eRP`g^TT:zƲzI~d5[nkJ+hnG72q-#$9!$I&uiȱPI!trPu͓^JUpmL݊<`cs+Ic3VڻN-)ybYUT؝iX Ì͵L̞ew~!fȓf' GVV_%i8L=-CKSgArα(91f%!" }pNfKj4E^F 9@]ȽJBj `RY+7 Fns1z.(|O4S[[چ.E߬XcRKג*3c SVuQD^֫@$%.a{yT΀HTQY?Z2Q&&cLjQa 3"\ASvW`P7%w3L4*}q_rU*52SCZ%dՁ]\eNԾ R')an'FH,&UMlmH˄[BK^BPJ{yI!MLijG~6l <@aY&6\Oҍ6!a?LNLJIK!iq9dUM3-Fg_+nnIi\/S"|uPPUͩU+>Qq!dǝ'՟TN%8 IDAT ,%i_Fr{D&V >]KY @DO4yͦk$-@^z2ʔ3!ܧ&y ogWjuq$*^RVRytVmI8X[Hch6p\7`0PgFTBMTX}&檳<=“ Pқ'H&A9s n7&QYֱc]b6b]([\Z_HW -_1ִje[MS"rmjfJ)cDfLMM)FBSwzS&F4 α2$fC\4J8[0VHu@PD34prl^R̝ HITe6` zRދT ζmXyJHL!F`iˈ '$d@YTǛiN#]N drDZ8~L*TVۈ ~M32s B2rc[]9nf`ilmm#"pp\qǎEZҭ@EO6CX2<6̪By.uXK}X~PsjcuLX@"Rح$yo} ֐W&l9W[w9~ ՞Vxcc N7*YZda'1yYҊ@WyAή8=HW" @"B".j3'4|u~sAq46qk7p1 BE1(h rj["ۧGi2^Fo_b>L@|ВDzV7ƽu&c-9v@[[[EQa Z%yAVfşAYB({6h'4>qh[X_[`W<)CZ£q@^0nv%H#d(Jģo!ȼ|VNbI$88•k7yRjQOVkq#Ulu.aN[n)`92 / \*"S~΀2T%*~EШK2q;-dSOZ z=KK9~VTi,RoJRz>װyTZ)*K0Nk[[gdY&YIi^aL"8|Z0B߫hQ2"#q,_>g&@hN 8'[9(qҏ4n1;v&ou 'i`\#-E`ɚuQCf " j+TJ*y'\ǁWlZ@;t=33F qYpq+p# ʣ1Nʭ%y։kjH08+޹ c67Dy+iOlj&IH&GnY;}{]lnnevJFCqKDžÜaqyhb)mq~RA|i$Z ib)pڀ *%\+FjzO2$HhN4QffvAҮMKdYAsh#.uպ+v$~+ {12kv[Ud1kuML6C#׷_`D:&dSqzmĦ[}J/u:llmX/V&É `8/vQţ D/ͦ^~.?W*@:BL(!(Q(hfuwqlIS쥬>\3#JnCBüӆu `G5ErRG 4ZaM5L! xlk wJt]odIg D8Iw)rza J|DQוD_OU}JʊVK`i][8cq/ /osu<R@b9q%QDqh4>!>\S'gKjS!5/۪:Aɢ4^H4%<|OM ;X@`G7,Y@@/La]ຮ^$ @E/Sei \c\LŚ]%Y7T-%acsݼ,E_NrQrH^&.0@{N8PLf-ʒ:YAϒ$Wh$A+WydV{d8' M Hg_ [G17ve8P088E$(-TZM^KLꮿ-)"VZ<q{m 5(m !'Egy yYYZMFRvwY{9gjy˚z^BǑ2|0:p000Eda~(;wJX8thD*Li+\@4Jl`h)}}0$B3UY'F$"ݫM12$(aA ^|aW%nZO;)$_MNLl/rtNG3>0?Z 7lەP6$ud  y `&@Yw ke>P@(;ڤn;\ 46&3f>g}-MF4 վJYZ^D$h`  ^{%ki%:>$]$jU9,ϔbzZ얜7Aණc^@ԕ&iH4z C)(- vDBkH3&fQ1MQg~Z(V!dRk2L~ 5o a+$饠[V<̧M}N {0*_C;R6BN_ o;IQ;0Da&8Dmd`TI$$IB+Yk˞qA6H@j0*(!>;۽=i"•Z 30B U=C3}2GxcbKN<{yj:(C2M##Y>snW%ƴ!Yˁ&C@!XXBK=|MmH?Vn%>}d$ m_ %#" "м3qf -ٝh1z$~A= vsnJ}ivZJ}?+/P? Aa^Dw]`Lu~Lt'>l$ Bq #Ssn%R4 igfOJ\,vHFVޑ-DK({BF${?~Ĭ>B,ۺn9p.BP#qr4O!ݠ3Կ%o5h/"m9zu;d܏KOvL@urTc)_]tjAb m+LsF$60 Tj>Ga Kup-lOa{"F? (ٕm;I[S-;=a E `găɤ_oٻO"~N[9X#^DWR[S۽Ūs?Q%_CFq6C&ݸrKM?w ]$]l~.c% %RjsGIfWFF'%*+Xe@ `FO(蹙$({W펺9g&\I諡@INhwZ~Ѓ'H)]KkМ8L05dV\ =ASQ[<$ō* qDХ_itz?-pk;־,gtV}KSB"܅fkq>+ܭdppDf "c<JIwitLIk y3E%܄0 ̯W$M8ڀIj* !ڢY@fg仐`Xܕ,xBwhֺ\,*9~Ɲ3en[Fp/o#0""ÀN1Z e?W52Aiפ% CEY}^t޿;Fđ(NZu\ZK#E7=D݈3CtY$x]Dv\$L7ceQCu_Y7q^LB4jY( oѢ5ީer~tIS<_ÈeR"2(V `$0[ gM`P頝ĘSRBIAa% C5Z$0š&y$0RW#a(Rsߦy| qH:>M{5`B$KDS*^Ƒ~(T}%m#m䟇bM>LafKiR8g2x [w߮ZJd-/U v"|$%;P'²UR ` 6frHHO?PM*ʣl/xO{C|Z٧o:w_8tU^D`'Q9m16?od*GJz%B4 #|Ż@n_;otl7I@OXJM8cû`) ):)kqm^KFɓWC4I KN-䟌|B{UD tAs~H=u&40=QѦeQtkZa@֪#@k$]:T}1Q_7BqI,Xt)l$lB9 NspNI>N:_Hwc$D{C*-v^ Ff<U(w]w#g{.9F#Q;"՟}?40y KH@;PO$9TKqooOV$;`z/*6|8< ~ IDATc'G2e?c1[M4]]9 4K/n0 ~,Zӡ/ ƞl6IH5R$֤@E,ifM@ *G$%=Q 6G,I"0Fr] p.$K)y,{@;PetX*%B$_v AP r|\ ==,j :COk0{ؤk_ja5 b`wDʅ8ɀ"$ߐi S{7/'VF88ɔ$F#ϩPDJ;;Fڭ<{8ÎL"&ww=ˮORW">56葢%!P(9a^rnhI?m h?'ŖUBh{3@ $Ȕe]hqW V@vl ȜVz9@MRDz|^ɰκQ&BtuS3I /}`2$K~n6PnT&b%L3N2FnyqO:ZZ=ajMMig#IEzUݴ\فIyPHG쀤@t/X|,Bmmd_,Hv Yto'GCA&A cvcAv4he|HfD !(`GWS'| f ~T{K۴<ѩܻBrS'GrÑ R&GiKy7 @4k8D%KIOe/4[Ps/ʰ&*b8Xa{۴DW>1™~8x;a8 ;{gvn)t+={S؛kR)א`FvH=@CAbzFc{|qoO/hq%ԗST4F?Sw[tZzPpWݤ ^y K gA%6P?V?3![ 7 睴'v Cs>2Ez|Ie)OcӁZziLQɾbo 05h|sfcY3e-v" P٤0.IO3n@?|Զ._|gK3+,&vlDRZuyhfmN:{Z[$nH@6$bah!(dzTgG%[t tzSh,P zu) %NvgۜP &S?83}osatԇsrx%SccX2~y]X*e/9 zGJZduL*X  C} pfړ0UBD̔,0`Sk,*V#YvG?8a۫ق?hݧhtŗ|7q<9cZ9&R2i fnO-,H-+Ct22psz.2u)ƹ۶P+>{S0+z-Ym`s`#pIu:;пS8%X%w%zcc@ۋX,YwmW@zK5*$gRuDl>5@QFe\q]/+,VbGp/tw}00D Md$1!)=lh:) Y_7'ET*3cKjK;"@7o(ԒF%aQ zlɸLZʥJB \~]9S" PTNӨNNv?g {16Q,w"_[ JX^u}}o^;ύUW/6:l7,>vuV-znB9ER;\A,bHnbDirI`[LG&w$kK]|Jb짹;+ OPU3Pz|#57?ӺNݝ\(8ӄKLF$B~z]_I(fssm ^bH۶xaw2#$=!c.3#JSW0vt:\q&ޥLw27WVmc-",ר-,VU}~[~ըYH‹:fߛ Ð5\TC0Z)M6 PMlkl zj>? 9Se}} ݧfKßd,Ucq$w;U6WW8yD@="29^hggooZli@PP3pVM8uZ!cY+w<p)1Ռ~+s~`N#OJuֆ\apd_8/EuߺK'~{nUI@$3䋛WVrg񔦀TUROL5iL֙e?o-93N)NYksc7NX~MvcUt&//pg 7?ra še ²uUS$'? |Xw~ZMcɭf;({%fk+0zHH**~չ ZUve"g1=eD tBqkIZNwh/~1L+Dξ/hqݱ,xpKn.)ʸTGq#qc'$^iqd|N =ɷ|ڎrnlQbKٻ4777i P,3nɋCJR|g"ܰn};){np" =+{[>۫٢yɤ-;~g6ƫܥCy~}}w%7% ƞ4a̰{Y*D_ܗC k1aY>'?^zkJ-=Sh`5vv/bVsE$R`oo59xAc}ɤ-Y6VijA1=&(hq' I)rY!7%/RTɵk+ܳsSh`m|׈045*,ϰ~YZBkALwԸggFX_[3 p3Ye[rIPRM6)q߲͡w{m"xאܿ!pyf:s1&aqav7-BLo_H /] 9ɵkڔXR|_&0 Yv:?Sx.xWSFa0SVl|N!=Ըôt᝜zrf᷻˕+WGyLun*ܒ᤻W^efPz{5cL\ެӟKbLUgk|0n_S_$<[~p#Gh8ZWs4[),8BPL[2%*ehǥKi4qp6Oʖ#ԳP$[1f.ٵqw/oĵl*_3C]'fk\<ۛIC%f:Rx[7cr[[\|Ni>5^?JQL{}KmZ|+"(\8/ :P$1f8}g9[Kt?AC&.2=yvvǏ+fRNCk{[.BR*.Awp2ݨLxC~IZkscs:sҺ`rp8Gw/VOq'G>c9pp^6ܑWr$h>B.O~'`av3מ$]\ǍKonnniɟ+>CD1wLKY?-?prLHK8 <{T+I‰1W+J{RıcSߡnܒlqB9h4XFeZ[ 1s 4ܥlq6}%2) ! =U@[ 7R/LpRkgwځ}<PH/nYu\ bfl\n(9;'x.Sn7VZy*rynaBDU8Kpv RU#,Z@8vAAj lc_13nRFEu WEx"Bpk;;I㈽J΋_2߹X9C]6U2ЩZr}n%;F@;m|ۢ/#\B8pUm{+}Ǫmjfp*[m'>Ci~}Wb PqμuTgxR6? <"p{fafggY\\Rt/<Nn4loot}]NzE ,Ɗ-/7pἸ*/&AOcQŽA?RDr.Rt:>!/NC!<ϣy7!RJ[[4qTg93oDClӬ]D"|NXn p^+4=x?~2Frdr%fffrs ? ;8yum.RJlmolOWsjw8ZӃgQ«|%1V.> ^-7!7 \8/^|md`ȫ8җP #C{AJ\o|#Y/K,,-27;{E &.]q!Z6~$#msv&"W(5C\%7UD=oԩ>.o;-:U~iD!)F^ڙ-KVl5"qgnnrI[;]T\'7"Z(gnvb\Gg1aa.A;'0!)"8ݏ=ZݢV7pDT('hݼExGJ2K W#`qeA9ܔ5FFpY8ZN}4h]Lvps̈́rnBr9*B!V|:}|jT){a"\>{t襋)-֓fG>h3ߞD߆#ɷgm,V  ٱc {k?H;8~UJ]Zw9EqK/-h/7Xon9[mM?ȟmn)ob4r>!06\s2Oc/X' Ho|ܼfh4;ihoW0NAIѽNٽLɻBٽBɽJ{P%:id.WEf!%;~Ol׍rL㧸/}l0 ٥9yTgARM-ƖPi'iO9°J +B B(##u\#+{ǩ=UJeJʁl}0"pw$ybO_k%O&JG=O2]PQp `3-RE {8<`˷P9aX!bA0}-ye+D}Nn)C|ׯUr=݈0vY|W3SoKEަY<?ssaIpVݒpxc1:m;m@_{?kj@BL4}\b8}~~~Iю½^feY"!8{q\uCXi~m|Pijw|Ug-x@G"KJHBx9=¯K{3)p?sbnq[͂88;N>SZ _@}wKLF r^qAEѓG>O}ʳwr̽,)߬.:A hL #{uu%`kghS˕{;0oK `DjBW˒8z@k/!g-1E88ų83.ul gٟ~'b }੿TT'}jRs^~~nL{ ^i/ȩy b˻A$wps}~Ҧ0 nO6!/`҈J)ma9&Ruis? RDf{9tcЦ72&l?7 nzݒ p@8="`{gҳWRI|o|M@>pB:X a0@ƨo8뇿~R"z)2tNLcUdX#,n7 . ) ۞ ݱ8,%--]N ܣscYHDΟ? XF31A0ip34'B(;xŷ7 @P(e,?D%qDzᒲ+7g#3{}6Wwٻ~1u~WW:,8Lu۾`Џ(Fm{8Q'sIVvaNf[E7C?0WO~o=s7n1xǘ=$"H߈ i_le#."8bfPj;ESk<ݟy- .TxSHӸf^7=Gx%f.eIfE&$}I `lń"D]@8 w!?FdoWF}"?xC$ioo{o9u+iYE8E>CTgqYp?&M`q7DNV[AԾcosNs-uξ:GxجㆷG 3&@ (2|p?|'y憤8 =B Ӥb(RFnEBaAi$ G3sӆD"R#zL ~(Dv*E%2E\n+ҪCm:Un.S>F-=*!$uMʈ$FuYŷ<m" TO2tK+ٰK?>A[@2@(Sx \x᥎Ïv0ܤFm=t|j_x?}O<.xT3li ~\ 0Ca|%2r8^MUΐWW-.R_b!3ND Fg:4!]?:?4Ϯ Ya٭IsPJLȻhZƯ鱸vKO[MVܷ߼+3E8xy"CTQq(UdBv@=;Cnfje>3JFi_;(aliOd@].2<[X&}Ah* e1 U|릯7H.!-PR, P(FWy6 Bt 5;m4;4u{m/l{ up(kO\;$,n些w:~V4(w-B6}xV)VU K!&Eq Cy+hЪi5~0J9()6ԧ6-6Ըzy-t=' '  ɀ!ә;ڽir r<8n ǭFq\sq`up\/wBCA a }l=;<%=/ 40~"DƝa=ހ# ΫyHM1EhbzT [|*|1SN0wfLdJoH~yM/+^n>sDx'gZY=ms?-\=_q?:4+\=_p4v5O6ZVF ݿY6i *=(@ 4myd{_k*^yNpZtA9vzK{u.mp鱧~kN)Y5KsOK+ˢK Y5| wB =2lgfl4&F@d-7ɿ=OPs3>~ӇfcJӮsB҄$o4N\|"$~J~PaIYzYay%M=xB}[GZa }5K_rn_cRfRZ*R-Q\f 4<0ܐ D!4ЏR7^O?-Lۨ$QvXr*xfX[0 +b-iXA<_<fGH  JY_cu!^85$$a}0$ ϕʳ~{e$ua!:|R@JML\yboMHRBhnlPXktDbœÚX{K %D_F7;)gcdF&F,Vd+Xue'Q* %",~S?]۱>L~+)7,|qh-/ /WҟR4 X&ܒE!yJ3ڥvֽ_܀9Ue V/0Ԁj!؉7/OMV\ yW5i}kT nŧzx:xD|iіD nIENDB`homebank-5.3.2/pixmaps/homebank.svg0000644000175000017500000007224612407562510014231 00000000000000 image/svg+xml Home Bank 16JUL06 Nathan M. Willard EN homebank-5.3.2/pixmaps/hicolor_apps_24x24_homebank.png0000644000175000017500000000267311330305272017612 00000000000000PNG  IHDRĴl;sBIT|d pHYsXXtEXtSoftwarewww.inkscape.org<tEXtTitleHome BanktEXtAuthorNathan M. WillardbdŒtEXtCreation Time16JUL06UIDAT8}]G{'=ٝK` ѬIH̅d5&A "anRJ/ԨUPP@bv3lYddzg{:Njnh,-1h19l'U]_itfg_^tJH"K݆/忟][n. >3n^1cb EP ^n_;r/~z7lEV2Fv/r#Q|c Fl~շݣlD9/Cg`K{ o쀗nװgZcm4M'/ru" =\ʿӳW/k~A:xTE>HOaEBQUPP"cE%f}ٙ0H{my澃i<1s%iCD|*zwlr]Z48=$cj}Qp%6E'@4PQ%e4HNsҢQݕZ9 dyʲ@(>x2, Ht@f驇*Ic{b0dYh4DT1G1IJ' }@Z)j"G#!hIk}\*˂,OqD$h'H@< g,d*-. (ye)Ad A45Y+{`PiȊTXU#Oа "c$ *`WQuYS弝_PqZt+ 2ƘNA\T7Э./[koٹ}ٔ3h6j;>M(T>-GQ<x?큛տ5e+heZ𗩖0+6O~Gw:`n^7 ׹HkD1*<$&갱['6cvӽգV/F(~euɋT B8'e}W?Ov@^M}*[K[ks+Yf4c C``tU LptL%M`gymܞ@:5c" *%@8 xpyU $췱AIENDB`homebank-5.3.2/pixmaps/hicolor_apps_48x48_homebank.png0000644000175000017500000001010411330305170017607 00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<tEXtTitleHome BanktEXtAuthorNathan M. WillardbdŒtEXtCreation Time16JUL06UaIDATh՚k]Wukם{!N 1J4A 4)i* TUADUm"PPJ7$$)B`8Ly{{9;c; ij9wsZ{QU?cJ;1{1Ɯf#2p9w97[Ǹ- ׸ńAS?~{4 >? Kex\0Ғ}6 ȝb__edM݃o4A`qeUZ:$M=sOVΟV#SO1ޗ|tvvw_B65 EU EAb߉ VeoԪg_3'0wl׿/&?K_@@L>?8PW\[LpDuiR_?Y}/qj$p!$`n#d?'QCĀx%xInb@k|~:*/=}{o}fls|wnۼpdkEyDrx.1z=dAAEa$i1iR3|2q#IEλa|ÓYn}}zW&W{oog6U(x8d704T "M/n,_faq>Fj5uKn'O]w |Z̏C;C+4!1|sٶ*QOQr"11 ;wѮ? Kw's'~mz;T'1־ d4#u'g>H F_κRbCf,,,*"֒$1]]}3r3ĺ2oi[¡mo9,1#O[*}=Cc;J_ YL .YV$MZQQUsYN0X.sn\=BoӇ|7'z}uCGWg+x +X89Qvﻅ~2gK'BZ1i{,-/c<*0c;n "Вw'zc 96G'($McؾN}U)wI:#zF{~\IϏ3xPZ'˲ JNkx-$# sx$ILu7p#S+w`k1vm}פrտ_ƥ/3Ɲ$MβZ]CDlv$iv]s~58x,q,aJ>bu}+/Im6^kP, MR]ĩ+"6hgPI-[{U6>}/_<$!ݿ<E̶QGeE=Ģ8gYZ^A8Ipùfw$m@Ae4M즚ބըxNz@%* _DPKkފҒT^MFrŶ)m,Èavn$T$bGX_Bk y*ǡM{:mrz]X?LOh @1"qֹH"-BNsRq033+C#Na~ă*6``t{8" Qk`\AU ;8p8ƹ\sII%.'uFAbvv[_>to1˱e[5; u+Gvms,.\ qeBTU,-xAA갅[ei edxx%Cz^XA%xA'Z[AUqY?Q`]S8,"&/ls._A"EXj5D $?;n\w;|KL?OR yDa_;|^gNgߧ%|̩o]wo=d |/ 5 11= f7r +[;3|n}o/ ^ƧݏV^\ ݽLf3; ՗ "oj3&Cof駖o~=~9߻ۺDOu`~1kܺE{ ƘbwNV/<ɦlDZ?y;_W}G^?=3 b w:V'}amFYdZ}O1ChfH^zj>a,1/pȐloLVIfJr-Nb(zSDYzg0Ҹ rDm~1;z.iYK)>;ݱ# 6._@v^'K @ZHRc 8 e=摮o{e80:(.}Mx7#./dv'_Bdu$ y(mjR}|htw{!1fͣvuu6wl:opE:3ͯoot/M6F ll ン xVuxP=0$A#ƨ}]$ Q I=?72>΃Ǿ ֻK7(]i /9گK"orku(7ox~z~lƁ249SO>~U߰%mve}($w ^۹)M]t`b%)~+V$0uڙL;3g_Z{0/kg_[߷>11B`41>\L*J}do{ۆJ k+Y񂍛'+i'o_17]a 1(buItɳϟfw7 ĸ56=5xmz{iPx4  XPuaav5sѸu1i~bW7v[=7[@iIr>D3 8]4Z%%A݃c{}nsoW;z.%;/+C+up;aGT#AAsdd'ز GLG_sۈ$ϠR>ݴ}*\oNDgsoRlA bQ8qݣc2m<V*{xk}Zi<'^k KMi[ |i<`.};o5z\8w^Egp L.gךyv{qcrXk w1b|Ko]L+ڽgݛT9@8f*s]Jc, cJ)k)"Xkox {6W*R:v^h\0iYsP 5v}uǸ2oɞ(U0  L5ܷbeY,ZN\W @f26\TsBZ#Qpvo߭_/pPfwg$IW 9sXk8ڭ6QR''r"A3MTZb\mtoՙ38D|haN'AJZUg-:<+0EqGYz_ub\m0br6`LJgC)n/e) T! ^-5  #-PLwR#1:Ir{,YJ'MZZyCf YGp^D3IW&e0>8Y  K+qJ{Ll.A%,wXbc@A% ըw7p[Yop8 ti%Jԃtg-Y4!Ib+\d%?l"̃8gNXQUD 0IiP5Kś"KgqYblJBVւ9)a,ֱ*R9*Tٮ#ҸmztLNsrNÈ4KPPBgBz:U tѦŢ~1I4@Y}֊B!/lRꋢSx95AH)5+ҴJ4Z G Fi/Nqe/(RTلU+Q/Not(B~?Ga'?m^*Ag8Qcq償0N0 BxG}O~ǪҎ90;yjƫ\^L0&Z% OiY2KC0;93v́U19ݜ{VwYl 1 @ _㡔}mȦ⺷Vgu_q0xrd%DWۇ_CkuZksdy*)Dt,œz{5w^`b\Q-zw]Wޫ83z/6i_"ChSh UtRO| щ3>v}VRJHCm!pqCv(Wza,Bt3<λO@1JћW7W 'o֖˶nΜA\bkuu eS'NͿZ?s@tYQQi(/\ݸo7]*EJ($$h^n.ϵzIJ\%`MT c_"M[ԮR4K$͖gyſpȀHKֈR i 9G+G sDR"ҾKIENDB`homebank-5.3.2/pixmaps/hicolor_apps_22x22_homebank.png0000644000175000017500000000267311330305272017606 00000000000000PNG  IHDRĴl;sBIT|d pHYsXXtEXtSoftwarewww.inkscape.org<tEXtTitleHome BanktEXtAuthorNathan M. WillardbdŒtEXtCreation Time16JUL06UIDAT8}]G{'=ٝK` ѬIH̅d5&A "anRJ/ԨUPP@bv3lYddzg{:Njnh,-1h19l'U]_itfg_^tJH"K݆/忟][n. >3n^1cb EP ^n_;r/~z7lEV2Fv/r#Q|c Fl~շݣlD9/Cg`K{ o쀗nװgZcm4M'/ru" =\ʿӳW/k~A:xTE>HOaEBQUPP"cE%f}ٙ0H{my澃i<1s%iCD|*zwlr]Z48=$cj}Qp%6E'@4PQ%e4HNsҢQݕZ9 dyʲ@(>x2, Ht@f驇*Ic{b0dYh4DT1G1IJ' }@Z)j"G#!hIk}\*˂,OqD$h'H@< g,d*-. (ye)Ad A45Y+{`PiȊTXU#Oа "c$ *`WQuYS弝_PqZt+ 2ƘNA\T7Э./[koٹ}ٔ3h6j;>M(T>-GQ<x?큛տ5e+heZ𗩖0+6O~Gw:`n^7 ׹HkD1*<$&갱['6cvӽգV/F(~euɋT B8'e}W?Ov@^M}*[K[ks+Yf4c C``tU LptL%M`gymܞ@:5c" *%@8 xpyU $췱AIENDB`homebank-5.3.2/NEWS0000644000175000017500000000024711023413024010716 00000000000000HomeBank -- Free, easy, personal accounting for everyone. --------------------------------------------------------- Every changes can be read in the ChangeLog file. homebank-5.3.2/configure0000775000175000017500000072006413606633330012153 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for homebank 5.3.2. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then _as_can_reexec=no; export _as_can_reexec; # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 as_fn_exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='homebank' PACKAGE_TARNAME='homebank' PACKAGE_VERSION='5.3.2' PACKAGE_STRING='homebank 5.3.2' PACKAGE_BUGREPORT='' PACKAGE_URL='' # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS GETTEXT_PACKAGE MKINSTALLDIRS POSUB POFILES PO_IN_DATADIR_FALSE PO_IN_DATADIR_TRUE INTLLIBS INSTOBJEXT GMOFILES DATADIRNAME CATOBJEXT CATALOGS MSGFMT_OPTS INTL_MACOSX_LIBS NOOFX_FALSE NOOFX_TRUE EGREP GREP CPP LIBSOUP_LIBS LIBSOUP_CFLAGS DEPS_LIBS DEPS_CFLAGS PKG_CONFIG_LIBDIR PKG_CONFIG_PATH PKG_CONFIG ALL_LINGUAS INTLTOOL_PERL GMSGFMT MSGFMT MSGMERGE XGETTEXT INTLTOOL_POLICY_RULE INTLTOOL_SERVICE_RULE INTLTOOL_THEME_RULE INTLTOOL_SCHEMAS_RULE INTLTOOL_CAVES_RULE INTLTOOL_XML_NOMERGE_RULE INTLTOOL_XML_RULE INTLTOOL_KBD_RULE INTLTOOL_XAM_RULE INTLTOOL_UI_RULE INTLTOOL_SOUNDLIST_RULE INTLTOOL_SHEET_RULE INTLTOOL_SERVER_RULE INTLTOOL_PONG_RULE INTLTOOL_OAF_RULE INTLTOOL_PROP_RULE INTLTOOL_KEYS_RULE INTLTOOL_DIRECTORY_RULE INTLTOOL_DESKTOP_RULE intltool__v_merge_options_0 intltool__v_merge_options_ INTLTOOL_V_MERGE_OPTIONS INTLTOOL__v_MERGE_0 INTLTOOL__v_MERGE_ INTLTOOL_V_MERGE INTLTOOL_EXTRACT INTLTOOL_MERGE INTLTOOL_UPDATE USE_NLS LN_S am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__include DEPDIR OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC AM_BACKSLASH AM_DEFAULT_VERBOSITY AM_DEFAULT_V AM_V am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir runstatedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL am__quote' ac_subst_files='' ac_user_opts=' enable_option_checking enable_silent_rules enable_dependency_tracking enable_nls with_ofx ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS PKG_CONFIG PKG_CONFIG_PATH PKG_CONFIG_LIBDIR DEPS_CFLAGS DEPS_LIBS LIBSOUP_CFLAGS LIBSOUP_LIBS CPP' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -runstatedir | --runstatedir | --runstatedi | --runstated \ | --runstate | --runstat | --runsta | --runst | --runs \ | --run | --ru | --r) ac_prev=runstatedir ;; -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ | --run=* | --ru=* | --r=*) runstatedir=$ac_optarg ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir runstatedir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures homebank 5.3.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/homebank] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of homebank 5.3.2:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-silent-rules less verbose build output (undo: "make V=1") --disable-silent-rules verbose build output (undo: "make V=0") --enable-dependency-tracking do not reject slow dependency extractors --disable-dependency-tracking speeds up one-time build --disable-nls do not use Native Language Support Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --without-ofx build without ofx support default=with Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory PKG_CONFIG path to pkg-config utility PKG_CONFIG_PATH directories to add to pkg-config's search path PKG_CONFIG_LIBDIR path overriding pkg-config's built-in search path DEPS_CFLAGS C compiler flags for DEPS, overriding pkg-config DEPS_LIBS linker flags for DEPS, overriding pkg-config LIBSOUP_CFLAGS C compiler flags for LIBSOUP, overriding pkg-config LIBSOUP_LIBS linker flags for LIBSOUP, overriding pkg-config CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to the package provider. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF homebank configure 5.3.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_c_check_type LINENO TYPE VAR INCLUDES # ------------------------------------------- # Tests whether TYPE exists after having included INCLUDES, setting cache # variable VAR accordingly. ac_fn_c_check_type () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=no" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof ($2)) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof (($2))) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else eval "$3=yes" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_type # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by homebank $as_me 5.3.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu #AC_INIT([homebank], [x.x-rc]) ac_config_headers="$ac_config_headers config.h" am__api_version='1.16' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # 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]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; 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". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 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 as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } # 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 rm -f conftest.file test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` 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= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi 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 # 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. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi 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 # Check whether --enable-silent-rules was given. if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi case $enable_silent_rules in # ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=1;; esac am_make=${MAKE-make} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 $as_echo_n "checking whether $am_make supports nested variables... " >&6; } if ${am_cv_make_support_nested_variables+:} false; then : $as_echo_n "(cached) " >&6 else 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 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 $as_echo "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AM_BACKSLASH='\' if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 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 # Define the identity of the package. PACKAGE='homebank' VERSION='5.3.2' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # mkdir_p='$(MKDIR_P)' # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. # Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AMTAR='$${TAR-tar}' # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar pax cpio none' am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' # 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 as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 fi fi # If the source code has changed at all, increment REVISION # If any interfaces have been added, removed, or changed, increment CURRENT, and set REVISION to 0. # If any interfaces have been added since the last public release, then increment AGE. # If any interfaces have been removed since the last public release, then set AGE to 0. # Reference: http://www.gnu.org/software/libtool/manual.html#Versioning # Checks for programs. ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 $as_echo_n "checking whether $CC understands -c and -o together... " >&6; } if ${am_cv_prog_cc_c_o+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF # 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 { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } \ && 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 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 $as_echo "$am_cv_prog_cc_c_o" >&6; } 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_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 $as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; } cat > confinc.mk << 'END' am__doit: @echo this is the am__doit target >confinc.out .PHONY: am__doit END am__include="#" am__quote= # BSD make does it like this. echo '.include "confinc.mk" # ignored' > confmf.BSD # Other make implementations (GNU, Solaris 10, AIX) do it like this. echo 'include confinc.mk # ignored' > confmf.GNU _am_result=no for s in GNU BSD; do { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } case $?:`cat confinc.out 2>/dev/null` in #( '0:this is the am__doit target') : case $s in #( BSD) : am__include='.include' am__quote='"' ;; #( *) : am__include='include' am__quote='' ;; esac ;; #( *) : ;; esac if test "$am__include" != "#"; then _am_result="yes ($s style)" break fi done rm -f confinc.* confmf.* { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 $as_echo "${_am_result}" >&6; } # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else 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_CC_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 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_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 $as_echo_n "checking whether NLS is requested... " >&6; } # Check whether --enable-nls was given. if test "${enable_nls+set}" = set; then : enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } case "$am__api_version" in 1.01234) as_fn_error $? "Automake 1.5 or newer is required to use intltool" "$LINENO" 5 ;; *) ;; esac INTLTOOL_REQUIRED_VERSION_AS_INT=`echo | 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 ""; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intltool >= " >&5 $as_echo_n "checking for intltool >= ... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_APPLIED_VERSION found" >&5 $as_echo "$INTLTOOL_APPLIED_VERSION found" >&6; } test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || as_fn_error $? "Your intltool is too old. You need intltool or later." "$LINENO" 5 fi # Extract the first word of "intltool-update", so it can be a program name with args. set dummy intltool-update; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_INTLTOOL_UPDATE+:} false; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_UPDATE in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_UPDATE="$INTLTOOL_UPDATE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_UPDATE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_UPDATE=$ac_cv_path_INTLTOOL_UPDATE if test -n "$INTLTOOL_UPDATE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_UPDATE" >&5 $as_echo "$INTLTOOL_UPDATE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "intltool-merge", so it can be a program name with args. set dummy intltool-merge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_INTLTOOL_MERGE+:} false; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_MERGE in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_MERGE="$INTLTOOL_MERGE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_MERGE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_MERGE=$ac_cv_path_INTLTOOL_MERGE if test -n "$INTLTOOL_MERGE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_MERGE" >&5 $as_echo "$INTLTOOL_MERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "intltool-extract", so it can be a program name with args. set dummy intltool-extract; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_INTLTOOL_EXTRACT+:} false; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_EXTRACT in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_EXTRACT="$INTLTOOL_EXTRACT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_EXTRACT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_EXTRACT=$ac_cv_path_INTLTOOL_EXTRACT if test -n "$INTLTOOL_EXTRACT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_EXTRACT" >&5 $as_echo "$INTLTOOL_EXTRACT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then as_fn_error $? "The intltool scripts were not found. Please install intltool." "$LINENO" 5 fi if test -z "$AM_DEFAULT_VERBOSITY"; then AM_DEFAULT_VERBOSITY=1 fi INTLTOOL_V_MERGE='$(INTLTOOL__v_MERGE_$(V))' INTLTOOL__v_MERGE_='$(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY))' INTLTOOL__v_MERGE_0='@echo " ITMRG " $@;' 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' 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 $< $@' # Check the gettext tools to make sure they are GNU # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_XGETTEXT+:} false; then : $as_echo_n "(cached) " >&6 else case $XGETTEXT in [\\/]* | ?:[\\/]*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_XGETTEXT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi XGETTEXT=$ac_cv_path_XGETTEXT if test -n "$XGETTEXT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 $as_echo "$XGETTEXT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGMERGE+:} false; then : $as_echo_n "(cached) " >&6 else case $MSGMERGE in [\\/]* | ?:[\\/]*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_MSGMERGE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi MSGMERGE=$ac_cv_path_MSGMERGE if test -n "$MSGMERGE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 $as_echo "$MSGMERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case $MSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_MSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi MSGFMT=$ac_cv_path_MSGFMT if test -n "$MSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GMSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 $as_echo "$GMSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then as_fn_error $? "GNU gettext tools not found; required for intltool" "$LINENO" 5 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 as_fn_error $? "GNU gettext tools not found; required for intltool" "$LINENO" 5 fi # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_INTLTOOL_PERL+:} false; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_PERL in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_PERL="$INTLTOOL_PERL" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_PERL="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_PERL=$ac_cv_path_INTLTOOL_PERL if test -n "$INTLTOOL_PERL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_PERL" >&5 $as_echo "$INTLTOOL_PERL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$INTLTOOL_PERL"; then as_fn_error $? "perl not found" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for perl >= 5.8.1" >&5 $as_echo_n "checking for perl >= 5.8.1... " >&6; } $INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 if test $? -ne 0; then as_fn_error $? "perl 5.8.1 is required for intltool" "$LINENO" 5 else IT_PERL_VERSION=`$INTLTOOL_PERL -e "printf '%vd', $^V"` { $as_echo "$as_me:${as_lineno-$LINENO}: result: $IT_PERL_VERSION" >&5 $as_echo "$IT_PERL_VERSION" >&6; } fi if test "x" != "xno-xml"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XML::Parser" >&5 $as_echo_n "checking for XML::Parser... " >&6; } if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } else as_fn_error $? "XML::Parser perl module is required for intltool" "$LINENO" 5 fi fi # Substitute ALL_LINGUAS so we can use it in po/Makefile # Checks for libraries. if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 $as_echo "$PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 $as_echo "$ac_pt_PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } PKG_CONFIG="" fi fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DEPS" >&5 $as_echo_n "checking for DEPS... " >&6; } if test -n "$DEPS_CFLAGS"; then pkg_cv_DEPS_CFLAGS="$DEPS_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= 3.16 glib-2.0 >= 2.39\""; } >&5 ($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= 3.16 glib-2.0 >= 2.39") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_DEPS_CFLAGS=`$PKG_CONFIG --cflags "gtk+-3.0 >= 3.16 glib-2.0 >= 2.39" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$DEPS_LIBS"; then pkg_cv_DEPS_LIBS="$DEPS_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= 3.16 glib-2.0 >= 2.39\""; } >&5 ($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= 3.16 glib-2.0 >= 2.39") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_DEPS_LIBS=`$PKG_CONFIG --libs "gtk+-3.0 >= 3.16 glib-2.0 >= 2.39" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then DEPS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gtk+-3.0 >= 3.16 glib-2.0 >= 2.39" 2>&1` else DEPS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gtk+-3.0 >= 3.16 glib-2.0 >= 2.39" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$DEPS_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (gtk+-3.0 >= 3.16 glib-2.0 >= 2.39) were not met: $DEPS_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables DEPS_CFLAGS and DEPS_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "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. Alternatively, you may set the environment variables DEPS_CFLAGS and DEPS_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else DEPS_CFLAGS=$pkg_cv_DEPS_CFLAGS DEPS_LIBS=$pkg_cv_DEPS_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pow in -lm" >&5 $as_echo_n "checking for pow in -lm... " >&6; } if ${ac_cv_lib_m_pow+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pow (); int main () { return pow (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_m_pow=yes else ac_cv_lib_m_pow=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_pow" >&5 $as_echo "$ac_cv_lib_m_pow" >&6; } if test "x$ac_cv_lib_m_pow" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBM 1 _ACEOF LIBS="-lm $LIBS" fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBSOUP" >&5 $as_echo_n "checking for LIBSOUP... " >&6; } if test -n "$LIBSOUP_CFLAGS"; then pkg_cv_LIBSOUP_CFLAGS="$LIBSOUP_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsoup-2.4 >= 2.26\""; } >&5 ($PKG_CONFIG --exists --print-errors "libsoup-2.4 >= 2.26") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBSOUP_CFLAGS=`$PKG_CONFIG --cflags "libsoup-2.4 >= 2.26" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$LIBSOUP_LIBS"; then pkg_cv_LIBSOUP_LIBS="$LIBSOUP_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsoup-2.4 >= 2.26\""; } >&5 ($PKG_CONFIG --exists --print-errors "libsoup-2.4 >= 2.26") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBSOUP_LIBS=`$PKG_CONFIG --libs "libsoup-2.4 >= 2.26" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then LIBSOUP_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libsoup-2.4 >= 2.26" 2>&1` else LIBSOUP_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libsoup-2.4 >= 2.26" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LIBSOUP_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (libsoup-2.4 >= 2.26) were not met: $LIBSOUP_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables LIBSOUP_CFLAGS and LIBSOUP_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "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. Alternatively, you may set the environment variables LIBSOUP_CFLAGS and LIBSOUP_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else LIBSOUP_CFLAGS=$pkg_cv_LIBSOUP_CFLAGS LIBSOUP_LIBS=$pkg_cv_LIBSOUP_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi # general usage flags CFLAGS="${CFLAGS} -Wall -Wmissing-prototypes" # disable deprecated warnings CFLAGS="${CFLAGS} -Wno-deprecated-declarations" # extended flags #CFLAGS="${CFLAGS} -Wextra -Wno-unused-parameter -Wno-cast-function-type" # profiling valgrind/gprof flags #CFLAGS="${CFLAGS} -g -O0 -pg" # pre-relase # 2 - error as warning for #CFLAGS="${CFLAGS} -Werror" # gtk3 migration #CFLAGS="${CFLAGS} -DGTK_DISABLE_SINGLE_INCLUDES -DGSEAL_ENABLE" # GLib/Gtk deprecated flags #CFLAGS="${CFLAGS} -DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED" # Check for libofx ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done ac_fn_c_check_header_mongrel "$LINENO" "libofx/libofx.h" "ac_cv_header_libofx_libofx_h" "$ac_includes_default" if test "x$ac_cv_header_libofx_libofx_h" = xyes; then : else noofx=true fi # Check whether --with-ofx was given. if test "${with_ofx+set}" = set; then : withval=$with_ofx; build_ofx=$withval else build_ofx=yes fi if test x$build_ofx != xno then if test x$noofx != xtrue then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ofx_set_status_cb in -lofx" >&5 $as_echo_n "checking for ofx_set_status_cb in -lofx... " >&6; } if ${ac_cv_lib_ofx_ofx_set_status_cb+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lofx $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char ofx_set_status_cb (); int main () { return ofx_set_status_cb (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_ofx_ofx_set_status_cb=yes else ac_cv_lib_ofx_ofx_set_status_cb=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ofx_ofx_set_status_cb" >&5 $as_echo "$ac_cv_lib_ofx_ofx_set_status_cb" >&6; } if test "x$ac_cv_lib_ofx_ofx_set_status_cb" = xyes; then : OFX_0_7="-DOFX_ENABLE" fi DEPS_LIBS="-lofx ${DEPS_LIBS}" CFLAGS="${CFLAGS} $OFX_0_7" else noofx=true { $as_echo "$as_me:${as_lineno-$LINENO}: result: Libofx header missing. Check your libofx installation" >&5 $as_echo "Libofx header missing. Check your libofx installation" >&6; } CFLAGS="${CFLAGS} -DNOOFX" fi else noofx=true CFLAGS="${CFLAGS} -DNOOFX" fi if test x$noofx = xtrue; then NOOFX_TRUE= NOOFX_FALSE='#' else NOOFX_TRUE='#' NOOFX_FALSE= fi # Checks for header files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi for ac_header in libintl.h locale.h stdlib.h string.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done # Checks for typedefs, structures, and compiler characteristics. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 $as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } if ${ac_cv_header_stdbool_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifndef bool "error: bool is not defined" #endif #ifndef false "error: false is not defined" #endif #if false "error: false is not 0" #endif #ifndef true "error: true is not defined" #endif #if true != 1 "error: true is not 1" #endif #ifndef __bool_true_false_are_defined "error: __bool_true_false_are_defined is not defined" #endif struct s { _Bool s: 1; _Bool t; } s; char a[true == 1 ? 1 : -1]; char b[false == 0 ? 1 : -1]; char c[__bool_true_false_are_defined == 1 ? 1 : -1]; char d[(bool) 0.5 == true ? 1 : -1]; /* See body of main program for 'e'. */ char f[(_Bool) 0.0 == false ? 1 : -1]; char g[true]; char h[sizeof (_Bool)]; char i[sizeof s.t]; enum { j = false, k = true, l = false * true, m = true * 256 }; /* The following fails for HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ _Bool n[m]; char o[sizeof n == m * sizeof n[0] ? 1 : -1]; char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; /* Catch a bug in an HP-UX C compiler. See http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html */ _Bool q = true; _Bool *pq = &q; int main () { bool e = &s; *pq |= q; *pq |= ! q; /* Refer to every declared value, to avoid compiler optimizations. */ return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + !m + !n + !o + !p + !q + !pq); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdbool_h=yes else ac_cv_header_stdbool_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 $as_echo "$ac_cv_header_stdbool_h" >&6; } ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" if test "x$ac_cv_type__Bool" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE__BOOL 1 _ACEOF fi if test $ac_cv_header_stdbool_h = yes; then $as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } if ${ac_cv_c_const+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __cplusplus /* Ultrix mips cc rejects this sort of thing. */ typedef int charset[2]; const charset cs = { 0, 0 }; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; /* AIX XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; pcpcc = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; { /* SCO 3.2v4 cc rejects this sort of thing. */ char tx; char *t = &tx; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; if (s) return 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; const int *foo = &x[0]; ++foo; } { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ typedef const int *iptr; iptr p = 0; ++p; } { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; } bx; struct s *b = &bx; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; if (!foo) return 0; } return !cs[0] && !zero.x; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_const=yes else ac_cv_c_const=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 $as_echo "$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then $as_echo "#define const /**/" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { struct tm tm; int *p = &tm.tm_sec; return !p; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_struct_tm=time.h else ac_cv_struct_tm=sys/time.h fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 $as_echo "$ac_cv_struct_tm" >&6; } if test $ac_cv_struct_tm = sys/time.h; then $as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working volatile" >&5 $as_echo_n "checking for working volatile... " >&6; } if ${ac_cv_c_volatile+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { volatile int x; int * volatile y = (int *) 0; return !x && !y; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_volatile=yes else ac_cv_c_volatile=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_volatile" >&5 $as_echo "$ac_cv_c_volatile" >&6; } if test $ac_cv_c_volatile = no; then $as_echo "#define volatile /**/" >>confdefs.h fi # Checks for library functions. for ac_func in floor localeconv memset modf pow setlocale sqrt strcasecmp strtoul do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done # International support ALL_LINGUAS="af ar ast be bg br ca ckb cs cy da de el en_AU en_CA en_GB es et eu fa fi fr gl he hr hu id is it ja ka ko lt lv ms nb nds nl oc pl pt_BR pt pt_PT ro ru si sk sl sr sv tr uk vi zh_CN zh_TW" for ac_header in locale.h do : ac_fn_c_check_header_mongrel "$LINENO" "locale.h" "ac_cv_header_locale_h" "$ac_includes_default" if test "x$ac_cv_header_locale_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LOCALE_H 1 _ACEOF fi done if test $ac_cv_header_locale_h = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5 $as_echo_n "checking for LC_MESSAGES... " >&6; } if ${am_cv_val_LC_MESSAGES+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { return LC_MESSAGES ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_val_LC_MESSAGES=yes else am_cv_val_LC_MESSAGES=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_val_LC_MESSAGES" >&5 $as_echo "$am_cv_val_LC_MESSAGES" >&6; } if test $am_cv_val_LC_MESSAGES = yes; then $as_echo "#define HAVE_LC_MESSAGES 1" >>confdefs.h fi fi USE_NLS=yes gt_cv_have_gettext=no CATOBJEXT=NONE XGETTEXT=: INTLLIBS= { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 $as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { CFPreferencesCopyAppValue(NULL, NULL) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFPreferencesCopyAppValue=yes else gt_cv_func_CFPreferencesCopyAppValue=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 $as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then $as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 $as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { CFLocaleCopyCurrent(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFLocaleCopyCurrent=yes else gt_cv_func_CFLocaleCopyCurrent=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 $as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } if test $gt_cv_func_CFLocaleCopyCurrent = yes; then $as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h 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_fn_c_check_header_mongrel "$LINENO" "libintl.h" "ac_cv_header_libintl_h" "$ac_includes_default" if test "x$ac_cv_header_libintl_h" = xyes; then : gt_cv_func_dgettext_libintl="no" libintl_extra_libs="" # # First check in libc # { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in libc" >&5 $as_echo_n "checking for ngettext in libc... " >&6; } if ${gt_cv_func_ngettext_libc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { return !ngettext ("","", 1) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_ngettext_libc=yes else gt_cv_func_ngettext_libc=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_ngettext_libc" >&5 $as_echo "$gt_cv_func_ngettext_libc" >&6; } if test "$gt_cv_func_ngettext_libc" = "yes" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgettext in libc" >&5 $as_echo_n "checking for dgettext in libc... " >&6; } if ${gt_cv_func_dgettext_libc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { return !dgettext ("","") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_dgettext_libc=yes else gt_cv_func_dgettext_libc=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_dgettext_libc" >&5 $as_echo "$gt_cv_func_dgettext_libc" >&6; } fi if test "$gt_cv_func_ngettext_libc" = "yes" ; then for ac_func in bind_textdomain_codeset do : ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset" if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_BIND_TEXTDOMAIN_CODESET 1 _ACEOF fi done 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 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bindtextdomain in -lintl" >&5 $as_echo_n "checking for bindtextdomain in -lintl... " >&6; } if ${ac_cv_lib_intl_bindtextdomain+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char bindtextdomain (); int main () { return bindtextdomain (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_bindtextdomain=yes else ac_cv_lib_intl_bindtextdomain=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_bindtextdomain" >&5 $as_echo "$ac_cv_lib_intl_bindtextdomain" >&6; } if test "x$ac_cv_lib_intl_bindtextdomain" = xyes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in -lintl" >&5 $as_echo_n "checking for ngettext in -lintl... " >&6; } if ${ac_cv_lib_intl_ngettext+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char ngettext (); int main () { return ngettext (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_ngettext=yes else ac_cv_lib_intl_ngettext=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_ngettext" >&5 $as_echo "$ac_cv_lib_intl_ngettext" >&6; } if test "x$ac_cv_lib_intl_ngettext" = xyes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgettext in -lintl" >&5 $as_echo_n "checking for dgettext in -lintl... " >&6; } if ${ac_cv_lib_intl_dgettext+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dgettext (); int main () { return dgettext (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_dgettext=yes else ac_cv_lib_intl_dgettext=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_dgettext" >&5 $as_echo "$ac_cv_lib_intl_dgettext" >&6; } if test "x$ac_cv_lib_intl_dgettext" = xyes; then : gt_cv_func_dgettext_libintl=yes fi fi fi if test "$gt_cv_func_dgettext_libintl" != "yes" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -liconv is needed to use gettext" >&5 $as_echo_n "checking if -liconv is needed to use gettext... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in -lintl" >&5 $as_echo_n "checking for ngettext in -lintl... " >&6; } if ${ac_cv_lib_intl_ngettext+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl -liconv $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char ngettext (); int main () { return ngettext (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_ngettext=yes else ac_cv_lib_intl_ngettext=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_ngettext" >&5 $as_echo "$ac_cv_lib_intl_ngettext" >&6; } if test "x$ac_cv_lib_intl_ngettext" = xyes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dcgettext in -lintl" >&5 $as_echo_n "checking for dcgettext in -lintl... " >&6; } if ${ac_cv_lib_intl_dcgettext+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl -liconv $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dcgettext (); int main () { return dcgettext (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_dcgettext=yes else ac_cv_lib_intl_dcgettext=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_dcgettext" >&5 $as_echo "$ac_cv_lib_intl_dcgettext" >&6; } if test "x$ac_cv_lib_intl_dcgettext" = xyes; then : gt_cv_func_dgettext_libintl=yes libintl_extra_libs=-liconv else : fi else : fi 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 for ac_func in bind_textdomain_codeset do : ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset" if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_BIND_TEXTDOMAIN_CODESET 1 _ACEOF fi done 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 $as_echo "#define HAVE_GETTEXT 1" >>confdefs.h # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case "$MSGFMT" in /*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then ac_cv_path_MSGFMT="$ac_dir/$ac_word" break fi fi done IFS="$ac_save_ifs" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="no" ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != "no"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "$MSGFMT" != "no"; then glib_save_LIBS="$LIBS" LIBS="$LIBS $INTLLIBS" for ac_func in dcgettext do : ac_fn_c_check_func "$LINENO" "dcgettext" "ac_cv_func_dcgettext" if test "x$ac_cv_func_dcgettext" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_DCGETTEXT 1 _ACEOF fi done MSGFMT_OPTS= { $as_echo "$as_me:${as_lineno-$LINENO}: checking if msgfmt accepts -c" >&5 $as_echo_n "checking if msgfmt accepts -c... " >&6; } cat >conftest.foo <<_ACEOF 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" _ACEOF if { { $as_echo "$as_me:${as_lineno-$LINENO}: \$MSGFMT -c -o /dev/null conftest.foo"; } >&5 ($MSGFMT -c -o /dev/null conftest.foo) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then MSGFMT_OPTS=-c; { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } echo "$as_me: failed input was:" >&5 sed 's/^/| /' conftest.foo >&5 fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GMSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 $as_echo "$GMSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_XGETTEXT+:} false; then : $as_echo_n "(cached) " >&6 else case "$XGETTEXT" in /*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then ac_cv_path_XGETTEXT="$ac_dir/$ac_word" break fi fi done IFS="$ac_save_ifs" test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" ;; esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 $as_echo "$XGETTEXT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : CATOBJEXT=.gmo DATADIRNAME=share else case $host in *-*-solaris*) ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset" if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then : CATOBJEXT=.gmo DATADIRNAME=share else CATOBJEXT=.mo DATADIRNAME=lib fi ;; *-*-openbsd*) CATOBJEXT=.mo DATADIRNAME=share ;; *) CATOBJEXT=.mo DATADIRNAME=lib ;; esac fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$glib_save_LIBS" INSTOBJEXT=.mo else gt_cv_have_gettext=no fi fi fi if test "$gt_cv_have_gettext" = "yes" ; then $as_echo "#define ENABLE_NLS 1" >>confdefs.h fi if test "$XGETTEXT" != ":"; then if $XGETTEXT --omit-header /dev/null 2> /dev/null; then : ; else { $as_echo "$as_me:${as_lineno-$LINENO}: result: found xgettext program is not GNU xgettext; ignore it" >&5 $as_echo "found xgettext program is not GNU xgettext; ignore it" >&6; } XGETTEXT=":" fi fi # We need to process the po/ directory. POSUB=po ac_config_commands="$ac_config_commands default-1" for lang in $ALL_LINGUAS; do GMOFILES="$GMOFILES $lang.gmo" POFILES="$POFILES $lang.po" done if test "$gt_cv_have_gettext" = "yes"; then if test "x$ALL_LINGUAS" = "x"; then LINGUAS= else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for catalogs to be installed" >&5 $as_echo_n "checking for catalogs to be installed... " >&6; } 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 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LINGUAS" >&5 $as_echo "$LINGUAS" >&6; } fi if test -n "$LINGUAS"; then for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done fi fi MKINSTALLDIRS= if test -n "$ac_aux_dir"; then MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" fi if test -z "$MKINSTALLDIRS"; then MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" fi 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 GETTEXT_PACKAGE=$PACKAGE cat >>confdefs.h <<_ACEOF #define GETTEXT_PACKAGE "${GETTEXT_PACKAGE}" _ACEOF ac_config_files="$ac_config_files Makefile src/Makefile data/homebank.desktop.in data/Makefile data/datas/Makefile images/Makefile mime/Makefile pixmaps/Makefile themes/Makefile themes/hicolor/Makefile po/Makefile.in doc/Makefile doc/images/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs { $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 $as_echo_n "checking that generated files are newer than configure... " >&6; } if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 $as_echo "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi ac_config_commands="$ac_config_commands po/stamp-it" if test -z "${NOOFX_TRUE}" && test -z "${NOOFX_FALSE}"; then as_fn_error $? "conditional \"NOOFX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by homebank $as_me 5.3.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ homebank config.status 5.3.2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "data/homebank.desktop.in") CONFIG_FILES="$CONFIG_FILES data/homebank.desktop.in" ;; "data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;; "data/datas/Makefile") CONFIG_FILES="$CONFIG_FILES data/datas/Makefile" ;; "images/Makefile") CONFIG_FILES="$CONFIG_FILES images/Makefile" ;; "mime/Makefile") CONFIG_FILES="$CONFIG_FILES mime/Makefile" ;; "pixmaps/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/Makefile" ;; "themes/Makefile") CONFIG_FILES="$CONFIG_FILES themes/Makefile" ;; "themes/hicolor/Makefile") CONFIG_FILES="$CONFIG_FILES themes/hicolor/Makefile" ;; "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; "doc/images/Makefile") CONFIG_FILES="$CONFIG_FILES doc/images/Makefile" ;; "po/stamp-it") CONFIG_COMMANDS="$CONFIG_COMMANDS po/stamp-it" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_tt=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_tt"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _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" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # 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. # TODO: see whether this extra hack can be removed once we start # requiring Autoconf 2.70 or later. case $CONFIG_FILES in #( *\'*) : eval set x "$CONFIG_FILES" ;; #( *) : set x $CONFIG_FILES ;; #( *) : ;; esac shift # Used to flag and report bootstrapping failures. am_rc=0 for am_mf do # Strip MF so we end up with the name of the file. am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile which includes # dependency-tracking related rules and includes. # Grep'ing the whole file directly is not great: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ || continue am_dirpart=`$as_dirname -- "$am_mf" || $as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$am_mf" : 'X\(//\)[^/]' \| \ X"$am_mf" : 'X\(//\)$' \| \ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$am_mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` am_filepart=`$as_basename -- "$am_mf" || $as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ X"$am_mf" : 'X\(//\)$' \| \ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$am_mf" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` { echo "$as_me:$LINENO: cd "$am_dirpart" \ && sed -e '/# am--include-marker/d' "$am_filepart" \ | $MAKE -f - am--depfiles" >&5 (cd "$am_dirpart" \ && sed -e '/# am--include-marker/d' "$am_filepart" \ | $MAKE -f - am--depfiles) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } || am_rc=$? done if test $am_rc -ne 0; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "Something went wrong bootstrapping makefile fragments for automatic dependency tracking. Try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking). See \`config.log' for more details" "$LINENO" 5; } fi { am_dirpart=; unset am_dirpart;} { am_filepart=; unset am_filepart;} { am_mf=; unset am_mf;} { am_rc=; unset am_rc;} rm -f conftest-deps.mk } ;; "default-1":C) case "$CONFIG_FILES" in *po/Makefile.in*) sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile esac ;; "po/stamp-it":C) if ! grep "^# INTLTOOL_MAKEFILE$" "po/Makefile.in" > /dev/null ; then as_fn_error $? "po/Makefile.in.in was not created by intltoolize." "$LINENO" 5 fi rm -f "po/stamp-it" "po/stamp-it.tmp" "po/POTFILES" "po/Makefile.tmp" >"po/stamp-it.tmp" sed '/^#/d s/^[[].*] *// /^[ ]*$/d '"s|^| $ac_top_srcdir/|" \ "$srcdir/po/POTFILES.in" | sed '$!s/$/ \\/' >"po/POTFILES" sed '/^POTFILES =/,/[^\\]$/ { /^POTFILES =/!d r po/POTFILES } ' "po/Makefile.in" >"po/Makefile" rm -f "po/Makefile.tmp" mv "po/stamp-it.tmp" "po/stamp-it" ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi # ************************************* # ************************************* echo echo $PACKAGE $VERSION echo echo Compiler................ : $CC echo Build with OFX support.. : $build_ofx if test "x$noofx" = "xtrue" ; then echo ........................ : **error** libofx header is missing, ofx feature will be disabled. Check your libofx installation fi eval eval echo Path to images.......... : $datadir/homebank/images eval eval echo Path to locale.......... : $datadir/locale eval eval echo Path to help............ : $datadir/homebank/help echo eval eval echo HomeBank will be installed in $bindir. echo echo configure complete, now type \'make\' echo homebank-5.3.2/INSTALL0000664000175000017500000002245011413604274011266 00000000000000Installation Instructions ************************* Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. 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. 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. 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. 6. Often, you can also type `make uninstall' to remove the installed files again. 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 `..'. 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. 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'. 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. 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' 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 the options to `configure', and exit. `--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. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. homebank-5.3.2/config.guess0000755000175000017500000012605111023413026012543 00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. timestamp='2006-02-23' # This file 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. # # 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 Per Bothner . # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # The plan is that this can be called by configure scripts if you # don't specify an explicit build system type. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 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." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep __ELF__ >/dev/null then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerppc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm:riscos:*:*|arm:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[45]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep __LP64__ >/dev/null then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:MSYS_NT-*:*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; x86:Interix*:[345]*) echo i586-pc-interix${UNAME_RELEASE} exit ;; EM64T:Interix*:[345]*) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo crisv32-axis-linux-gnu exit ;; frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips #undef mipsel #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mipsel #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips #else CPU= #endif #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips64 #undef mips64el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mips64el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips64 #else CPU= #endif #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent # problems with other programs or directories called `ld' in the path. # Set LC_ALL=C to ensure ld outputs messages in English. ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ | sed -ne '/supported targets:/!d s/[ ][ ]*/ /g s/.*supported targets: *// s/ .*// p'` case "$ld_supported_targets" in elf32-i386) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" exit ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. echo "${UNAME_MACHINE}-pc-linux-gnuoldld" exit ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 LIBC=gnu # else LIBC=gnulibc1 # endif # else LIBC=gnulibc1 # endif #else #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__sun) LIBC=gnu #else LIBC=gnuaout #endif #endif #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^LIBC/{ s: ::g p }'`" test x"${LIBC}" != x && { echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit } test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i386. echo i386-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: homebank-5.3.2/src/0000775000175000017500000000000013620077506011105 500000000000000homebank-5.3.2/src/ui-payee.c0000644000175000017500000014536113604720365012717 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "ui-payee.h" #include "ui-category.h" #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static GtkWidget * container_get_nth(GtkBox *container, gint nth) { GList *lchild, *list; GtkWidget *child; if(!GTK_IS_CONTAINER(container)) return NULL; lchild = list = gtk_container_get_children (GTK_CONTAINER(container)); child = g_list_nth_data (list, nth); g_list_free(lchild); return child; } GtkWidget * ui_pay_entry_popover_get_entry(GtkBox *box) { return container_get_nth(box, 0); } Payee *ui_pay_entry_popover_get(GtkBox *box) { GtkWidget *entry; gchar *name; Payee *item = NULL; DB( g_print ("ui_pay_entry_popover_get()\n") ); entry = container_get_nth(box, 0); if( entry != NULL && GTK_IS_ENTRY(entry) ) { name = (gchar *)gtk_entry_get_text(GTK_ENTRY (entry)); item = da_pay_get_by_name(name); } return item; } guint32 ui_pay_entry_popover_get_key_add_new(GtkBox *box) { Payee *item = ui_pay_entry_popover_get(box); GtkWidget *entry; GtkTreeModel *store; if( item == NULL ) { /* automatic add */ //todo: check prefs + ask the user here 1st time entry = container_get_nth(box, 0); if( entry != NULL && GTK_IS_ENTRY(entry) ) { item = da_pay_malloc(); item->name = g_strdup(gtk_entry_get_text(GTK_ENTRY (entry))); da_pay_append(item); store = gtk_entry_completion_get_model(gtk_entry_get_completion(GTK_ENTRY(entry))); if( store ) gtk_list_store_insert_with_values(GTK_LIST_STORE(store), NULL, -1, 0, item->name, -1); } } return item->key; } guint32 ui_pay_entry_popover_get_key(GtkBox *box) { Payee *item = ui_pay_entry_popover_get(box); return ((item != NULL) ? item->key : 0); } void ui_pay_entry_popover_set_active(GtkBox *box, guint32 key) { GtkWidget *entry; DB( g_print ("ui_pay_comboboxentry_set_active()\n") ); entry = container_get_nth(box, 0); if( entry != NULL && GTK_IS_ENTRY(entry) ) { Payee *item = da_pay_get(key); hbtk_entry_set_text(GTK_ENTRY(entry), item != NULL ? item->name : ""); } } static void ui_pay_entry_popover_cb_row_activated(GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data) { GtkTreeSelection *treeselection; GtkTreeModel *model; GtkTreeIter iter; GtkEntry *entry = user_data; if( GTK_IS_ENTRY(entry) ) { treeselection = gtk_tree_view_get_selection(tree_view); if( gtk_tree_selection_get_selected(treeselection, &model, &iter) ) { gchar *item; gtk_tree_model_get(model, &iter, 0, &item, -1); gtk_entry_set_text(GTK_ENTRY(user_data), item); g_free(item); } } } static void ui_pay_entry_popover_populate(GtkListStore *store) { GHashTableIter hiter; gpointer key, value; g_hash_table_iter_init (&hiter, GLOBALS->h_pay); while (g_hash_table_iter_next (&hiter, &key, &value)) { Payee *item = value; gtk_list_store_insert_with_values(GTK_LIST_STORE(store), NULL, -1, 0, item->name, -1); } gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING); } static void ui_pay_entry_popover_function (GtkEditable *editable, gpointer user_data) { DB( g_print("text changed to %s\n", gtk_entry_get_text(GTK_ENTRY(editable)) ) ); } static void ui_pay_entry_popover_cb_toggled (GtkToggleButton *togglebutton, gpointer user_data) { GtkWidget *entry = user_data; GtkAllocation allocation; GtkPopover *popover; if(GTK_IS_ENTRY(entry)) { gtk_widget_get_allocation (entry, &allocation); popover = gtk_menu_button_get_popover(GTK_MENU_BUTTON(togglebutton)); if(GTK_IS_POPOVER(popover)) { gtk_widget_set_size_request (GTK_WIDGET(popover), allocation.width + (2*SPACING_POPOVER), -1); DB( g_print("should set width to %d\n", allocation.width + (2*SPACING_POPOVER)) ); } } } static gint ui_pay_entry_popover_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { gint retval = 0; gchar *name1, *name2; gtk_tree_model_get(model, a, 0, &name1, -1); gtk_tree_model_get(model, b, 0, &name2, -1); retval = hb_string_utf8_compare(name1, name2); g_free(name2); g_free(name1); return retval; } static void ui_pay_entry_popover_destroy( GtkWidget *widget, gpointer user_data ) { DB( g_print ("[pay entry popover] destroy\n") ); } GtkWidget * ui_pay_entry_popover_new(GtkWidget *label) { GtkWidget *mainbox, *box, *entry, *menubutton, *image, *popover, *scrollwin, *treeview; GtkListStore *store; GtkEntryCompletion *completion; DB( g_print ("[pay entry popover] new\n") ); mainbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET(mainbox)), GTK_STYLE_CLASS_LINKED); entry = gtk_entry_new(); gtk_box_pack_start(GTK_BOX(mainbox), entry, TRUE, TRUE, 0); menubutton = gtk_menu_button_new (); //data->MB_template = menubutton; image = gtk_image_new_from_icon_name ("pan-down-symbolic", GTK_ICON_SIZE_BUTTON); gtk_container_add(GTK_CONTAINER(menubutton), image); gtk_menu_button_set_direction (GTK_MENU_BUTTON(menubutton), GTK_ARROW_LEFT ); //gtk_widget_set_halign (menubutton, GTK_ALIGN_END); gtk_box_pack_start(GTK_BOX(mainbox), menubutton, FALSE, FALSE, 0); completion = gtk_entry_completion_new (); gtk_entry_set_completion (GTK_ENTRY (entry), completion); g_object_unref(completion); store = gtk_list_store_new (1, G_TYPE_STRING ); gtk_tree_sortable_set_default_sort_func(GTK_TREE_SORTABLE(store), ui_pay_entry_popover_compare_func, NULL, NULL); ui_pay_entry_popover_populate(store); gtk_entry_completion_set_model (completion, GTK_TREE_MODEL(store)); g_object_unref(store); gtk_entry_completion_set_text_column (completion, 0); gtk_widget_show_all(mainbox); box = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING_MEDIUM); scrollwin = gtk_scrolled_window_new(NULL,NULL); gtk_box_pack_start(GTK_BOX(box), scrollwin, TRUE, TRUE, 0); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); //gtk_scrolled_window_set_min_content_height(GTK_SCROLLED_WINDOW(scrollwin), HB_MINHEIGHT_LIST); treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL(store)); gtk_container_add(GTK_CONTAINER(scrollwin), GTK_WIDGET(treeview)); gtk_widget_show_all(box); //gtk_widget_set_can_focus(GTK_WIDGET(treeview), FALSE); GtkCellRenderer *renderer; GtkTreeViewColumn *column; renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "ellipsize", PANGO_ELLIPSIZE_END, "ellipsize-set", TRUE, //taken from nemo, not exactly a resize to content, but good compromise "width-chars", 40, NULL); column = gtk_tree_view_column_new_with_attributes (NULL, renderer, "text", 0, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); gtk_tree_view_set_hover_selection(GTK_TREE_VIEW(treeview), TRUE); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(treeview), FALSE); gtk_tree_view_set_activate_on_single_click(GTK_TREE_VIEW(treeview), TRUE); //gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)), GTK_SELECTION_BROWSE); //popover = create_popover (menubutton, box, GTK_POS_BOTTOM); popover = create_popover (menubutton, box, GTK_POS_LEFT); //gtk_widget_set_size_request (popover, HB_MINWIDTH_LIST, HB_MINHEIGHT_LIST); gtk_widget_set_vexpand(popover, TRUE); gtk_menu_button_set_popover(GTK_MENU_BUTTON(menubutton), popover); // connect our dispose function g_signal_connect (entry, "destroy", G_CALLBACK (ui_pay_entry_popover_destroy), NULL); g_signal_connect_after (entry , "changed", G_CALLBACK (ui_pay_entry_popover_function), NULL); g_signal_connect (menubutton, "toggled", G_CALLBACK (ui_pay_entry_popover_cb_toggled), entry); g_signal_connect (treeview, "row-activated", G_CALLBACK (ui_pay_entry_popover_cb_row_activated), entry); #if( (GTK_MAJOR_VERSION == 3) && (GTK_MINOR_VERSION >= 22) ) g_signal_connect_swapped(treeview, "row-activated", G_CALLBACK(gtk_popover_popdown), popover); #else g_signal_connect_swapped(treeview, "row-activated", G_CALLBACK(gtk_widget_hide), popover); #endif //g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)), "changed", G_CALLBACK (ui_pay_entry_popover_cb_selection), entry); //g_signal_connect_swapped(gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)), "changed", G_CALLBACK(gtk_popover_popdown), popover); if(label) gtk_label_set_mnemonic_widget (GTK_LABEL(label), entry); //gtk_widget_set_size_request(comboboxentry, HB_MINWIDTH_LIST, -1); return mainbox; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /** * ui_pay_comboboxentry_add: * * Add a single element (useful for dynamics add) * * Return value: -- * */ static void ui_pay_comboboxentry_add(GtkComboBox *entry_box, Payee *pay) { if( pay->name != NULL ) { GtkTreeModel *model; GtkTreeIter iter; model = gtk_combo_box_get_model(GTK_COMBO_BOX(entry_box)); gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, 0, pay->name, -1); } } /** * ui_pay_comboboxentry_get_key_add_new: * * get the key of the active payee * and create the payee if it do not exists * * Return value: the key or 0 * */ guint32 ui_pay_comboboxentry_get_key_add_new(GtkComboBox *entry_box) { gchar *name; Payee *item; name = (gchar *)gtk_entry_get_text(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box)))); item = da_pay_get_by_name(name); if( item == NULL ) { /* automatic add */ //todo: check prefs + ask the user here 1st time item = da_pay_malloc(); item->name = g_strdup(name); da_pay_append(item); ui_pay_comboboxentry_add(entry_box, item); } return item->key; } /** * ui_pay_comboboxentry_get_key: * * get the key of the active payee * * Return value: the key or 0 * */ guint32 ui_pay_comboboxentry_get_key(GtkComboBox *entry_box) { gchar *name; Payee *item; name = (gchar *)gtk_entry_get_text(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box)))); item = da_pay_get_by_name(name); if( item != NULL ) return item->key; return 0; } Payee *ui_pay_comboboxentry_get(GtkComboBox *entry_box) { gchar *name; Payee *item = NULL; DB( g_print ("ui_pay_comboboxentry_get()\n") ); name = (gchar *)gtk_entry_get_text(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box)))); item = da_pay_get_by_name(name); return item; } gboolean ui_pay_comboboxentry_set_active(GtkComboBox *entry_box, guint32 key) { Payee *item; DB( g_print ("ui_pay_comboboxentry_set_active()\n") ); DB( g_print("- key:%d\n", key) ); if( key > 0 ) { item = da_pay_get(key); if( item != NULL ) { DB( g_print("- set combo to '%s'\n", item->name) ); gtk_entry_set_text(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box))), item->name); return TRUE; } } DB( g_print("- set combo to ''\n") ); gtk_entry_set_text(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box))), ""); return FALSE; } static void ui_pay_comboboxentry_populate_ghfunc(gpointer key, gpointer value, struct payPopContext *ctx) { GtkTreeIter iter; Payee *pay = value; if( ( pay->key != ctx->except_key ) ) { //gtk_list_store_append (GTK_LIST_STORE(ctx->model), &iter); //gtk_list_store_set (GTK_LIST_STORE(ctx->model), &iter, 0, pay->name, -1); gtk_list_store_insert_with_values(GTK_LIST_STORE(ctx->model), &iter, -1, 0, pay->name, -1); } } //not used except here static void ui_pay_comboboxentry_populate_except(GtkComboBox *entry_box, GHashTable *hash, guint except_key) { GtkTreeModel *model; //GtkEntryCompletion *completion; struct payPopContext ctx; DB( g_print ("ui_pay_comboboxentry_populate\n") ); model = gtk_combo_box_get_model(GTK_COMBO_BOX(entry_box)); //completion = gtk_entry_get_completion(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box)))); /* keep our model alive and detach from comboboxentry and completion */ //g_object_ref(model); //gtk_combo_box_set_model(GTK_COMBO_BOX(entry_box), NULL); //gtk_entry_completion_set_model (completion, NULL); /* clear and populate */ ctx.model = model; ctx.except_key = except_key; gtk_list_store_clear (GTK_LIST_STORE(model)); //gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(GTK_LIST_STORE(model)), GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID, GTK_SORT_ASCENDING); g_hash_table_foreach(hash, (GHFunc)ui_pay_comboboxentry_populate_ghfunc, &ctx); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(model), GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING); /* reatach our model */ //g_print("reattach\n"); //gtk_combo_box_set_model(GTK_COMBO_BOX(entry_box), model); //gtk_entry_completion_set_model (completion, model); //g_object_unref(model); } /** * ui_pay_comboboxentry_populate: * * Populate the list and completion * * Return value: -- * */ void ui_pay_comboboxentry_populate(GtkComboBox *entry_box, GHashTable *hash) { ui_pay_comboboxentry_populate_except(entry_box, hash, -1); } static gint ui_pay_comboboxentry_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { gint retval = 0; gchar *name1, *name2; gtk_tree_model_get(model, a, 0, &name1, -1); gtk_tree_model_get(model, b, 0, &name2, -1); retval = hb_string_utf8_compare(name1, name2); g_free(name2); g_free(name1); return retval; } static void ui_pay_comboboxentry_test (GtkCellLayout *cell_layout, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data) { gchar *name; gtk_tree_model_get(tree_model, iter, 0, &name, -1); if( !name ) g_object_set(cell, "text", _("(no payee)"), NULL); else g_object_set(cell, "text", name, NULL); //leak g_free(name); } /** * ui_pay_comboboxentry_new: * * Create a new payee comboboxentry * * Return value: the new widget * */ GtkWidget * ui_pay_comboboxentry_new(GtkWidget *label) { GtkListStore *store; GtkWidget *comboboxentry; GtkEntryCompletion *completion; GtkCellRenderer *renderer; DB( g_print ("ui_pay_comboboxentry_new()\n") ); store = gtk_list_store_new (1, G_TYPE_STRING ); gtk_tree_sortable_set_default_sort_func(GTK_TREE_SORTABLE(store), ui_pay_comboboxentry_compare_func, NULL, NULL); completion = gtk_entry_completion_new (); gtk_entry_completion_set_model (completion, GTK_TREE_MODEL(store)); g_object_set(completion, "text-column", 0, NULL); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (completion), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (completion), renderer, "text", 0, NULL); gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (completion), renderer, ui_pay_comboboxentry_test, NULL, NULL); // dothe same for combobox comboboxentry = gtk_combo_box_new_with_model_and_entry(GTK_TREE_MODEL(store)); gtk_combo_box_set_entry_text_column(GTK_COMBO_BOX(comboboxentry), 0); gtk_cell_layout_clear(GTK_CELL_LAYOUT (comboboxentry)); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (comboboxentry), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (comboboxentry), renderer, "text", 0, NULL); gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (comboboxentry), renderer, ui_pay_comboboxentry_test, NULL, NULL); gtk_entry_set_completion (GTK_ENTRY (gtk_bin_get_child(GTK_BIN (comboboxentry))), completion); g_object_unref(store); if(label) gtk_label_set_mnemonic_widget (GTK_LABEL(label), comboboxentry); //gtk_widget_set_size_request(comboboxentry, HB_MINWIDTH_LIST, -1); return comboboxentry; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void ui_pay_listview_toggled_cb (GtkCellRendererToggle *cell, gchar *path_str, gpointer data) { GtkTreeModel *model = (GtkTreeModel *)data; GtkTreeIter iter; GtkTreePath *path = gtk_tree_path_new_from_string (path_str); gboolean fixed; /* get toggled iter */ gtk_tree_model_get_iter (model, &iter, path); gtk_tree_model_get (model, &iter, LST_DEFPAY_TOGGLE, &fixed, -1); /* do something with the value */ fixed ^= 1; /* set new value */ gtk_list_store_set (GTK_LIST_STORE (model), &iter, LST_DEFPAY_TOGGLE, fixed, -1); /* clean up */ gtk_tree_path_free (path); } static gint ui_pay_listview_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { gint sortcol = GPOINTER_TO_INT(userdata); Payee *entry1, *entry2; gint retval = 0; gtk_tree_model_get(model, a, LST_DEFPAY_DATAS, &entry1, -1); gtk_tree_model_get(model, b, LST_DEFPAY_DATAS, &entry2, -1); switch (sortcol) { case LST_DEFPAY_SORT_NAME: retval = hb_string_utf8_compare(entry1->name, entry2->name); break; case LST_DEFPAY_SORT_USED: retval = entry1->usage_count - entry2->usage_count; break; case LST_DEFPAY_SORT_DEFPAY: retval = entry1->paymode - entry2->paymode; break; case LST_DEFPAY_SORT_DEFCAT: { Category *c1, *c2; c1 = da_cat_get(entry1->kcat); c2 = da_cat_get(entry2->kcat); if( c1 != NULL && c2 != NULL ) { retval = hb_string_utf8_compare(c1->fullname, c2->fullname); } } break; default: g_return_val_if_reached(0); } return retval; } static void ui_pay_listview_count_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Payee *entry; gchar buffer[256]; gtk_tree_model_get(model, iter, LST_DEFPAY_DATAS, &entry, -1); if(entry->usage_count > 0) { g_snprintf(buffer, 256-1, "%d", entry->usage_count); g_object_set(renderer, "text", buffer, NULL); } else g_object_set(renderer, "text", "", NULL); } static void ui_pay_listview_defcat_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Payee *entry; Category *cat; gtk_tree_model_get(model, iter, LST_DEFPAY_DATAS, &entry, -1); cat = da_cat_get(entry->kcat); if( cat != NULL ) { g_object_set(renderer, "text", cat->fullname, NULL); } else g_object_set(renderer, "text", "", NULL); } static void ui_pay_listview_info_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Payee *entry; gtk_tree_model_get(model, iter, LST_DEFPAY_DATAS, &entry, -1); g_object_set(renderer, "icon-name", get_paymode_icon_name(entry->paymode), NULL); } static void ui_pay_listview_name_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Payee *entry; gchar *name; #if MYDEBUG gchar *string; #endif gtk_tree_model_get(model, iter, LST_DEFPAY_DATAS, &entry, -1); if(entry->key == 0) name = _("(no payee)"); else name = entry->name; #if MYDEBUG string = g_strdup_printf ("%d > %s [ft=%d]", entry->key, name, entry->flt_select); g_object_set(renderer, "text", string, NULL); g_free(string); #else g_object_set(renderer, "text", name, NULL); #endif } /* = = = = = = = = = = = = = = = = */ void ui_pay_listview_add(GtkTreeView *treeview, Payee *item) { GtkTreeModel *model; GtkTreeIter iter; if( item->name != NULL ) { model = gtk_tree_view_get_model(treeview); gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, LST_DEFPAY_TOGGLE, FALSE, LST_DEFPAY_DATAS, item, -1); } } guint32 ui_pay_listview_get_selected_key(GtkTreeView *treeview) { GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; selection = gtk_tree_view_get_selection(treeview); if (gtk_tree_selection_get_selected(selection, &model, &iter)) { Payee *item; gtk_tree_model_get(model, &iter, LST_DEFPAY_DATAS, &item, -1); if( item!= NULL ) return item->key; } return 0; } void ui_pay_listview_remove_selected(GtkTreeView *treeview) { GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; DB( g_print("ui_pay_listview_remove_selected() \n") ); selection = gtk_tree_view_get_selection(treeview); if (gtk_tree_selection_get_selected(selection, &model, &iter)) { gtk_list_store_remove(GTK_LIST_STORE(model), &iter); } } struct PayListContext { GtkTreeModel *model; gchar *needle; }; static void ui_pay_listview_populate_ghfunc(gpointer key, gpointer value, struct PayListContext *context) { GtkTreeIter iter; Payee *item = value; gboolean hastext = FALSE; gboolean insert = TRUE; //DB( g_print(" populate: %p\n", key) ); if( context->needle != NULL ) hastext = (strlen(context->needle) >= 2) ? TRUE : FALSE; if(hastext) { insert = hb_string_utf8_strstr(item->name, context->needle, FALSE); } if( insert == TRUE) { gtk_list_store_insert_with_values(GTK_LIST_STORE(context->model), &iter, -1, LST_DEFPAY_TOGGLE , FALSE, LST_DEFPAY_DATAS, item, -1); } } void ui_pay_listview_populate(GtkWidget *treeview, gchar *needle) { struct PayListContext context; DB( g_print("ui_pay_listview_populate \n") ); context.model = gtk_tree_view_get_model(GTK_TREE_VIEW(treeview)); context.needle = needle; gtk_list_store_clear (GTK_LIST_STORE(context.model)); //g_object_ref(model); /* Make sure the model stays with us after the tree view unrefs it */ //gtk_tree_view_set_model(GTK_TREE_VIEW(view), NULL); /* Detach model from view */ /* populate */ g_hash_table_foreach(GLOBALS->h_pay, (GHFunc)ui_pay_listview_populate_ghfunc, &context); //gtk_tree_view_set_model(GTK_TREE_VIEW(view), model); /* Re-attach model to view */ //g_object_unref(model); } static gboolean ui_pay_listview_search_equal_func (GtkTreeModel *model, gint column, const gchar *key, GtkTreeIter *iter, gpointer search_data) { gboolean retval = TRUE; gchar *normalized_string; gchar *normalized_key; gchar *case_normalized_string = NULL; gchar *case_normalized_key = NULL; Payee *item; //gtk_tree_model_get_value (model, iter, column, &value); gtk_tree_model_get(model, iter, LST_DEFPAY_DATAS, &item, -1); if(item != NULL) { normalized_string = g_utf8_normalize (item->name, -1, G_NORMALIZE_ALL); normalized_key = g_utf8_normalize (key, -1, G_NORMALIZE_ALL); if (normalized_string && normalized_key) { case_normalized_string = g_utf8_casefold (normalized_string, -1); case_normalized_key = g_utf8_casefold (normalized_key, -1); if (strncmp (case_normalized_key, case_normalized_string, strlen (case_normalized_key)) == 0) retval = FALSE; } g_free (normalized_key); g_free (normalized_string); g_free (case_normalized_key); g_free (case_normalized_string); } return retval; } GtkWidget * ui_pay_listview_new(gboolean withtoggle, gboolean withcount) { GtkListStore *store; GtkWidget *treeview; GtkCellRenderer *renderer; GtkTreeViewColumn *column; DB( g_print("ui_pay_listview_new() \n") ); store = gtk_list_store_new( NUM_LST_DEFPAY, G_TYPE_BOOLEAN, G_TYPE_POINTER ); treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); g_object_unref(store); gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (treeview), PREFS->grid_lines); // column: toggle if( withtoggle == TRUE ) { renderer = gtk_cell_renderer_toggle_new (); column = gtk_tree_view_column_new_with_attributes (_("Visible"), renderer, "active", LST_DEFPAY_TOGGLE, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); g_signal_connect (G_OBJECT(renderer), "toggled", G_CALLBACK (ui_pay_listview_toggled_cb), store); } // column: name renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "ellipsize", PANGO_ELLIPSIZE_END, "ellipsize-set", TRUE, //taken from nemo, not exactly a resize to content, but good compromise "width-chars", 40, NULL); column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Payee")); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_pay_listview_name_cell_data_function, GINT_TO_POINTER(LST_DEFPAY_DATAS), NULL); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_column_set_min_width(column, HB_MINWIDTH_LIST); gtk_tree_view_column_set_sort_column_id (column, LST_DEFPAY_SORT_NAME); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // column: payment if( withtoggle == FALSE ) { column = gtk_tree_view_column_new(); //TRANSLATORS: this is abbreviation for Payment gtk_tree_view_column_set_title(column, _("Pay.")); renderer = gtk_cell_renderer_pixbuf_new (); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_pay_listview_info_cell_data_function, NULL, NULL); gtk_tree_view_column_set_sort_column_id (column, LST_DEFPAY_SORT_DEFPAY); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); } // column: category if( withtoggle == FALSE ) { renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "ellipsize", PANGO_ELLIPSIZE_END, "ellipsize-set", TRUE, //taken from nemo, not exactly a resize to content, but good compromise "width-chars", 40, NULL); column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Category")); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_pay_listview_defcat_cell_data_function, GINT_TO_POINTER(LST_DEFPAY_DATAS), NULL); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_column_set_sort_column_id (column, LST_DEFPAY_SORT_DEFCAT); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); } // column: usage if( withcount == TRUE ) { renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 0.5, NULL); column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, "#"); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_pay_listview_count_cell_data_function, GINT_TO_POINTER(LST_DEFPAY_DATAS), NULL); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); gtk_tree_view_column_set_sort_column_id (column, LST_DEFPAY_SORT_USED); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); } /* empty */ column = gtk_tree_view_column_new(); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); gtk_tree_view_set_search_equal_func(GTK_TREE_VIEW(treeview), ui_pay_listview_search_equal_func, NULL, NULL); // treeview attribute gtk_tree_view_set_headers_visible (GTK_TREE_VIEW(treeview), withcount); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DEFPAY_SORT_NAME, ui_pay_listview_compare_func, GINT_TO_POINTER(LST_DEFPAY_SORT_NAME), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DEFPAY_SORT_USED, ui_pay_listview_compare_func, GINT_TO_POINTER(LST_DEFPAY_SORT_USED), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DEFPAY_SORT_DEFPAY, ui_pay_listview_compare_func, GINT_TO_POINTER(LST_DEFPAY_SORT_DEFPAY), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DEFPAY_SORT_DEFCAT, ui_pay_listview_compare_func, GINT_TO_POINTER(LST_DEFPAY_SORT_DEFCAT), NULL); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), LST_DEFPAY_SORT_NAME, GTK_SORT_ASCENDING); return treeview; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void ui_pay_manage_dialog_delete_unused( GtkWidget *widget, gpointer user_data) { struct ui_pay_manage_dialog_data *data = user_data; gboolean result; //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("(ui_pay_manage_dialog) delete unused - data %p\n", data) ); result = ui_dialog_msg_confirm_alert( GTK_WINDOW(data->dialog), _("Delete unused payee"), _("Are you sure you want to\npermanently delete unused payee?"), _("_Delete") ); if( result == GTK_RESPONSE_OK ) { GtkTreeModel *model; model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_pay)); gtk_list_store_clear (GTK_LIST_STORE(model)); payee_delete_unused(); ui_pay_listview_populate (data->LV_pay, NULL); } } /** * ui_pay_manage_dialog_load_csv: * */ static void ui_pay_manage_dialog_load_csv( GtkWidget *widget, gpointer user_data) { struct ui_pay_manage_dialog_data *data = user_data; gchar *filename = NULL; gchar *error; //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("(ui_pay_manage_dialog) load csv - data %p\n", data) ); if( ui_file_chooser_csv(GTK_WINDOW(data->dialog), GTK_FILE_CHOOSER_ACTION_OPEN, &filename, NULL) == TRUE ) { DB( g_print(" + filename is %s\n", filename) ); if( !payee_load_csv(filename, &error) ) { ui_dialog_msg_infoerror(GTK_WINDOW(data->dialog), GTK_MESSAGE_ERROR, _("File format error"), _("The CSV file must contains the exact numbers of column,\nseparated by a semi-colon, please see the help for more details.") ); } g_free( filename ); ui_pay_listview_populate(data->LV_pay, NULL); } } /** * ui_pay_manage_dialog_save_csv: * */ static void ui_pay_manage_dialog_save_csv( GtkWidget *widget, gpointer user_data) { struct ui_pay_manage_dialog_data *data = user_data; gchar *filename = NULL; DB( g_print("(ui_pay_manage_dialog) save csv\n") ); //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); if( ui_file_chooser_csv(GTK_WINDOW(data->dialog), GTK_FILE_CHOOSER_ACTION_SAVE, &filename, NULL) == TRUE ) { DB( g_print(" + filename is %s\n", filename) ); payee_save_csv(filename); g_free( filename ); } } /** * ui_pay_manage_dialog_add: * */ static void ui_pay_manage_dialog_add(GtkWidget *widget, gpointer user_data) { struct ui_pay_manage_dialog_data *data; Payee *item; gchar *name; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("(defayee) add (data=%p)\n", data) ); name = (gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_name)); item = da_pay_malloc (); item->name = g_strdup(name); g_strstrip(item->name); if( strlen(item->name) > 0 ) { if( da_pay_append(item) ) { ui_pay_listview_add(GTK_TREE_VIEW(data->LV_pay), item); data->change++; } } else da_pay_free (item); gtk_entry_set_text(GTK_ENTRY(data->ST_name), ""); } static void ui_pay_manage_dialog_edit_entry_cb(GtkEditable *editable, gpointer user_data) { GtkDialog *window = user_data; const gchar *buffer; buffer = gtk_entry_get_text(GTK_ENTRY(editable)); gtk_dialog_set_response_sensitive(GTK_DIALOG(window), GTK_RESPONSE_ACCEPT, strlen(buffer) > 0 ? TRUE : FALSE); } static void ui_pay_manage_dialog_edit(GtkWidget *dowidget, gpointer user_data) { struct ui_pay_manage_dialog_data *data; GtkWidget *dialog, *content_area, *content_grid, *group_grid; GtkWidget *label, *widget; GtkWidget *ST_name, *PO_cat, *NU_mode; gint crow, row; guint32 key; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(dowidget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("(defayee) modify %p\n", data) ); key = ui_pay_listview_get_selected_key(GTK_TREE_VIEW(data->LV_pay)); if( key > 0 ) { Payee *item; item = da_pay_get( key ); dialog = gtk_dialog_new_with_buttons (_("Edit..."), GTK_WINDOW (data->dialog), 0, _("_Cancel"), GTK_RESPONSE_REJECT, _("_OK"), GTK_RESPONSE_ACCEPT, NULL); content_area = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); content_grid = gtk_grid_new(); gtk_grid_set_row_spacing (GTK_GRID (content_grid), SPACING_LARGE); gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL); gtk_container_set_border_width (GTK_CONTAINER(content_grid), SPACING_MEDIUM); gtk_box_pack_start (GTK_BOX (content_area), content_grid, TRUE, TRUE, 0); crow = 0; // group :: General group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); //label = make_label_group(_("General")); //gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; label = make_label_widget(_("_Name:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = gtk_entry_new(); ST_name = widget; gtk_widget_set_hexpand(widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); // group :: Default group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("Default")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 4, 1); row = 1; label = make_label_widget(_("Pa_yment:")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); //5.2.4 we drop internal xfer here as it will disapear //widget = make_paymode_nointxfer(label); widget = make_paymode_nointxfer(label); NU_mode = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); row++; label = make_label_widget(_("_Category:")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); widget = ui_cat_comboboxentry_new(label); PO_cat = widget; gtk_widget_set_hexpand (widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); //setup gtk_entry_set_text(GTK_ENTRY(ST_name), item->name); gtk_widget_grab_focus (ST_name); gtk_entry_set_activates_default (GTK_ENTRY(ST_name), TRUE); ui_cat_comboboxentry_populate(GTK_COMBO_BOX(PO_cat), GLOBALS->h_cat); ui_cat_comboboxentry_set_active(GTK_COMBO_BOX(PO_cat), item->kcat); paymode_combo_box_set_active(GTK_COMBO_BOX(NU_mode), item->paymode); g_signal_connect (G_OBJECT (ST_name), "changed", G_CALLBACK (ui_pay_manage_dialog_edit_entry_cb), dialog); gtk_widget_show_all(content_grid); gtk_dialog_set_default_response(GTK_DIALOG( dialog ), GTK_RESPONSE_ACCEPT); //wait for the user gint result = gtk_dialog_run (GTK_DIALOG (dialog)); if(result == GTK_RESPONSE_ACCEPT) { const gchar *name; // 1: manage renaming name = gtk_entry_get_text(GTK_ENTRY(ST_name)); // ignore if item is empty if (name && *name) { if( payee_rename(item, name) ) { //to redraw the active entry gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_pay)); data->change++; } else { ui_dialog_msg_infoerror(GTK_WINDOW(dialog), GTK_MESSAGE_ERROR, _("Error"), _("Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists."), item->name, name ); } } item->kcat = ui_cat_comboboxentry_get_key_add_new(GTK_COMBO_BOX(PO_cat)); item->paymode = paymode_combo_box_get_active(GTK_COMBO_BOX(NU_mode)); } // cleanup and destroy gtk_widget_destroy (dialog); } } static void ui_pay_manage_dialog_merge_entry_cb(GtkComboBox *widget, gpointer user_data) { GtkDialog *window = user_data; gchar *buffer; buffer = (gchar *)gtk_entry_get_text(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (widget)))); gtk_dialog_set_response_sensitive(GTK_DIALOG(window), GTK_RESPONSE_OK, strlen(buffer) > 0 ? TRUE : FALSE); } static void ui_pay_manage_dialog_merge(GtkWidget *widget, gpointer user_data) { struct ui_pay_manage_dialog_data *data; GtkWidget *dialog, *content, *mainvbox; GtkWidget *getwidget, *togglebutton; GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("(defayee) merge %p\n", data) ); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_pay)); //if true there is a selected node if (gtk_tree_selection_get_selected(selection, &model, &iter)) { Payee *srcpay; gchar *title; gchar *secondtext; gtk_tree_model_get(model, &iter, LST_DEFPAY_DATAS, &srcpay, -1); title = g_strdup_printf ( _("Merge payee '%s'"), srcpay->name); dialog = gtk_message_dialog_new (GTK_WINDOW (data->dialog), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_WARNING, GTK_BUTTONS_NONE, title, NULL ); gtk_dialog_add_buttons (GTK_DIALOG(dialog), _("_Cancel"), GTK_RESPONSE_CANCEL, _("Merge"), GTK_RESPONSE_OK, NULL); gtk_dialog_set_default_response(GTK_DIALOG (dialog), GTK_RESPONSE_CANCEL); content = gtk_message_dialog_get_message_area(GTK_MESSAGE_DIALOG (dialog)); mainvbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, SPACING_SMALL); gtk_box_pack_start (GTK_BOX (content), mainvbox, TRUE, TRUE, 0); secondtext = _("Transactions assigned to this payee,\n" "will be moved to the payee selected below."); g_object_set(GTK_MESSAGE_DIALOG (dialog), "secondary-text", secondtext, NULL); g_free(title); getwidget = ui_pay_comboboxentry_new(NULL); gtk_box_pack_start (GTK_BOX (mainvbox), getwidget, FALSE, FALSE, 0); secondtext = g_strdup_printf ( _("_Delete the payee '%s'"), srcpay->name); togglebutton = gtk_check_button_new_with_mnemonic(secondtext); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(togglebutton), TRUE); g_free(secondtext); gtk_box_pack_start (GTK_BOX (mainvbox), togglebutton, FALSE, FALSE, 0); //setup //gtk_combo_box_set_active(GTK_COMBO_BOX(getwidget), oldpos); g_signal_connect (G_OBJECT (getwidget), "changed", G_CALLBACK (ui_pay_manage_dialog_merge_entry_cb), dialog); gtk_dialog_set_response_sensitive(GTK_DIALOG(dialog), GTK_RESPONSE_OK, FALSE); ui_pay_comboboxentry_populate_except(GTK_COMBO_BOX(getwidget), GLOBALS->h_pay, srcpay->key); gtk_widget_grab_focus (getwidget); gtk_widget_show_all(mainvbox); //wait for the user gint result = gtk_dialog_run (GTK_DIALOG (dialog)); if(result == GTK_RESPONSE_OK) { GtkTreeModel *model; Payee *newpay; guint dstpaykey; model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_pay)); gtk_list_store_clear (GTK_LIST_STORE(model)); dstpaykey = ui_pay_comboboxentry_get_key_add_new(GTK_COMBO_BOX(getwidget)); payee_move(srcpay->key, dstpaykey); newpay = da_pay_get(dstpaykey); //#1771720: update count newpay->usage_count += srcpay->usage_count; srcpay->usage_count = 0; // add the new payee to listview if(newpay) ui_pay_listview_add(GTK_TREE_VIEW(data->LV_pay), newpay); // delete the old payee if( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(togglebutton)) ) { DB( g_print(" -> delete %d '%s'\n", srcpay->key, srcpay->name ) ); ui_pay_listview_remove_selected(GTK_TREE_VIEW(data->LV_pay)); da_pay_delete(srcpay->key); } data->change++; ui_pay_listview_populate(data->LV_pay, NULL); } // cleanup and destroy gtk_widget_destroy (dialog); } } /* ** delete the selected payee to our treeview and temp GList */ static void ui_pay_manage_dialog_delete(GtkWidget *widget, gpointer user_data) { struct ui_pay_manage_dialog_data *data; Payee *item; guint32 key; gint result; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("(ui_pay_manage_dialog) delete (data=%p)\n", data) ); key = ui_pay_listview_get_selected_key(GTK_TREE_VIEW(data->LV_pay)); if( key > 0 ) { gchar *title; gchar *secondtext = NULL; item = da_pay_get(key); title = g_strdup_printf ( _("Are you sure you want to permanently delete '%s'?"), item->name); if( item->usage_count > 0 ) { secondtext = _("This payee is used.\n" "Any transaction using that payee will be set to (no payee)"); } result = ui_dialog_msg_confirm_alert( GTK_WINDOW(data->dialog), title, secondtext, _("_Delete") ); g_free(title); if( result == GTK_RESPONSE_OK ) { payee_move(key, 0); ui_pay_listview_remove_selected(GTK_TREE_VIEW(data->LV_pay)); da_pay_delete(key); data->change++; } } } static void ui_pay_manage_dialog_update(GtkWidget *treeview, gpointer user_data) { struct ui_pay_manage_dialog_data *data; gboolean sensitive; guint32 key; DB( g_print("\n(ui_pay_manage_dialog) cursor changed\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(treeview), GTK_TYPE_WINDOW)), "inst_data"); key = ui_pay_listview_get_selected_key(GTK_TREE_VIEW(data->LV_pay)); sensitive = (key > 0) ? TRUE : FALSE; gtk_widget_set_sensitive(data->BT_edit, sensitive); gtk_widget_set_sensitive(data->BT_merge, sensitive); gtk_widget_set_sensitive(data->BT_delete, sensitive); } /* ** */ static void ui_pay_manage_dialog_selection(GtkTreeSelection *treeselection, gpointer user_data) { ui_pay_manage_dialog_update(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), NULL); } static void ui_pay_manage_dialog_onRowActivated (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *col, gpointer user_data) { GtkTreeModel *model; GtkTreeIter iter; DB( g_print("ui_pay_manage_dialog_onRowActivated()\n") ); model = gtk_tree_view_get_model(treeview); gtk_tree_model_get_iter_first(model, &iter); if(gtk_tree_selection_iter_is_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)), &iter) == FALSE) { ui_pay_manage_dialog_edit(GTK_WIDGET(treeview), NULL); } } static void ui_pay_manage_search_changed_cb (GtkWidget *widget, gpointer user_data) { struct ui_pay_manage_dialog_data *data = user_data; gchar *needle; DB( g_printf("\n[ui_pay_manage_dialog] search_changed_cb\n") ); needle = (gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_search)); ui_pay_listview_populate(data->LV_pay, needle); } GtkWidget *ui_pay_manage_dialog (void) { struct ui_pay_manage_dialog_data *data; GtkWidget *dialog, *content, *mainvbox, *vbox, *bbox, *treeview, *scrollwin, *table; GtkWidget *menu, *menuitem, *widget, *image, *searchbar, *addreveal, *tbar; GtkToolItem *toolitem; gint w, h, row; data = g_malloc0(sizeof(struct ui_pay_manage_dialog_data)); if(!data) return NULL; dialog = gtk_dialog_new_with_buttons (_("Manage Payees"), GTK_WINDOW(GLOBALS->mainwindow), 0, _("_Close"), GTK_RESPONSE_ACCEPT, NULL); /*dialog = g_object_new (GTK_TYPE_DIALOG, "use-header-bar", TRUE, NULL); gtk_window_set_title (GTK_WINDOW (dialog), _("Manage Payees")); gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW(GLOBALS->mainwindow)); gtk_window_set_modal (GTK_WINDOW (dialog), TRUE); */ //gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), TRUE); data->dialog = dialog; data->change = 0; gtk_window_set_icon_name(GTK_WINDOW (dialog), ICONNAME_HB_PAYEE); //set a nice dialog size gtk_window_get_size(GTK_WINDOW(GLOBALS->mainwindow), &w, &h); gtk_window_set_default_size (GTK_WINDOW(dialog), -1, h/PHI); //store our dialog private data g_object_set_data(G_OBJECT(dialog), "inst_data", (gpointer)data); DB( g_print("(ui_pay_manage_dialog) dialog=%p, inst_data=%p\n", dialog, data) ); g_signal_connect (dialog, "destroy", G_CALLBACK (gtk_widget_destroyed), &dialog); //dialog contents content = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); mainvbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, SPACING_SMALL); gtk_box_pack_start (GTK_BOX (content), mainvbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER(mainvbox), SPACING_MEDIUM); //our table table = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM); gtk_box_pack_start (GTK_BOX (mainvbox), table, TRUE, TRUE, 0); row = 0; bbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (table), bbox, 0, row, 2, 1); //test headerbar //content = gtk_dialog_get_header_bar(GTK_DIALOG (dialog)); menu = gtk_menu_new (); gtk_widget_set_halign (menu, GTK_ALIGN_END); menuitem = gtk_menu_item_new_with_mnemonic (_("_Import CSV")); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (ui_pay_manage_dialog_load_csv), data); menuitem = gtk_menu_item_new_with_mnemonic (_("E_xport CSV")); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (ui_pay_manage_dialog_save_csv), data); menuitem = gtk_separator_menu_item_new(); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); menuitem = gtk_menu_item_new_with_mnemonic (_("_Delete unused")); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (ui_pay_manage_dialog_delete_unused), data); gtk_widget_show_all (menu); widget = gtk_menu_button_new(); image = gtk_image_new_from_icon_name (ICONNAME_HB_BUTTON_MENU, GTK_ICON_SIZE_MENU); g_object_set (widget, "image", image, "popup", GTK_MENU(menu), NULL); gtk_widget_set_halign (widget, GTK_ALIGN_END); gtk_box_pack_end(GTK_BOX (bbox), widget, FALSE, FALSE, 0); //gtk_header_bar_pack_end(GTK_HEADER_BAR (content), widget); data->BT_search = gtk_toggle_button_new (); image = gtk_image_new_from_icon_name (ICONNAME_SYSTEM_SEARCH, GTK_ICON_SIZE_BUTTON); gtk_button_set_image (GTK_BUTTON(data->BT_search), image); gtk_box_pack_end(GTK_BOX (bbox), data->BT_search, FALSE, FALSE, 0); //gtk_header_bar_pack_end(GTK_HEADER_BAR (content), data->BT_search); //search + list row++; vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_grid_attach (GTK_GRID (table), vbox, 0, row, 2, 1); searchbar = gtk_search_bar_new(); gtk_container_add(GTK_CONTAINER(vbox), searchbar); widget = make_search(); gtk_widget_set_hexpand(widget, TRUE); data->ST_search = widget; gtk_container_add (GTK_CONTAINER (searchbar), widget); gtk_search_bar_connect_entry(GTK_SEARCH_BAR(searchbar), GTK_ENTRY(data->ST_search)); gtk_search_bar_set_show_close_button(GTK_SEARCH_BAR(searchbar), TRUE); scrollwin = gtk_scrolled_window_new(NULL,NULL); gtk_container_add(GTK_CONTAINER(vbox), scrollwin); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_min_content_height(GTK_SCROLLED_WINDOW(scrollwin), HB_MINHEIGHT_LIST); gtk_widget_set_hexpand (scrollwin, TRUE); gtk_widget_set_vexpand (scrollwin, TRUE); treeview = ui_pay_listview_new(FALSE, TRUE); data->LV_pay = treeview; gtk_container_add(GTK_CONTAINER(scrollwin), treeview); tbar = gtk_toolbar_new(); gtk_toolbar_set_icon_size (GTK_TOOLBAR(tbar), GTK_ICON_SIZE_MENU); gtk_toolbar_set_style(GTK_TOOLBAR(tbar), GTK_TOOLBAR_ICONS); gtk_style_context_add_class (gtk_widget_get_style_context (tbar), GTK_STYLE_CLASS_INLINE_TOOLBAR); gtk_box_pack_start (GTK_BOX (vbox), tbar, FALSE, FALSE, 0); bbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); toolitem = gtk_tool_item_new(); gtk_container_add (GTK_CONTAINER(toolitem), bbox); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); widget = make_image_toggle_button(ICONNAME_LIST_ADD, _("Add")); data->BT_add = widget; gtk_container_add (GTK_CONTAINER (bbox), widget); widget = make_image_button(ICONNAME_LIST_EDIT, _("Edit")); data->BT_edit = widget; gtk_container_add (GTK_CONTAINER (bbox), widget); widget = make_image_button(ICONNAME_HB_LIST_MERGE, _("Move/Merge")); data->BT_merge = widget; gtk_container_add (GTK_CONTAINER (bbox), widget); widget = make_image_button(ICONNAME_LIST_DELETE, _("Delete")); data->BT_delete = widget; gtk_container_add (GTK_CONTAINER (bbox), widget); row++; addreveal = gtk_revealer_new (); gtk_grid_attach (GTK_GRID (table), addreveal, 0, row, 2, 1); data->ST_name = gtk_entry_new (); gtk_entry_set_placeholder_text(GTK_ENTRY(data->ST_name), _("new payee") ); gtk_widget_set_hexpand (data->ST_name, TRUE); gtk_container_add(GTK_CONTAINER(addreveal), data->ST_name); //connect all our signals g_object_bind_property (data->BT_add, "active", addreveal, "reveal-child", G_BINDING_BIDIRECTIONAL); g_object_bind_property (data->BT_search, "active", searchbar, "search-mode-enabled", G_BINDING_BIDIRECTIONAL); g_signal_connect (G_OBJECT (data->ST_search), "search-changed", G_CALLBACK (ui_pay_manage_search_changed_cb), data); g_signal_connect (G_OBJECT (data->ST_name), "activate", G_CALLBACK (ui_pay_manage_dialog_add), NULL); g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_pay)), "changed", G_CALLBACK (ui_pay_manage_dialog_selection), NULL); g_signal_connect (GTK_TREE_VIEW(data->LV_pay), "row-activated", G_CALLBACK (ui_pay_manage_dialog_onRowActivated), NULL); g_signal_connect (G_OBJECT (data->BT_edit), "clicked", G_CALLBACK (ui_pay_manage_dialog_edit), NULL); g_signal_connect (G_OBJECT (data->BT_merge), "clicked", G_CALLBACK (ui_pay_manage_dialog_merge), NULL); g_signal_connect (G_OBJECT (data->BT_delete), "clicked", G_CALLBACK (ui_pay_manage_dialog_delete), NULL); //setup, init and show dialog payee_fill_usage(); ui_pay_listview_populate(data->LV_pay, NULL); ui_pay_manage_dialog_update(data->LV_pay, NULL); gtk_widget_show_all (dialog); //wait for the user gint result = gtk_dialog_run (GTK_DIALOG (dialog)); switch (result) { case GTK_RESPONSE_ACCEPT: //do_application_specific_something (); break; default: //do_nothing_since_dialog_was_cancelled (); break; } // cleanup and destroy GLOBALS->changes_count += data->change; gtk_widget_destroy (dialog); g_free(data); return NULL; } homebank-5.3.2/src/gtk-chart-colors.h0000664000175000017500000000542113604720371014360 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __GTK_COLORS_H__ #define __GTK_COLORS_H__ #include #define MASKCOL 255 //#define MASKCOL 000 #define COLTO16(col8) ( (col8 | col8<<8 ) ) #define COLTOOVER(col8) ( (col8 + MASKCOL) / 2 ) #define AREA_ALPHA .33 #define OVER_ALPHA .15 #define OVER_COLOR (MASKCOL * OVER_ALPHA) #define COLTOCAIRO(col8) ( (col8 / 255.0) ) #define COLTOCAIROOVER(col8) ( ((col8 * (1 - OVER_ALPHA)) + OVER_COLOR ) / 255.0 ) //typedef struct _rgbcol RgbCol; typedef struct _ColorScheme GtkColorScheme; struct rgbcol { guint8 r, g, b; }; struct _ColorScheme { struct rgbcol *colors; gint nb_cols; gint cs_red; gint cs_green; gint cs_blue; gint cs_yellow; gint cs_orange; }; enum { BLACK, WHITE, GREY1, TEXT, XYLINES, THBASE, THTEXT }; enum colmap { CHART_COLMAP_HOMEBANK, CHART_COLMAP_MSMONEY, CHART_COLMAP_SAP, CHART_COLMAP_QUICKEN, CHART_COLMAP_OFFICE2010, CHART_COLMAP_OFFICE2013, CHART_COLMAP_ANALYTICS, CHART_COLMAP_YNAB, }; enum { CHART_FONT_SIZE_TITLE, CHART_FONT_SIZE_SUBTITLE, CHART_FONT_SIZE_NORMAL, CHART_FONT_SIZE_SMALL }; extern char *chart_colors[]; extern struct rgbcol global_colors[]; extern struct rgbcol money_colors[]; extern struct rgbcol quicken_colors[]; extern struct rgbcol analytics_colors[]; extern struct rgbcol office2010_colors[]; extern struct rgbcol office2013_colors[]; extern struct rgbcol sap_colors[]; extern struct rgbcol homebank_colors[]; extern struct rgbcol ynab_colors[]; extern int money_nbcolors; extern int quicken_nbcolors; extern int analytics_nbcolors; extern int office2010_nbcolors; extern int office2013_nbcolors; extern int sap_nbcolors; extern int homebank_nbcolors; extern int ynab_nbcolors; void chart_color_global_default(void); void cairo_user_set_rgbcol(cairo_t *cr, struct rgbcol *col); void cairo_user_set_rgbacol(cairo_t *cr, struct rgbcol *col, double alpha); void cairo_user_set_rgbcol_over(cairo_t *cr, struct rgbcol *col, gboolean over); void colorscheme_init(GtkColorScheme *scheme, gint index); #endif /* __GTK_COLORS_H__ */ homebank-5.3.2/src/ui-tag.c0000664000175000017500000005554513604720365012375 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty ofdeftransaction_amountchanged * 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 "homebank.h" #include "ui-tag.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ //TODO: still used in rep_time void ui_tag_combobox_populate(GtkComboBoxText *combobox) { GList *ltag, *list; //populate template hbtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(combobox), 0, "----"); gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), 0); ltag = list = tag_glist_sorted(1); while (list != NULL) { Tag *item = list->data; DB( g_print(" populate: %d\n", item->key) ); hbtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(combobox), item->key, item->name); list = g_list_next(list); } g_list_free(ltag); } GtkWidget * ui_tag_combobox_new(GtkWidget *label) { GtkWidget *combobox; combobox = hbtk_combo_box_new(label); return combobox; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void ui_tag_popover_cb_row_activated(GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data) { GtkTreeSelection *treeselection; GtkTreeModel *model; GtkTreeIter iter; GtkEntry *entry = user_data; if( GTK_IS_ENTRY(entry) ) { treeselection = gtk_tree_view_get_selection(tree_view); if( gtk_tree_selection_get_selected(treeselection, &model, &iter) ) { Tag *item; gtk_tree_model_get(model, &iter, LST_DEFTAG_DATAS, &item, -1); hbtk_entry_tag_name_append(GTK_ENTRY(user_data), item->name); } } } GtkWidget * ui_tag_popover_list(GtkWidget *entry) { GtkWidget *box, *menubutton, *image, *scrollwin, *treeview; menubutton = gtk_menu_button_new (); image = gtk_image_new_from_icon_name ("pan-down-symbolic", GTK_ICON_SIZE_BUTTON); gtk_container_add(GTK_CONTAINER(menubutton), image); //gtk_menu_button_set_direction (GTK_MENU_BUTTON(menubutton), GTK_ARROW_DOWN ); //gtk_widget_set_halign (menubutton, GTK_ALIGN_END); gtk_widget_show_all(menubutton); //GtkWidget *template = ui_popover_tpl_create(data); box = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING_MEDIUM); scrollwin = gtk_scrolled_window_new(NULL,NULL); gtk_box_pack_start(GTK_BOX(box), scrollwin, TRUE, TRUE, 0); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); treeview = ui_tag_listview_new(FALSE); //data.LV_tag = treeview; gtk_container_add(GTK_CONTAINER(scrollwin), treeview); gtk_widget_show_all(box); gtk_tree_view_set_hover_selection(GTK_TREE_VIEW(treeview), TRUE); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(treeview), FALSE); gtk_tree_view_set_activate_on_single_click(GTK_TREE_VIEW(treeview), TRUE); GtkWidget *popover = create_popover (menubutton, box, GTK_POS_BOTTOM); gtk_widget_set_size_request (popover, HB_MINWIDTH_LIST, HB_MINHEIGHT_LIST); gtk_menu_button_set_popover(GTK_MENU_BUTTON(menubutton), popover); ui_tag_listview_populate(treeview, 0); g_signal_connect (treeview, "row-activated", G_CALLBACK (ui_tag_popover_cb_row_activated), entry); #if( (GTK_MAJOR_VERSION == 3) && (GTK_MINOR_VERSION >= 22) ) g_signal_connect_swapped(treeview, "row-activated", G_CALLBACK(gtk_popover_popdown), popover); #else g_signal_connect_swapped(treeview, "row-activated", G_CALLBACK(gtk_widget_hide), popover); #endif return menubutton; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void ui_tag_listview_toggled_cb (GtkCellRendererToggle *cell, gchar *path_str, gpointer data) { GtkTreeModel *model = (GtkTreeModel *)data; GtkTreeIter iter; GtkTreePath *path = gtk_tree_path_new_from_string (path_str); gboolean fixed; /* get toggled iter */ gtk_tree_model_get_iter (model, &iter, path); gtk_tree_model_get (model, &iter, LST_DEFTAG_TOGGLE, &fixed, -1); /* do something with the value */ fixed ^= 1; /* set new value */ gtk_list_store_set (GTK_LIST_STORE (model), &iter, LST_DEFTAG_TOGGLE, fixed, -1); /* clean up */ gtk_tree_path_free (path); } static gint ui_tag_listview_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { gint retval = 0; Tag *entry1, *entry2; //gchar *name1, *name2; gtk_tree_model_get(model, a, LST_DEFTAG_DATAS, &entry1, -1); gtk_tree_model_get(model, b, LST_DEFTAG_DATAS, &entry2, -1); retval = hb_string_utf8_compare(entry1->name, entry2->name); return retval; } static void ui_tag_listview_name_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Tag *entry; gchar *name; #if MYDEBUG gchar *string; #endif gtk_tree_model_get(model, iter, LST_DEFTAG_DATAS, &entry, -1); if(entry->name == NULL) name = _("(none)"); // can never occurs ! else name = entry->name; #if MYDEBUG string = g_strdup_printf ("[%d] %s", entry->key, name ); g_object_set(renderer, "text", string, NULL); g_free(string); #else g_object_set(renderer, "text", name, NULL); #endif } /* = = = = = = = = = = = = = = = = */ /** * tag_list_add: * * Add a single element (useful for dynamics add) * * Return value: -- * */ void ui_tag_listview_add(GtkTreeView *treeview, Tag *item) { if( item->name != NULL ) { GtkTreeModel *model; GtkTreeIter iter; model = gtk_tree_view_get_model(treeview); gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, LST_DEFTAG_TOGGLE, FALSE, LST_DEFTAG_DATAS, item, -1); gtk_tree_selection_select_iter (gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)), &iter); } } guint32 ui_tag_listview_get_selected_key(GtkTreeView *treeview) { GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; selection = gtk_tree_view_get_selection(treeview); if (gtk_tree_selection_get_selected(selection, &model, &iter)) { Tag *item; gtk_tree_model_get(model, &iter, LST_DEFTAG_DATAS, &item, -1); if( item!= NULL ) return item->key; } return 0; } void ui_tag_listview_remove_selected(GtkTreeView *treeview) { GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; selection = gtk_tree_view_get_selection(treeview); if (gtk_tree_selection_get_selected(selection, &model, &iter)) { gtk_list_store_remove(GTK_LIST_STORE(model), &iter); } } void ui_tag_listview_populate(GtkWidget *view, gint insert_type) { GtkTreeModel *model; GtkTreeIter iter; GList *ltag, *list; model = gtk_tree_view_get_model(GTK_TREE_VIEW(view)); gtk_list_store_clear (GTK_LIST_STORE(model)); g_object_ref(model); /* Make sure the model stays with us after the tree view unrefs it */ gtk_tree_view_set_model(GTK_TREE_VIEW(view), NULL); /* Detach model from view */ /* populate */ //g_hash_table_foreach(GLOBALS->h_tag, (GHFunc)ui_tag_listview_populate_ghfunc, model); ltag = list = g_hash_table_get_values(GLOBALS->h_tag); while (list != NULL) { Tag *item = list->data; DB( g_print(" populate: %d\n", item->key) ); gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, LST_DEFTAG_TOGGLE , FALSE, LST_DEFTAG_DATAS, item, -1); list = g_list_next(list); } g_list_free(ltag); gtk_tree_view_set_model(GTK_TREE_VIEW(view), model); /* Re-attach model to view */ g_object_unref(model); } GtkWidget * ui_tag_listview_new(gboolean withtoggle) { GtkListStore *store; GtkWidget *treeview; GtkCellRenderer *renderer; GtkTreeViewColumn *column; // create list store store = gtk_list_store_new(NUM_LST_DEFTAG, G_TYPE_BOOLEAN, G_TYPE_POINTER ); // treeview treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); g_object_unref(store); gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (treeview), PREFS->grid_lines); // column 1: toggle if( withtoggle == TRUE ) { renderer = gtk_cell_renderer_toggle_new (); column = gtk_tree_view_column_new_with_attributes (_("Visible"), renderer, "active", LST_DEFTAG_TOGGLE, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); g_signal_connect (renderer, "toggled", G_CALLBACK (ui_tag_listview_toggled_cb), store); } // column 2: name column = gtk_tree_view_column_new(); renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "ellipsize", PANGO_ELLIPSIZE_END, "ellipsize-set", TRUE, NULL); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_tag_listview_name_cell_data_function, GINT_TO_POINTER(LST_DEFTAG_DATAS), NULL); gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // treeviewattribute gtk_tree_view_set_headers_visible (GTK_TREE_VIEW(treeview), FALSE); gtk_tree_view_set_reorderable (GTK_TREE_VIEW(treeview), TRUE); gtk_tree_sortable_set_default_sort_func(GTK_TREE_SORTABLE(store), ui_tag_listview_compare_func, NULL, NULL); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING); return treeview; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void ui_tag_manage_filter_text_handler (GtkEntry *entry, const gchar *text, gint length, gint *position, gpointer data) { GtkEditable *editable = GTK_EDITABLE(entry); gint i, count=0; gchar *result = g_new0 (gchar, length+1); for (i=0; i < length; i++) { if (text[i]==' ') continue; result[count++] = text[i]; } if (count > 0) { g_signal_handlers_block_by_func (G_OBJECT (editable), G_CALLBACK (ui_tag_manage_filter_text_handler), data); gtk_editable_insert_text (editable, result, count, position); g_signal_handlers_unblock_by_func (G_OBJECT (editable), G_CALLBACK (ui_tag_manage_filter_text_handler), data); } g_signal_stop_emission_by_name (G_OBJECT (editable), "insert_text"); g_free (result); } /** * ui_tag_manage_dialog_add: * */ static void ui_tag_manage_dialog_add(GtkWidget *widget, gpointer user_data) { struct ui_tag_manage_dialog_data *data; Tag *item; gchar *name; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("(defayee) add (data=%p)\n", data) ); name = (gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_name)); item = da_tag_malloc (); item->name = g_strdup(name); g_strstrip(item->name); if( strlen(item->name) > 0 ) { if( da_tag_append(item) ) { ui_tag_listview_add(GTK_TREE_VIEW(data->LV_tag), item); data->change++; } } else da_tag_free (item); gtk_entry_set_text(GTK_ENTRY(data->ST_name), ""); } static void ui_tag_manage_dialog_edit_entry_cb(GtkEditable *editable, gpointer user_data) { GtkDialog *window = user_data; const gchar *buffer; buffer = gtk_entry_get_text(GTK_ENTRY(editable)); gtk_dialog_set_response_sensitive(GTK_DIALOG(window), GTK_RESPONSE_ACCEPT, strlen(buffer) > 0 ? TRUE : FALSE); } static void ui_tag_manage_dialog_edit(GtkWidget *dowidget, gpointer user_data) { struct ui_tag_manage_dialog_data *data; GtkWidget *dialog, *content_area, *content_grid, *group_grid; GtkWidget *label, *widget; GtkWidget *ST_name; gint crow, row; guint32 key; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(dowidget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("(defayee) modify %p\n", data) ); key = ui_tag_listview_get_selected_key(GTK_TREE_VIEW(data->LV_tag)); if( key > 0 ) { Tag *item; item = da_tag_get( key ); dialog = gtk_dialog_new_with_buttons (_("Edit..."), GTK_WINDOW (data->dialog), 0, _("_Cancel"), GTK_RESPONSE_REJECT, _("_OK"), GTK_RESPONSE_ACCEPT, NULL); content_area = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); content_grid = gtk_grid_new(); gtk_grid_set_row_spacing (GTK_GRID (content_grid), SPACING_LARGE); gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL); gtk_container_set_border_width (GTK_CONTAINER(content_grid), SPACING_MEDIUM); gtk_box_pack_start (GTK_BOX (content_area), content_grid, TRUE, TRUE, 0); crow = 0; // group :: General group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); //label = make_label_group(_("General")); //gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; label = make_label_widget(_("_Name:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = gtk_entry_new(); ST_name = widget; gtk_widget_set_hexpand(widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); g_signal_connect (G_OBJECT (ST_name), "changed", G_CALLBACK (ui_tag_manage_dialog_edit_entry_cb), dialog); gtk_widget_show_all(content_grid); gtk_dialog_set_default_response(GTK_DIALOG( dialog ), GTK_RESPONSE_ACCEPT); //wait for the user gint result = gtk_dialog_run (GTK_DIALOG (dialog)); if(result == GTK_RESPONSE_ACCEPT) { const gchar *name; // 1: manage renaming name = gtk_entry_get_text(GTK_ENTRY(ST_name)); // ignore if item is empty if (name && *name) { if( tag_rename(item, name) ) { //to redraw the active entry gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_tag)); data->change++; } else { ui_dialog_msg_infoerror(GTK_WINDOW(dialog), GTK_MESSAGE_ERROR, _("Error"), _("Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists."), item->name, name ); } } } // cleanup and destroy gtk_widget_destroy (dialog); } } /* ** delete the selected payee to our treeview and temp GList */ static void ui_tag_manage_dialog_delete(GtkWidget *widget, gpointer user_data) { struct ui_tag_manage_dialog_data *data; Tag *item; guint32 key; gint result; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("(ui_tag_manage_dialog) delete (data=%p)\n", data) ); key = ui_tag_listview_get_selected_key(GTK_TREE_VIEW(data->LV_tag)); if( key > 0 ) { gchar *title; gchar *secondtext = NULL; item = da_tag_get(key); title = g_strdup_printf ( _("Are you sure you want to permanently delete '%s'?"), item->name); if( item->usage_count > 0 ) { secondtext = _("This payee is used.\n" "Any transaction using that payee will be set to (no payee)"); } result = ui_dialog_msg_confirm_alert( GTK_WINDOW(data->dialog), title, secondtext, _("_Delete") ); g_free(title); if( result == GTK_RESPONSE_OK ) { payee_move(key, 0); ui_tag_listview_remove_selected(GTK_TREE_VIEW(data->LV_tag)); da_tag_delete(key); data->change++; } } } static void ui_tag_manage_dialog_update(GtkWidget *treeview, gpointer user_data) { struct ui_tag_manage_dialog_data *data; gboolean sensitive; guint32 key; DB( g_print("\n(ui_tag_manage_dialog) cursor changed\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(treeview), GTK_TYPE_WINDOW)), "inst_data"); key = ui_tag_listview_get_selected_key(GTK_TREE_VIEW(data->LV_tag)); sensitive = (key > 0) ? TRUE : FALSE; gtk_widget_set_sensitive(data->BT_edit, sensitive); gtk_widget_set_sensitive(data->BT_delete, sensitive); } /* ** */ static void ui_tag_manage_dialog_selection(GtkTreeSelection *treeselection, gpointer user_data) { ui_tag_manage_dialog_update(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), NULL); } static void ui_tag_manage_dialog_onRowActivated (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *col, gpointer user_data) { GtkTreeModel *model; GtkTreeIter iter; DB( g_print("ui_tag_manage_dialog_onRowActivated()\n") ); model = gtk_tree_view_get_model(treeview); gtk_tree_model_get_iter_first(model, &iter); if(gtk_tree_selection_iter_is_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)), &iter) == FALSE) { ui_tag_manage_dialog_edit(GTK_WIDGET(treeview), NULL); } } GtkWidget *ui_tag_manage_dialog (void) { struct ui_tag_manage_dialog_data *data; GtkWidget *dialog, *content, *mainvbox, *box, *bbox, *tbar, *treeview, *scrollwin, *table, *addreveal; GtkToolItem *toolitem; gint w, h, row; data = g_malloc0(sizeof(struct ui_tag_manage_dialog_data)); if(!data) return NULL; dialog = gtk_dialog_new_with_buttons (_("Manage Tags"), GTK_WINDOW(GLOBALS->mainwindow), 0, _("_Close"), GTK_RESPONSE_ACCEPT, NULL); /*dialog = g_object_new (GTK_TYPE_DIALOG, "use-header-bar", TRUE, NULL); gtk_window_set_title (GTK_WINDOW (dialog), _("Manage Tags")); gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW(GLOBALS->mainwindow)); gtk_window_set_modal (GTK_WINDOW (dialog), TRUE); */ //gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), TRUE); data->dialog = dialog; data->change = 0; //gtk_window_set_icon_name(GTK_WINDOW (dialog), ICONNAME_HB_TAG); //set a nice dialog size gtk_window_get_size(GTK_WINDOW(GLOBALS->mainwindow), &w, &h); gtk_window_set_default_size (GTK_WINDOW(dialog), -1, h/PHI); //store our dialog private data g_object_set_data(G_OBJECT(dialog), "inst_data", (gpointer)data); DB( g_print("(ui_tag_manage_dialog) dialog=%p, inst_data=%p\n", dialog, data) ); g_signal_connect (dialog, "destroy", G_CALLBACK (gtk_widget_destroyed), &dialog); //dialog contents content = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); mainvbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, SPACING_SMALL); gtk_box_pack_start (GTK_BOX (content), mainvbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER(mainvbox), SPACING_MEDIUM); //our table table = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM); gtk_box_pack_start (GTK_BOX (mainvbox), table, TRUE, TRUE, 0); row = 0; bbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (table), bbox, 0, row, 2, 1); //test headerbar //content = gtk_dialog_get_header_bar(GTK_DIALOG (dialog)); // list row++; box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_grid_attach (GTK_GRID (table), box, 0, row, 2, 1); scrollwin = gtk_scrolled_window_new(NULL,NULL); gtk_container_add(GTK_CONTAINER(box), scrollwin); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_min_content_height(GTK_SCROLLED_WINDOW(scrollwin), HB_MINHEIGHT_LIST); gtk_widget_set_hexpand (scrollwin, TRUE); gtk_widget_set_vexpand (scrollwin, TRUE); treeview = ui_tag_listview_new(FALSE); data->LV_tag = treeview; gtk_container_add(GTK_CONTAINER(scrollwin), treeview); tbar = gtk_toolbar_new(); gtk_toolbar_set_icon_size (GTK_TOOLBAR(tbar), GTK_ICON_SIZE_MENU); gtk_toolbar_set_style(GTK_TOOLBAR(tbar), GTK_TOOLBAR_ICONS); gtk_style_context_add_class (gtk_widget_get_style_context (tbar), GTK_STYLE_CLASS_INLINE_TOOLBAR); gtk_box_pack_start (GTK_BOX (box), tbar, FALSE, FALSE, 0); bbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); toolitem = gtk_tool_item_new(); gtk_container_add (GTK_CONTAINER(toolitem), bbox); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); data->BT_add = make_image_toggle_button(ICONNAME_LIST_ADD, _("Add")); gtk_container_add (GTK_CONTAINER (bbox), data->BT_add); //todo: useless ? data->BT_edit = make_image_button(ICONNAME_LIST_EDIT, _("Edit")); gtk_container_add (GTK_CONTAINER (bbox), data->BT_edit); data->BT_delete = make_image_button(ICONNAME_LIST_DELETE, _("Delete")); gtk_container_add (GTK_CONTAINER (bbox), data->BT_delete); row++; addreveal = gtk_revealer_new (); gtk_grid_attach (GTK_GRID (table), addreveal, 0, row, 2, 1); data->ST_name = gtk_entry_new (); gtk_entry_set_placeholder_text(GTK_ENTRY(data->ST_name), _("new tag") ); gtk_widget_set_hexpand (data->ST_name, TRUE); gtk_container_add(GTK_CONTAINER(addreveal), data->ST_name); //connect all our signals g_object_bind_property (data->BT_add, "active", addreveal, "reveal-child", G_BINDING_BIDIRECTIONAL); g_signal_connect (G_OBJECT (data->ST_name), "activate", G_CALLBACK (ui_tag_manage_dialog_add), NULL); g_signal_connect(G_OBJECT(data->ST_name), "insert-text", G_CALLBACK(ui_tag_manage_filter_text_handler), NULL); g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_tag)), "changed", G_CALLBACK (ui_tag_manage_dialog_selection), NULL); g_signal_connect (GTK_TREE_VIEW(data->LV_tag), "row-activated", G_CALLBACK (ui_tag_manage_dialog_onRowActivated), NULL); g_signal_connect (G_OBJECT (data->BT_edit), "clicked", G_CALLBACK (ui_tag_manage_dialog_edit), NULL); g_signal_connect (G_OBJECT (data->BT_delete), "clicked", G_CALLBACK (ui_tag_manage_dialog_delete), NULL); //setup, init and show dialog //tag_fill_usage(); ui_tag_listview_populate(data->LV_tag, 0); ui_tag_manage_dialog_update(data->LV_tag, NULL); gtk_widget_show_all (dialog); //wait for the user gint result = gtk_dialog_run (GTK_DIALOG (dialog)); switch (result) { case GTK_RESPONSE_ACCEPT: //do_application_specific_something (); break; default: //do_nothing_since_dialog_was_cancelled (); break; } // cleanup and destroy GLOBALS->changes_count += data->change; gtk_widget_destroy (dialog); g_free(data); return NULL; } homebank-5.3.2/src/ui-account.c0000644000175000017500000016055013606324456013250 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hb-account.h" #include "ui-account.h" #include "ui-currency.h" #include "ui-group.h" #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; extern HbKvData CYA_ACC_TYPE[]; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static GtkWidget * container_get_nth(GtkBox *container, gint nth) { GList *lchild, *list; GtkWidget *child; if(!GTK_IS_CONTAINER(container)) return NULL; lchild = list = gtk_container_get_children (GTK_CONTAINER(container)); child = g_list_nth_data (list, nth); g_list_free(lchild); return child; } GtkTreeModel * ui_acc_entry_popover_get_model(GtkBox *box) { GtkWidget *entry = container_get_nth(box, 0); if( GTK_IS_ENTRY(entry) ) { return gtk_entry_completion_get_model(gtk_entry_get_completion(GTK_ENTRY(entry))); } return NULL; } GtkWidget * ui_acc_entry_popover_get_entry(GtkBox *box) { return container_get_nth(box, 0); } Account *ui_acc_entry_popover_get(GtkBox *box) { GtkWidget *entry; gchar *name; Account *item = NULL; DB( g_print ("ui_acc_entry_popover_get()\n") ); entry = container_get_nth(box, 0); if( entry != NULL && GTK_IS_ENTRY(entry) ) { name = (gchar *)gtk_entry_get_text(GTK_ENTRY (entry)); item = da_acc_get_by_name(name); } return item; } guint32 ui_acc_entry_popover_get_key(GtkBox *box) { Account *item = ui_acc_entry_popover_get(box); return ((item != NULL) ? item->key : 0); } //#1859077 preset account if single void ui_acc_entry_popover_set_single(GtkBox *box) { GtkWidget *entry; GtkTreeModel *model; GtkTreeIter iter; DB( g_print ("ui_acc_comboboxentry_set_single()\n") ); entry = container_get_nth(box, 0); if( entry != NULL && GTK_IS_ENTRY(entry) ) { model = gtk_entry_completion_get_model(gtk_entry_get_completion(GTK_ENTRY(entry))); if(model != NULL && gtk_tree_model_iter_n_children(model, NULL) == 1) { if( gtk_tree_model_get_iter_first(model, &iter) == TRUE ) { gchar *item; gtk_tree_model_get(model, &iter, 0, &item, -1); hbtk_entry_set_text(GTK_ENTRY(entry), item != NULL ? item : ""); g_free(item); } } } } void ui_acc_entry_popover_set_active(GtkBox *box, guint32 key) { GtkWidget *entry; DB( g_print ("ui_acc_comboboxentry_set_active()\n") ); entry = container_get_nth(box, 0); if( entry != NULL && GTK_IS_ENTRY(entry) ) { Account *item = da_acc_get(key); hbtk_entry_set_text(GTK_ENTRY(entry), item != NULL ? item->name : ""); } } static void ui_acc_entry_popover_cb_row_activated(GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data) { GtkTreeSelection *treeselection; GtkTreeModel *model; GtkTreeIter iter; GtkEntry *entry = user_data; if( GTK_IS_ENTRY(entry) ) { treeselection = gtk_tree_view_get_selection(tree_view); if( gtk_tree_selection_get_selected(treeselection, &model, &iter) ) { gchar *item; gtk_tree_model_get(model, &iter, 0, &item, -1); gtk_entry_set_text(GTK_ENTRY(user_data), item); g_free(item); } } } static void ui_acc_entry_popover_populate_ghfunc(gpointer key, gpointer value, struct accPopContext *ctx) { GtkTreeIter iter; Account *acc = value; if( (acc->flags & AF_CLOSED) ) return; if( (ctx->insert_type == ACC_LST_INSERT_REPORT) && (acc->flags & AF_NOREPORT) ) return; if( (acc->key == ctx->except_key) ) return; //todo check this if( (ctx->kcur > 0 ) && (acc->kcur != ctx->kcur) ) return; DB( g_print (" -> append model '%s'\n", acc->name) ); gtk_list_store_append (GTK_LIST_STORE(ctx->model), &iter); gtk_list_store_set (GTK_LIST_STORE(ctx->model), &iter, 0, acc->name, 1, acc->pos, -1); } void ui_acc_entry_popover_populate(GtkBox *box, GHashTable *hash, gint insert_type) { ui_acc_entry_popover_populate_except(box, hash, 0, insert_type); } void ui_acc_entry_popover_populate_except(GtkBox *box, GHashTable *hash, guint except_key, gint insert_type) { GtkTreeModel *model; struct accPopContext ctx; DB( g_print ("ui_acc_entry_popover_populate\n") ); DB( g_print (" -> except is %d\n", except_key) ); model = ui_acc_entry_popover_get_model(GTK_BOX(box)); /* keep our model alive and detach from comboboxentry and completion */ g_object_ref(model); /* clear and populate */ ctx.model = model; ctx.except_key = except_key; ctx.kcur = 0; ctx.insert_type = insert_type; Account *acc = da_acc_get(except_key); if(acc != NULL) ctx.kcur = acc->kcur; gtk_list_store_clear (GTK_LIST_STORE(model)); //5.3 empty the entry gtk_entry_set_text(GTK_ENTRY (ui_acc_entry_popover_get_entry(GTK_BOX (box))), ""); g_hash_table_foreach(hash, (GHFunc)ui_acc_entry_popover_populate_ghfunc, &ctx); /* reatach our model */ g_object_unref(model); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(model), GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING); } static void ui_acc_entry_popover_function (GtkEditable *editable, gpointer user_data) { DB( g_print("text changed to %s\n", gtk_entry_get_text(GTK_ENTRY(editable)) ) ); } static void ui_acc_entry_popover_cb_toggled (GtkToggleButton *togglebutton, gpointer user_data) { GtkWidget *entry = user_data; GtkAllocation allocation; GtkPopover *popover; if(GTK_IS_ENTRY(entry)) { gtk_widget_get_allocation (entry, &allocation); popover = gtk_menu_button_get_popover(GTK_MENU_BUTTON(togglebutton)); if(GTK_IS_POPOVER(popover)) { gtk_widget_set_size_request (GTK_WIDGET(popover), allocation.width + (2*SPACING_POPOVER), -1); DB( g_print("should set width to %d\n", allocation.width + (2*SPACING_POPOVER)) ); } } } static gint ui_acc_entry_popover_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { gint pos1, pos2; gtk_tree_model_get(model, a, 1, &pos1, -1); gtk_tree_model_get(model, b, 1, &pos2, -1); return (pos1 - pos2); } static void ui_acc_entry_popover_destroy( GtkWidget *widget, gpointer user_data ) { DB( g_print ("[acc entry popover] destroy\n") ); } GtkWidget * ui_acc_entry_popover_new(GtkWidget *label) { GtkWidget *mainbox, *box, *entry, *menubutton, *image, *popover, *scrollwin, *treeview; GtkListStore *store; GtkEntryCompletion *completion; DB( g_print ("[acc entry popover] new\n") ); mainbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET(mainbox)), GTK_STYLE_CLASS_LINKED); entry = gtk_entry_new(); gtk_box_pack_start(GTK_BOX(mainbox), entry, TRUE, TRUE, 0); menubutton = gtk_menu_button_new (); //data->MB_template = menubutton; image = gtk_image_new_from_icon_name ("pan-down-symbolic", GTK_ICON_SIZE_BUTTON); gtk_container_add(GTK_CONTAINER(menubutton), image); gtk_menu_button_set_direction (GTK_MENU_BUTTON(menubutton), GTK_ARROW_LEFT ); //gtk_widget_set_halign (menubutton, GTK_ALIGN_END); gtk_box_pack_start(GTK_BOX(mainbox), menubutton, FALSE, FALSE, 0); completion = gtk_entry_completion_new (); gtk_entry_set_completion (GTK_ENTRY (entry), completion); g_object_unref(completion); store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_INT ); gtk_tree_sortable_set_default_sort_func(GTK_TREE_SORTABLE(store), ui_acc_entry_popover_compare_func, NULL, NULL); gtk_entry_completion_set_model (completion, GTK_TREE_MODEL(store)); g_object_unref(store); gtk_entry_completion_set_text_column (completion, 0); gtk_widget_show_all(mainbox); box = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING_MEDIUM); scrollwin = gtk_scrolled_window_new(NULL,NULL); gtk_box_pack_start(GTK_BOX(box), scrollwin, TRUE, TRUE, 0); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); //gtk_scrolled_window_set_min_content_height(GTK_SCROLLED_WINDOW(scrollwin), HB_MINHEIGHT_LIST); treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL(store)); gtk_container_add(GTK_CONTAINER(scrollwin), GTK_WIDGET(treeview)); gtk_widget_show_all(box); //gtk_widget_set_can_focus(GTK_WIDGET(treeview), FALSE); GtkCellRenderer *renderer; GtkTreeViewColumn *column; renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "ellipsize", PANGO_ELLIPSIZE_END, "ellipsize-set", TRUE, //taken from nemo, not exactly a resize to content, but good compromise "width-chars", 40, NULL); column = gtk_tree_view_column_new_with_attributes (NULL, renderer, "text", 0, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); gtk_tree_view_set_hover_selection(GTK_TREE_VIEW(treeview), TRUE); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(treeview), FALSE); gtk_tree_view_set_activate_on_single_click(GTK_TREE_VIEW(treeview), TRUE); //gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)), GTK_SELECTION_BROWSE); //popover = create_popover (menubutton, box, GTK_POS_BOTTOM); popover = create_popover (menubutton, box, GTK_POS_LEFT); //gtk_widget_set_size_request (popover, HB_MINWIDTH_LIST, HB_MINHEIGHT_LIST); gtk_widget_set_vexpand(popover, TRUE); gtk_menu_button_set_popover(GTK_MENU_BUTTON(menubutton), popover); // connect our dispose function g_signal_connect (entry, "destroy", G_CALLBACK (ui_acc_entry_popover_destroy), NULL); g_signal_connect_after (entry , "changed", G_CALLBACK (ui_acc_entry_popover_function), NULL); g_signal_connect (menubutton, "toggled", G_CALLBACK (ui_acc_entry_popover_cb_toggled), entry); g_signal_connect (treeview, "row-activated", G_CALLBACK (ui_acc_entry_popover_cb_row_activated), entry); #if( (GTK_MAJOR_VERSION == 3) && (GTK_MINOR_VERSION >= 22) ) g_signal_connect_swapped(treeview, "row-activated", G_CALLBACK(gtk_popover_popdown), popover); #else g_signal_connect_swapped(treeview, "row-activated", G_CALLBACK(gtk_widget_hide), popover); #endif //g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)), "changed", G_CALLBACK (ui_acc_entry_popover_cb_selection), entry); //g_signal_connect_swapped(gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)), "changed", G_CALLBACK(gtk_popover_popdown), popover); if(label) gtk_label_set_mnemonic_widget (GTK_LABEL(label), entry); //gtk_widget_set_size_request(comboboxentry, HB_MINWIDTH_LIST, -1); return mainbox; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /** * ui_acc_comboboxentry_get_key: * * get the key of the active account * and create the account if it do not exists * * Return value: the key or 0 * */ guint32 ui_acc_comboboxentry_get_key(GtkComboBox *entry_box) { gchar *name; Account *item; name = (gchar *)gtk_entry_get_text(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box)))); item = da_acc_get_by_name(name); if( item == NULL ) { //todo: future : ask the user here return 0; } return item->key; } Account *ui_acc_comboboxentry_get(GtkComboBox *entry_box) { Account *item = NULL; gchar *name; name = (gchar *)gtk_entry_get_text(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box)))); item = da_acc_get_by_name(name); return item; } gboolean ui_acc_comboboxentry_set_active(GtkComboBox *entry_box, guint32 key) { Account *item; if( key > 0 ) { item = da_acc_get(key); if( (item != NULL) ) { gtk_entry_set_text(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box))), item->name); return TRUE; } } gtk_entry_set_text(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box))), ""); return FALSE; } /** * ui_acc_comboboxentry_add: * * Add a single element (useful for dynamics add) * * Return value: -- * */ void ui_acc_comboboxentry_add(GtkComboBox *entry_box, Account *acc) { if( acc->name != NULL ) { GtkTreeModel *model; GtkTreeIter iter; model = gtk_combo_box_get_model(GTK_COMBO_BOX(entry_box)); gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, 0, acc->name, 1, acc->pos, -1); } } static void ui_acc_comboboxentry_populate_ghfunc(gpointer key, gpointer value, struct accPopContext *ctx) { GtkTreeIter iter; Account *acc = value; if( (acc->flags & AF_CLOSED) ) return; if( (ctx->insert_type == ACC_LST_INSERT_REPORT) && (acc->flags & AF_NOREPORT) ) return; if( (acc->key == ctx->except_key) ) return; //todo check this if( (ctx->kcur > 0 ) && (acc->kcur != ctx->kcur) ) return; DB( g_print (" -> append %s\n", acc->name) ); gtk_list_store_append (GTK_LIST_STORE(ctx->model), &iter); gtk_list_store_set (GTK_LIST_STORE(ctx->model), &iter, 0, acc->name, 1, acc->pos, -1); } /** * ui_acc_comboboxentry_populate: * * Populate the list and completion * * Return value: -- * */ void ui_acc_comboboxentry_populate(GtkComboBox *entry_box, GHashTable *hash, gint insert_type) { ui_acc_comboboxentry_populate_except(entry_box, hash, 0, insert_type); } void ui_acc_comboboxentry_populate_except(GtkComboBox *entry_box, GHashTable *hash, guint except_key, gint insert_type) { GtkTreeModel *model; GtkEntryCompletion *completion; struct accPopContext ctx; DB( g_print ("ui_acc_comboboxentry_populate\n") ); DB( g_print (" -> except is %d\n", except_key) ); model = gtk_combo_box_get_model(GTK_COMBO_BOX(entry_box)); completion = gtk_entry_get_completion(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box)))); /* keep our model alive and detach from comboboxentry and completion */ g_object_ref(model); gtk_combo_box_set_model(GTK_COMBO_BOX(entry_box), NULL); gtk_entry_completion_set_model (completion, NULL); /* clear and populate */ ctx.model = model; ctx.except_key = except_key; ctx.kcur = 0; ctx.insert_type = insert_type; Account *acc = da_acc_get(except_key); if(acc != NULL) ctx.kcur = acc->kcur; gtk_list_store_clear (GTK_LIST_STORE(model)); //5.3 empty the entry gtk_entry_set_text(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box))), ""); g_hash_table_foreach(hash, (GHFunc)ui_acc_comboboxentry_populate_ghfunc, &ctx); /* reatach our model */ gtk_combo_box_set_model(GTK_COMBO_BOX(entry_box), model); gtk_entry_completion_set_model (completion, model); g_object_unref(model); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(model), GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING); } static gint ui_acc_comboboxentry_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { gint pos1, pos2; gtk_tree_model_get(model, a, 1, &pos1, -1); gtk_tree_model_get(model, b, 1, &pos2, -1); return (pos1 - pos2); } /** * ui_acc_comboboxentry_new: * * Create a new account comboboxentry * * Return value: the new widget * */ GtkWidget * ui_acc_comboboxentry_new(GtkWidget *label) { GtkListStore *store; GtkWidget *comboboxentry; GtkEntryCompletion *completion; store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_INT); gtk_tree_sortable_set_default_sort_func(GTK_TREE_SORTABLE(store), ui_acc_comboboxentry_compare_func, NULL, NULL); //gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING); completion = gtk_entry_completion_new (); gtk_entry_completion_set_model (completion, GTK_TREE_MODEL(store)); gtk_entry_completion_set_text_column (completion, 0); /* renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (completion), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (completion), renderer, "text", 0, NULL); */ comboboxentry = gtk_combo_box_new_with_model_and_entry(GTK_TREE_MODEL(store)); gtk_entry_set_completion (GTK_ENTRY (gtk_bin_get_child(GTK_BIN (comboboxentry))), completion); gtk_combo_box_set_entry_text_column(GTK_COMBO_BOX(comboboxentry), 0); /* gtk_cell_layout_clear(GTK_CELL_LAYOUT (comboboxentry)); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (comboboxentry), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (comboboxentry), renderer, "text", 0, NULL); */ g_object_unref(store); if(label) gtk_label_set_mnemonic_widget (GTK_LABEL(label), comboboxentry); //gtk_widget_set_size_request(comboboxentry, HB_MINWIDTH_LIST, -1); return comboboxentry; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void ui_acc_listview_toggled_cb (GtkCellRendererToggle *cell, gchar *path_str, gpointer data) { GtkTreeModel *model = (GtkTreeModel *)data; GtkTreeIter iter; GtkTreePath *path = gtk_tree_path_new_from_string (path_str); gboolean fixed; /* get toggled iter */ gtk_tree_model_get_iter (model, &iter, path); gtk_tree_model_get (model, &iter, LST_DEFACC_TOGGLE, &fixed, -1); /* do something with the value */ fixed ^= 1; /* set new value */ gtk_list_store_set (GTK_LIST_STORE (model), &iter, LST_DEFACC_TOGGLE, fixed, -1); /* clean up */ gtk_tree_path_free (path); } static gint ui_acc_listview_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { gint retval = 0; Account *entry1, *entry2; //gchar *name1, *name2; gtk_tree_model_get(model, a, LST_DEFACC_DATAS, &entry1, -1); gtk_tree_model_get(model, b, LST_DEFACC_DATAS, &entry2, -1); retval = entry1->pos - entry2->pos; return retval; } static void ui_acc_listview_icon_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Account *entry; gchar *iconname = NULL; gtk_tree_model_get(model, iter, LST_DEFACC_DATAS, &entry, -1); if( entry->flags & AF_CLOSED ) iconname = ICONNAME_CHANGES_PREVENT; else { if( !(entry->flags & AF_NOBUDGET) ) iconname = ICONNAME_HB_OPE_BUDGET; } g_object_set(renderer, "icon-name", iconname, NULL); } static void ui_acc_listview_name_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Account *entry; gchar *name; #if MYDEBUG gchar *string; #endif gtk_tree_model_get(model, iter, LST_DEFACC_DATAS, &entry, -1); if(entry->name == NULL) name = _("(none)"); // can never occurs ! else name = entry->name; #if MYDEBUG string = g_strdup_printf ("[%d] %s", entry->key, name ); g_object_set(renderer, "text", string, NULL); g_free(string); #else g_object_set(renderer, "text", name, NULL); #endif } /* = = = = = = = = = = = = = = = = */ /** * acc_list_add: * * Add a single element (useful for dynamics add) * * Return value: -- * */ void ui_acc_listview_add(GtkTreeView *treeview, Account *item) { if( item->name != NULL ) { GtkTreeModel *model; GtkTreeIter iter; model = gtk_tree_view_get_model(treeview); gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, LST_DEFACC_TOGGLE, FALSE, LST_DEFACC_DATAS, item, -1); gtk_tree_selection_select_iter (gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)), &iter); } } guint32 ui_acc_listview_get_selected_key(GtkTreeView *treeview) { GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; selection = gtk_tree_view_get_selection(treeview); if (gtk_tree_selection_get_selected(selection, &model, &iter)) { Account *item; gtk_tree_model_get(model, &iter, LST_DEFACC_DATAS, &item, -1); if( item!= NULL ) return item->key; } return 0; } void ui_acc_listview_remove_selected(GtkTreeView *treeview) { GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; selection = gtk_tree_view_get_selection(treeview); if (gtk_tree_selection_get_selected(selection, &model, &iter)) { gtk_list_store_remove(GTK_LIST_STORE(model), &iter); } } static gint ui_acc_glist_compare_func(Account *a, Account *b) { return ((gint)a->pos - b->pos); } void ui_acc_listview_populate(GtkWidget *view, gint insert_type) { GtkTreeModel *model; GtkTreeIter iter; GList *lacc, *list; model = gtk_tree_view_get_model(GTK_TREE_VIEW(view)); gtk_list_store_clear (GTK_LIST_STORE(model)); g_object_ref(model); /* Make sure the model stays with us after the tree view unrefs it */ gtk_tree_view_set_model(GTK_TREE_VIEW(view), NULL); /* Detach model from view */ /* populate */ //g_hash_table_foreach(GLOBALS->h_acc, (GHFunc)ui_acc_listview_populate_ghfunc, model); list = g_hash_table_get_values(GLOBALS->h_acc); lacc = list = g_list_sort(list, (GCompareFunc)ui_acc_glist_compare_func); while (list != NULL) { Account *item = list->data; if( insert_type == ACC_LST_INSERT_REPORT ) { //#1674045 ony rely on nosummary //if( (item->flags & AF_CLOSED) ) goto next1; if( (item->flags & AF_NOREPORT) ) goto next1; } DB( g_print(" populate: %d\n", item->key) ); gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, LST_DEFACC_TOGGLE , FALSE, LST_DEFACC_DATAS, item, -1); next1: list = g_list_next(list); } g_list_free(lacc); gtk_tree_view_set_model(GTK_TREE_VIEW(view), model); /* Re-attach model to view */ g_object_unref(model); } GtkWidget * ui_acc_listview_new(gboolean withtoggle) { GtkListStore *store; GtkWidget *treeview; GtkCellRenderer *renderer; GtkTreeViewColumn *column; // create list store store = gtk_list_store_new(NUM_LST_DEFACC, G_TYPE_BOOLEAN, G_TYPE_POINTER ); // treeview treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); g_object_unref(store); gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (treeview), PREFS->grid_lines); // column 1: toggle if( withtoggle == TRUE ) { renderer = gtk_cell_renderer_toggle_new (); column = gtk_tree_view_column_new_with_attributes (_("Visible"), renderer, "active", LST_DEFACC_TOGGLE, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); g_signal_connect (renderer, "toggled", G_CALLBACK (ui_acc_listview_toggled_cb), store); } // column 2: name column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Account")); renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "ellipsize", PANGO_ELLIPSIZE_END, "ellipsize-set", TRUE, NULL); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_acc_listview_name_cell_data_function, GINT_TO_POINTER(LST_DEFACC_DATAS), NULL); renderer = gtk_cell_renderer_pixbuf_new (); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_acc_listview_icon_cell_data_function, GINT_TO_POINTER(LST_DEFACC_DATAS), NULL); gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // treeviewattribute gtk_tree_view_set_headers_visible (GTK_TREE_VIEW(treeview), !withtoggle); gtk_tree_view_set_reorderable (GTK_TREE_VIEW(treeview), TRUE); gtk_tree_sortable_set_default_sort_func(GTK_TREE_SORTABLE(store), ui_acc_listview_compare_func, NULL, NULL); //gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING); return treeview; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /* ** get widgets contents to the selected account */ /* static void ui_acc_manage_get(GtkWidget *widget, gpointer user_data) { struct ui_acc_manage_data *data; GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; gchar *txt; gboolean bool; gdouble value; Account *item; gint field = GPOINTER_TO_INT(user_data); DB( g_print("(ui_acc_manage_) get %d\n", field) ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_acc)); //if true there is a selected node if (gtk_tree_selection_get_selected(selection, &model, &iter)) { gtk_tree_model_get(model, &iter, LST_DEFACC_DATAS, &item, -1); data->change++; switch( field ) { case FIELD_NAME: txt = (gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_name)); // ignore if entry is empty if (txt && *txt) { bool = account_rename(item, txt); if(bool) { gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_acc)); } else { gtk_entry_set_text(GTK_ENTRY(data->ST_name), item->name); } } break; //case FIELD_TYPE: // item->type = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_type)); // break; case FIELD_BANK: g_free(item->bankname); item->bankname = g_strdup(gtk_entry_get_text(GTK_ENTRY(data->ST_institution))); break; case FIELD_NUMBER: g_free(item->number); item->number = g_strdup(gtk_entry_get_text(GTK_ENTRY(data->ST_number))); break; case FIELD_BUDGET: item->flags &= ~(AF_BUDGET); bool = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_nobudget)); if(bool) item->flags |= AF_BUDGET; break; case FIELD_CLOSED: item->flags &= ~(AF_CLOSED); bool = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_closed)); if(bool) item->flags |= AF_CLOSED; break; case FIELD_INITIAL: value = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_initial)); item->initial = value; break; case FIELD_MINIMUM: value = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_overdraft)); item->minimum = value; break; case FIELD_CHEQUE1: item->cheque1 = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(data->ST_cheque1)); break; case FIELD_CHEQUE2: item->cheque2 = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(data->ST_cheque2)); break; } } } */ static gchar *dialog_get_name(gchar *title, gchar *origname, GtkWindow *parentwindow) { GtkWidget *dialog, *content, *mainvbox, *getwidget; gchar *retval = NULL; dialog = gtk_dialog_new_with_buttons (title, GTK_WINDOW (parentwindow), 0, _("_Cancel"), GTK_RESPONSE_REJECT, _("_OK"), GTK_RESPONSE_ACCEPT, NULL); content = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); mainvbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (content), mainvbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (mainvbox), SPACING_SMALL); getwidget = gtk_entry_new(); gtk_box_pack_start (GTK_BOX (mainvbox), getwidget, TRUE, TRUE, 0); gtk_widget_show_all(mainvbox); if(origname != NULL) gtk_entry_set_text(GTK_ENTRY(getwidget), origname); gtk_widget_grab_focus (getwidget); gtk_entry_set_activates_default (GTK_ENTRY(getwidget), TRUE); gtk_dialog_set_default_response(GTK_DIALOG( dialog ), GTK_RESPONSE_ACCEPT); //wait for the user gint result = gtk_dialog_run (GTK_DIALOG (dialog)); if(result == GTK_RESPONSE_ACCEPT) { const gchar *name; name = gtk_entry_get_text(GTK_ENTRY(getwidget)); /* ignore if entry is empty */ if (name && *name) { retval = g_strdup(name); } } // cleanup and destroy gtk_widget_destroy (dialog); return retval; } static void ui_acc_manage_getlast(struct ui_acc_manage_data *data) { gboolean bool; gdouble value; Account *item; DB( g_print("\n(ui_acc_manage_getlast)\n") ); DB( g_print(" -> for account id=%d\n", data->lastkey) ); item = da_acc_get(data->lastkey); if(item != NULL) { data->change++; item->type = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_type)); account_set_currency(item, ui_cur_combobox_get_key(GTK_COMBO_BOX(data->CY_curr)) ); g_free(item->bankname); item->bankname = g_strdup(gtk_entry_get_text(GTK_ENTRY(data->ST_institution))); g_free(item->number); item->number = g_strdup(gtk_entry_get_text(GTK_ENTRY(data->ST_number))); item->kgrp = ui_grp_comboboxentry_get_key_add_new(GTK_COMBO_BOX(data->ST_group)); GtkTextBuffer *buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (data->TB_notes)); GtkTextIter siter, eiter; gchar *notes; gtk_text_buffer_get_iter_at_offset (buffer, &siter, 0); gtk_text_buffer_get_end_iter(buffer, &eiter); notes = gtk_text_buffer_get_text(buffer, &siter, &eiter, FALSE); if(notes != NULL) item->notes = g_strdup(notes); item->flags &= ~(AF_CLOSED); bool = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_closed)); if(bool) item->flags |= AF_CLOSED; item->flags &= ~(AF_NOBUDGET); bool = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_nobudget)); if(bool) item->flags |= AF_NOBUDGET; item->flags &= ~(AF_NOSUMMARY); bool = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_nosummary)); if(bool) item->flags |= AF_NOSUMMARY; item->flags &= ~(AF_NOREPORT); bool = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_noreport)); if(bool) item->flags |= AF_NOREPORT; gtk_spin_button_update(GTK_SPIN_BUTTON(data->ST_initial)); value = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_initial)); item->initial = value; //gtk_spin_button_update(GTK_SPIN_BUTTON(data->ST_warning)); //value = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_warning)); //item->warning = value; gtk_spin_button_update(GTK_SPIN_BUTTON(data->ST_overdraft)); value = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_overdraft)); item->minimum = value; gtk_spin_button_update(GTK_SPIN_BUTTON(data->ST_cheque1)); item->cheque1 = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(data->ST_cheque1)); gtk_spin_button_update(GTK_SPIN_BUTTON(data->ST_cheque2)); item->cheque2 = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(data->ST_cheque2)); item->karc= hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_template)); //active_id = gtk_combo_box_get_active_id(GTK_COMBO_BOX(data->CY_template)); //item->karc = atoi(active_id); } } //#1743254 set frac digits as well static void ui_acc_manage_changed_curr_cb(GtkWidget *widget, gpointer user_data) { struct ui_acc_manage_data *data; guint32 key; Currency *cur; DB( g_print("\n(ui_acc_manage changed_curr_cb)\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); key = ui_cur_combobox_get_key(GTK_COMBO_BOX(data->CY_curr)); cur = da_cur_get (key); if( cur != NULL ) { DB( g_print("- set digits to '%s' %d\n", cur->name, cur->frac_digits) ); gtk_spin_button_set_digits (GTK_SPIN_BUTTON(data->ST_initial), cur->frac_digits); gtk_spin_button_set_digits (GTK_SPIN_BUTTON(data->ST_overdraft), cur->frac_digits); } } /* ** set widgets contents from the selected account */ static void ui_acc_manage_set(GtkWidget *widget, gpointer user_data) { struct ui_acc_manage_data *data; GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; Account *item; //gchar idbuffer[12]; DB( g_print("\n(ui_acc_manage_set)\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_acc)); //if true there is a selected node if (gtk_tree_selection_get_selected(selection, &model, &iter)) { gtk_tree_model_get(model, &iter, LST_DEFACC_DATAS, &item, -1); DB( g_print(" -> set acc id=%d\n", item->key) ); hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_type), item->type ); ui_cur_combobox_set_active(GTK_COMBO_BOX(data->CY_curr), item->kcur); if(item->bankname != NULL) gtk_entry_set_text(GTK_ENTRY(data->ST_institution), item->bankname); else gtk_entry_set_text(GTK_ENTRY(data->ST_institution), ""); if(item->number != NULL) gtk_entry_set_text(GTK_ENTRY(data->ST_number), item->number); else gtk_entry_set_text(GTK_ENTRY(data->ST_number), ""); ui_grp_comboboxentry_set_active(GTK_COMBO_BOX(data->ST_group), item->kgrp); GtkTextBuffer *buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (data->TB_notes)); GtkTextIter iter; gtk_text_buffer_set_text (buffer, "", 0); gtk_text_buffer_get_iter_at_offset (buffer, &iter, 0); if(item->notes != NULL) gtk_text_buffer_insert (buffer, &iter, item->notes, -1); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_nobudget), item->flags & AF_NOBUDGET); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_nosummary), item->flags & AF_NOSUMMARY); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_noreport), item->flags & AF_NOREPORT); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_closed), item->flags & AF_CLOSED); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->ST_initial), item->initial); //gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->ST_warning), item->warning); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->ST_overdraft), item->minimum); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->ST_cheque1), item->cheque1); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->ST_cheque2), item->cheque2); hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_template), item->karc); //g_snprintf(idbuffer, 11, "%d", item->karc); //gtk_combo_box_set_active_id(GTK_COMBO_BOX(data->CY_template), idbuffer); } } /* static gboolean ui_acc_manage_focus_out(GtkWidget *widget, GdkEventFocus *event, gpointer user_data) { ui_acc_manage_get(widget, user_data); return FALSE; } */ /* ** update the widgets status and contents from action/selection value */ static void ui_acc_manage_update(GtkWidget *widget, gpointer user_data) { struct ui_acc_manage_data *data; GtkTreeModel *model; GtkTreeIter iter; gboolean selected, sensitive; guint32 key; //gboolean is_new; DB( g_print("\n(ui_acc_manage_update)\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); //window = gtk_widget_get_ancestor(GTK_WIDGET(treeview), GTK_TYPE_WINDOW); //DB( g_print("(defpayee) widget=%08lx, window=%08lx, inst_data=%08lx\n", treeview, window, data) ); //if true there is a selected node selected = gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_acc)), &model, &iter); key = ui_acc_listview_get_selected_key(GTK_TREE_VIEW(data->LV_acc)); DB( g_print(" -> selected = %d action = %d key = %d\n", selected, data->action, key) ); //todo amiga/linux /* if(acc) { // check for archives related for(i=0;;i++) { struct Archive *arc; DoMethod(data->mwd->LV_arc, MUIM_List_GetEntry, i, &arc); if(!arc) break; if(arc->arc_Account == acc->acc_Id) { nbarc++; break; } } // check for transaction related for(i=0;;i++) { struct Transaction *ope; DoMethod(data->mwd->LV_ope, MUIM_List_GetEntry, i, &ope); if(!ope) break; if(ope->ope_Account == acc->acc_Id) { nbope++; break; } } } */ //todo: lock type if oldpos!=0 /* if( selected ) { gtk_tree_model_get(model, &iter, LST_DEFACC_NEW, &is_new, -1); gtk_widget_set_sensitive(data->CY_type, is_new); } */ sensitive = (selected == TRUE) ? TRUE : FALSE; gtk_widget_set_sensitive(data->notebook, sensitive); sensitive = (selected == TRUE && data->action == 0) ? TRUE : FALSE; gtk_widget_set_sensitive(data->BT_edit, sensitive); gtk_widget_set_sensitive(data->BT_rem, sensitive); if(selected) { if(key != data->lastkey) { DB( g_print(" -> should first do a get for account %d\n", data->lastkey) ); ui_acc_manage_getlast(data); } ui_acc_manage_set(widget, NULL); } data->lastkey = key; } /* ** add an empty new account to our temp GList and treeview */ static void ui_acc_manage_add(GtkWidget *widget, gpointer user_data) { struct ui_acc_manage_data *data; Account *item; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n(ui_acc_manage_add) data=%p\n", data) ); gchar *name = dialog_get_name(_("Account name"), NULL, GTK_WINDOW(data->dialog)); if(name != NULL) { if(account_exists(name)) { ui_dialog_msg_infoerror(GTK_WINDOW(data->dialog), GTK_MESSAGE_ERROR, _("Error"), _("Cannot add an account '%s',\n" "this name already exists."), name ); } else { item = da_acc_malloc(); item->name = name; //g_strdup_printf( _("(account %d)"), da_acc_length()+1); item->kcur = GLOBALS->kcur; g_strstrip(item->name); if( strlen(item->name) > 0 ) { if( da_acc_append(item) ) { ui_acc_listview_add(GTK_TREE_VIEW(data->LV_acc), item); data->change++; } } } } } /* ** delete the selected account to our treeview and temp GList */ static void ui_acc_manage_delete(GtkWidget *widget, gpointer user_data) { struct ui_acc_manage_data *data; Account *item; guint32 key; gint result; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n(ui_acc_manage_remove) data=%p\n", data) ); key = ui_acc_listview_get_selected_key(GTK_TREE_VIEW(data->LV_acc)); if( key > 0 ) { item = da_acc_get(key); if( account_is_used(key) == TRUE ) { gchar *title; title = g_strdup_printf ( _("Cannot delete account '%s'"), item->name); ui_dialog_msg_infoerror(GTK_WINDOW(data->dialog), GTK_MESSAGE_ERROR, title, _("This account contains transactions and/or is part of internal transfers.") ); g_free(title); } else { gchar *title; gchar *secondtext; title = g_strdup_printf ( _("Are you sure you want to permanently delete '%s'?"), item->name); secondtext = _("If you delete an account, it will be permanently lost."); result = ui_dialog_msg_confirm_alert( GTK_WINDOW(data->dialog), title, secondtext, _("_Delete") ); g_free(title); if( result == GTK_RESPONSE_OK ) { da_acc_remove(key); ui_acc_listview_remove_selected(GTK_TREE_VIEW(data->LV_acc)); data->change++; } } } } /* ** rename the selected account to our treeview and temp GList */ static void ui_acc_manage_rename(GtkWidget *widget, gpointer user_data) { struct ui_acc_manage_data *data; Account *item; guint32 key; gboolean bool; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n(ui_acc_manage_rename) data=%p\n", data) ); key = ui_acc_listview_get_selected_key(GTK_TREE_VIEW(data->LV_acc)); if( key > 0 ) { item = da_acc_get(key); gchar *name = dialog_get_name(_("Account name"), item->name, GTK_WINDOW(data->dialog)); if(name != NULL) { if(account_exists(name)) { ui_dialog_msg_infoerror(GTK_WINDOW(data->dialog), GTK_MESSAGE_ERROR, _("Error"), _("Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists."), item->name, name ); } else { bool = account_rename(item, name); if(bool) { gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_acc)); data->change++; } } } } } static void ui_acc_manage_toggled_nobudget(GtkWidget *widget, gpointer user_data) { struct ui_acc_manage_data *data; GtkTreeModel *model; GtkTreeIter iter; GtkTreePath *path; Account *accitem; gboolean selected, bool; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n(ui_acc_manage_toggled_nobudget) data=%p\n", data) ); selected = gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_acc)), &model, &iter); if(selected) { gtk_tree_model_get(model, &iter, LST_DEFACC_DATAS, &accitem, -1); accitem->flags &= ~(AF_NOBUDGET); bool = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_nobudget)); if(bool) accitem->flags |= AF_NOBUDGET; /* redraw the row to display/hide the icon */ path = gtk_tree_model_get_path(model, &iter); gtk_tree_model_row_changed(model, path, &iter); gtk_tree_path_free (path); // gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_arc)); //gtk_widget_queue_draw (GTK_WIDGET(data->LV_arc)); } } static void ui_acc_manage_toggled_closed(GtkWidget *widget, gpointer user_data) { struct ui_acc_manage_data *data; GtkTreeModel *model; GtkTreeIter iter; GtkTreePath *path; Account *accitem; gboolean selected, bool; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n(ui_acc_manage_toggled_closed) data=%p\n", data) ); selected = gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_acc)), &model, &iter); if(selected) { gtk_tree_model_get(model, &iter, LST_DEFACC_DATAS, &accitem, -1); accitem->flags &= ~(AF_CLOSED); bool = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_closed)); if(bool) accitem->flags |= AF_CLOSED; /* redraw the row to display/hide the icon */ path = gtk_tree_model_get_path(model, &iter); gtk_tree_model_row_changed(model, path, &iter); gtk_tree_path_free (path); // gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_arc)); //gtk_widget_queue_draw (GTK_WIDGET(data->LV_arc)); } } static void ui_acc_manage_rowactivated (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *col, gpointer userdata) { //struct account_data *data; //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(treeview), GTK_TYPE_WINDOW)), "inst_data"); ui_acc_manage_rename(GTK_WIDGET(treeview), NULL); } /* ** */ static void ui_acc_manage_selection(GtkTreeSelection *treeselection, gpointer user_data) { ui_acc_manage_update(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), NULL); } //gint ui_acc_manage_list_sort(struct _Account *a, struct _Account *b) { return( a->acc_Id - b->acc_Id); } /* ** */ static gboolean ui_acc_manage_cleanup(struct ui_acc_manage_data *data, gint result) { GtkTreeModel *model; GtkTreeIter iter; gboolean valid; guint32 i; guint32 key; gboolean doupdate = FALSE; DB( g_print("\n(ui_acc_manage_cleanup) %p\n", data) ); key = ui_acc_listview_get_selected_key(GTK_TREE_VIEW(data->LV_acc)); if(key > 0) { data->lastkey = key; DB( g_print(" -> should first do a get for account %d\n", data->lastkey) ); ui_acc_manage_getlast(data); } // test for change & store new position model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_acc)); i=1; valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { Account *item; gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, LST_DEFACC_DATAS, &item, -1); DB( g_print(" -> check acc %d, pos is %d, %s\n", i, item->pos, item->name) ); if(item->pos != i) data->change++; item->pos = i; // Make iter point to the next row in the list store i++; valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } GLOBALS->changes_count += data->change; group_delete_unused(); return doupdate; } /* ** */ static void ui_acc_manage_setup(struct ui_acc_manage_data *data) { GList *tmplist; DB( g_print("\n(ui_acc_manage_setup)\n") ); //init GList data->tmp_list = NULL; //hb-glist_clone_list(GLOBALS->acc_list, sizeof(struct _Account)); data->action = 0; data->change = 0; data->lastkey = 0; ui_acc_listview_populate(data->LV_acc, ACC_LST_INSERT_NORMAL); ui_cur_combobox_populate(GTK_COMBO_BOX(data->CY_curr), GLOBALS->h_cur); //populate_view_acc(data->LV_acc, GLOBALS->acc_list, TRUE); ui_grp_comboboxentry_populate(GTK_COMBO_BOX(data->ST_group), GLOBALS->h_grp); //populate template hbtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(data->CY_template), 0, _("(none)")); gtk_combo_box_set_active(GTK_COMBO_BOX(data->CY_template), 0); tmplist = g_list_first(GLOBALS->arc_list); while (tmplist != NULL) { Archive *item = tmplist->data; if( !(item->flags & OF_AUTO) ) { hbtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(data->CY_template), item->key, item->memo); } tmplist = g_list_next(tmplist); } } /* ** */ GtkWidget *ui_acc_manage_dialog (void) { struct ui_acc_manage_data *data; GtkWidget *dialog, *content, *mainbox, *vbox, *scrollwin, *notebook; GtkWidget *content_grid, *group_grid, *tbar, *bbox; GtkWidget *label, *widget, *hpaned; GtkToolItem *toolitem; gint w, h, row; data = g_malloc0(sizeof(struct ui_acc_manage_data)); if(!data) return NULL; dialog = gtk_dialog_new_with_buttons (_("Manage Accounts"), GTK_WINDOW(GLOBALS->mainwindow), 0, _("_Close"), GTK_RESPONSE_ACCEPT, NULL); data->dialog = dialog; //set the dialog icon gtk_window_set_icon_name(GTK_WINDOW (dialog), ICONNAME_HB_ACCOUNT); //set a nice dialog size gtk_window_get_size(GTK_WINDOW(GLOBALS->mainwindow), &w, &h); gtk_window_set_default_size (GTK_WINDOW(dialog), -1, h/PHI); //store our dialog private data g_object_set_data(G_OBJECT(dialog), "inst_data", (gpointer)data); DB( g_print("(ui_acc_manage_) dialog=%p, inst_data=%p\n", dialog, data) ); //window contents content = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); mainbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); gtk_box_pack_start (GTK_BOX (content), mainbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER(mainbox), SPACING_MEDIUM); hpaned = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (mainbox), hpaned, TRUE, TRUE, 0); // set paned position //w = w/PHI; //gtk_paned_set_position(GTK_PANED(hpaned), w - (w/PHI)); /* left area */ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_widget_set_margin_end(vbox, SPACING_SMALL); gtk_paned_pack1 (GTK_PANED(hpaned), vbox, FALSE, FALSE); scrollwin = gtk_scrolled_window_new(NULL,NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN); data->LV_acc = ui_acc_listview_new(FALSE); gtk_widget_set_size_request(data->LV_acc, HB_MINWIDTH_LIST, -1); gtk_container_add(GTK_CONTAINER(scrollwin), data->LV_acc); //gtk_widget_set_tooltip_text(data->LV_acc, _("Drag & drop to change the order\nDouble-click to rename")); gtk_box_pack_start (GTK_BOX (vbox), scrollwin, TRUE, TRUE, 0); tbar = gtk_toolbar_new(); gtk_toolbar_set_icon_size (GTK_TOOLBAR(tbar), GTK_ICON_SIZE_MENU); gtk_toolbar_set_style(GTK_TOOLBAR(tbar), GTK_TOOLBAR_ICONS); gtk_style_context_add_class (gtk_widget_get_style_context (tbar), GTK_STYLE_CLASS_INLINE_TOOLBAR); gtk_box_pack_start (GTK_BOX (vbox), tbar, FALSE, FALSE, 0); bbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); toolitem = gtk_tool_item_new(); gtk_container_add (GTK_CONTAINER(toolitem), bbox); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); widget = make_image_button(ICONNAME_LIST_ADD, _("Add")); data->BT_add = widget; gtk_container_add (GTK_CONTAINER(bbox), widget); widget = make_image_button(ICONNAME_LIST_EDIT, _("Rename")); data->BT_edit = widget; gtk_container_add (GTK_CONTAINER(bbox), widget); widget = make_image_button(ICONNAME_LIST_DELETE, _("Delete")); data->BT_rem = widget; gtk_container_add (GTK_CONTAINER(bbox), widget); toolitem = gtk_separator_tool_item_new (); gtk_tool_item_set_expand (toolitem, TRUE); gtk_separator_tool_item_set_draw(GTK_SEPARATOR_TOOL_ITEM(toolitem), FALSE); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); toolitem = gtk_tool_item_new (); widget = gtk_image_new_from_icon_name (ICONNAME_INFO, GTK_ICON_SIZE_BUTTON); gtk_widget_set_tooltip_text(widget, _("Drag & drop to change the order\nDouble-click to rename")); gtk_container_add (GTK_CONTAINER(toolitem), widget); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); /* right area */ notebook = gtk_notebook_new(); data->notebook = notebook; gtk_widget_set_margin_start(notebook, SPACING_SMALL); gtk_paned_pack2 (GTK_PANED(hpaned), notebook, FALSE, FALSE); /* page :: General */ content_grid = gtk_grid_new(); gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL); gtk_container_set_border_width (GTK_CONTAINER(content_grid), SPACING_MEDIUM); label = gtk_label_new(_("General")); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), content_grid, label); // group :: Account group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, 0, 1, 1); //label = make_label_group(_("Account")); //gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 0; label = make_label_widget(_("_Type:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); //widget = make_cycle(label, CYA_ACC_TYPE); widget = hbtk_combo_box_new_with_data(label, CYA_ACC_TYPE); data->CY_type = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; label = make_label_widget(_("_Group:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); //widget = make_string(label); widget = ui_grp_comboboxentry_new(label); data->ST_group = widget; gtk_widget_set_hexpand(widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 2, 1); row++; label = make_label_widget(_("_Institution:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_string(label); data->ST_institution = widget; gtk_widget_set_hexpand(widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 2, 1); row++; label = make_label_widget(_("N_umber:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_string(label); data->ST_number = widget; gtk_widget_set_hexpand(widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 2, 1); row++; label = make_label_widget(_("Start _balance:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_amount(label); data->ST_initial = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; label = make_label_widget(_("_Currency:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = ui_cur_combobox_new(label); data->CY_curr = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("this account was _closed")); data->CM_closed = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 2, 1); row++; label = make_label_widget(_("Notes:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = gtk_text_view_new (); //#1697171 add wrap gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(widget), GTK_WRAP_WORD); scrollwin = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_size_request (scrollwin, -1, 48); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN); gtk_container_add (GTK_CONTAINER (scrollwin), widget); gtk_widget_set_hexpand (scrollwin, TRUE); gtk_widget_set_vexpand (scrollwin, TRUE); data->TB_notes = widget; gtk_grid_attach (GTK_GRID (group_grid), scrollwin, 2, row, 2, 1); /* page :: Behaviour */ content_grid = gtk_grid_new(); gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL); gtk_container_set_border_width (GTK_CONTAINER(content_grid), SPACING_MEDIUM); label = gtk_label_new(_("Behaviour")); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), content_grid, label); // group :: miscelleaneous group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, 1, 1, 1); label = make_label_group(_("Automation")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 2, 1); row = 1; label = make_label_widget(_("Default _Template:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = hbtk_combo_box_new(label); data->CY_template = widget; gtk_widget_set_hexpand(widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 2, 1); // group :: Report exclusion group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, 2, 1, 1); label = make_label_group(_("Report exclusion")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 2, 1); row = 1; widget = gtk_check_button_new_with_mnemonic (_("exclude from account _summary")); data->CM_nosummary = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("exclude from the _budget")); data->CM_nobudget = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("exclude from any _reports")); data->CM_noreport = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); /* page :: Misc. */ content_grid = gtk_grid_new(); gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL); gtk_container_set_border_width (GTK_CONTAINER(content_grid), SPACING_MEDIUM); label = gtk_label_new(_("Misc.")); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), content_grid, label); // group :: Current check number group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, 3, 1, 1); label = make_label_group(_("Current check number")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; label = make_label_widget(_("Checkbook _1:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_long (label); data->ST_cheque1 = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; label = make_label_widget(_("Checkbook _2:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_long (label); data->ST_cheque2 = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); // group :: Institution group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, 0, 1, 1); label = make_label_group(_("Balance limits")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row++; label = make_label_widget(_("_Overdraft at:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_amount(label); data->ST_overdraft = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); //TODO: warning/absolute minimum balance /* label = make_label_widget(_("_Warning at:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_amount(label); data->ST_warning = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); */ //connect all our signals g_signal_connect (dialog, "destroy", G_CALLBACK (gtk_widget_destroyed), &dialog); g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_acc)), "changed", G_CALLBACK (ui_acc_manage_selection), NULL); g_signal_connect (GTK_TREE_VIEW(data->LV_acc), "row-activated", G_CALLBACK (ui_acc_manage_rowactivated), GINT_TO_POINTER(2)); g_signal_connect (data->CY_curr , "changed", G_CALLBACK (ui_acc_manage_changed_curr_cb), NULL); g_signal_connect (data->CM_closed, "toggled", G_CALLBACK (ui_acc_manage_toggled_closed), NULL); g_signal_connect (data->CM_nobudget, "toggled", G_CALLBACK (ui_acc_manage_toggled_nobudget), NULL); g_signal_connect (G_OBJECT (data->BT_add) , "clicked", G_CALLBACK (ui_acc_manage_add), NULL); g_signal_connect (G_OBJECT (data->BT_edit), "clicked", G_CALLBACK (ui_acc_manage_rename), NULL); g_signal_connect (G_OBJECT (data->BT_rem) , "clicked", G_CALLBACK (ui_acc_manage_delete), NULL); //setup, init and show dialog ui_acc_manage_setup(data); ui_acc_manage_update(data->LV_acc, NULL); gtk_widget_show_all (dialog); //wait for the user gint result = gtk_dialog_run (GTK_DIALOG (dialog)); // cleanup and destroy ui_acc_manage_cleanup(data, result); gtk_widget_destroy (dialog); g_free(data); return NULL; } homebank-5.3.2/src/Makefile.am0000644000175000017500000000445013545625375013073 00000000000000 common_defines = \ -DSHARE_DIR=\""$(pkgdatadir)"\" \ -DDATA_DIR=\""$(datadir)"\" bin_PROGRAMS = homebank HOMEBANK_CORE = USER_INTERFACE = homebank_SOURCES = \ dsp-account.c \ dsp-account.h \ dsp-mainwindow.c \ dsp-mainwindow.h \ enums.h \ gtk-chart.c \ gtk-chart.h \ gtk-chart-colors.c \ gtk-chart-colors.h \ gtk-chart-progress.c \ gtk-chart-progress.h \ gtk-dateentry.c \ gtk-dateentry.h \ hb-account.c \ hb-account.h \ hb-archive.c \ hb-archive.h \ hb-assign.c \ hb-assign.h \ hb-category.c \ hb-category.h \ hb-currency.c \ hb-currency.h \ hb-encoding.c \ hb-encoding.h \ hb-export.c \ hb-export.h \ hb-filter.c \ hb-filter.h \ hb-hbfile.c \ hb-hbfile.h \ hb-import.c \ hb-import.h \ hb-import-ofx.c \ hb-import-qif.c \ hb-import-csv.c \ hb-misc.c \ hb-misc.h \ hb-payee.c \ hb-payee.h \ hb-group.c \ hb-group.h \ hb-preferences.c \ hb-preferences.h \ hb-report.c \ hb-report.h \ hb-tag.c \ hb-tag.h \ hb-split.c \ hb-split.h \ hb-transaction.c \ hb-transaction.h \ hb-xml.c \ hb-xml.h \ homebank.c \ homebank.h \ hub-account.c \ hub-account.h \ hub-scheduled.c \ hub-scheduled.h \ hub-spending.c \ hub-spending.h \ hub-transaction.c \ hub-transaction.h \ language.c \ language.h \ list-account.c \ list-account.h \ list-operation.c \ list-operation.h \ list-scheduled.c \ list-scheduled.h \ rep-balance.c \ rep-balance.h \ rep-budget.c \ rep-budget.h \ rep-stats.c \ rep-stats.h \ rep-time.c \ rep-time.h \ rep-vehicle.c \ rep-vehicle.h \ ui-account.c \ ui-account.h \ ui-archive.c \ ui-archive.h \ ui-assign.c \ ui-assign.h \ ui-assist-import.c \ ui-assist-import.h \ ui-assist-start.c \ ui-assist-start.h \ ui-budget.c \ ui-budget.h \ ui-budget-tabview.c \ ui-budget-tabview.h \ ui-category.c \ ui-category.h \ ui-currency.c \ ui-currency.h \ ui-dialogs.c \ ui-dialogs.h \ ui-filter.c \ ui-filter.h \ ui-hbfile.c \ ui-hbfile.h \ ui-group.c \ ui-group.h \ ui-payee.c \ ui-payee.h \ ui-pref.c \ ui-pref.h \ ui-split.c \ ui-split.h \ ui-tag.c \ ui-tag.h \ ui-transaction.c \ ui-transaction.h \ ui-txn-multi.c \ ui-txn-multi.h \ ui-widgets-data.c \ ui-widgets.c \ ui-widgets.h homebank_LDADD = $(DEPS_LIBS) \ $(LIBSOUP_LIBS) AM_CPPFLAGS = \ $(DEPS_CFLAGS) \ $(LIBSOUP_CFLAGS) \ $(common_defines) homebank-5.3.2/src/Makefile.in0000664000175000017500000010325013606633330013070 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 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 = : bin_PROGRAMS = homebank$(EXEEXT) subdir = src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) am_homebank_OBJECTS = dsp-account.$(OBJEXT) dsp-mainwindow.$(OBJEXT) \ gtk-chart.$(OBJEXT) gtk-chart-colors.$(OBJEXT) \ gtk-chart-progress.$(OBJEXT) gtk-dateentry.$(OBJEXT) \ hb-account.$(OBJEXT) hb-archive.$(OBJEXT) hb-assign.$(OBJEXT) \ hb-category.$(OBJEXT) hb-currency.$(OBJEXT) \ hb-encoding.$(OBJEXT) hb-export.$(OBJEXT) hb-filter.$(OBJEXT) \ hb-hbfile.$(OBJEXT) hb-import.$(OBJEXT) \ hb-import-ofx.$(OBJEXT) hb-import-qif.$(OBJEXT) \ hb-import-csv.$(OBJEXT) hb-misc.$(OBJEXT) hb-payee.$(OBJEXT) \ hb-group.$(OBJEXT) hb-preferences.$(OBJEXT) \ hb-report.$(OBJEXT) hb-tag.$(OBJEXT) hb-split.$(OBJEXT) \ hb-transaction.$(OBJEXT) hb-xml.$(OBJEXT) homebank.$(OBJEXT) \ hub-account.$(OBJEXT) hub-scheduled.$(OBJEXT) \ hub-spending.$(OBJEXT) hub-transaction.$(OBJEXT) \ language.$(OBJEXT) list-account.$(OBJEXT) \ list-operation.$(OBJEXT) list-scheduled.$(OBJEXT) \ rep-balance.$(OBJEXT) rep-budget.$(OBJEXT) rep-stats.$(OBJEXT) \ rep-time.$(OBJEXT) rep-vehicle.$(OBJEXT) ui-account.$(OBJEXT) \ ui-archive.$(OBJEXT) ui-assign.$(OBJEXT) \ ui-assist-import.$(OBJEXT) ui-assist-start.$(OBJEXT) \ ui-budget.$(OBJEXT) ui-budget-tabview.$(OBJEXT) \ ui-category.$(OBJEXT) ui-currency.$(OBJEXT) \ ui-dialogs.$(OBJEXT) ui-filter.$(OBJEXT) ui-hbfile.$(OBJEXT) \ ui-group.$(OBJEXT) ui-payee.$(OBJEXT) ui-pref.$(OBJEXT) \ ui-split.$(OBJEXT) ui-tag.$(OBJEXT) ui-transaction.$(OBJEXT) \ ui-txn-multi.$(OBJEXT) ui-widgets-data.$(OBJEXT) \ ui-widgets.$(OBJEXT) homebank_OBJECTS = $(am_homebank_OBJECTS) am__DEPENDENCIES_1 = homebank_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_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__maybe_remake_depfiles = depfiles am__depfiles_remade = ./$(DEPDIR)/dsp-account.Po \ ./$(DEPDIR)/dsp-mainwindow.Po ./$(DEPDIR)/gtk-chart-colors.Po \ ./$(DEPDIR)/gtk-chart-progress.Po ./$(DEPDIR)/gtk-chart.Po \ ./$(DEPDIR)/gtk-dateentry.Po ./$(DEPDIR)/hb-account.Po \ ./$(DEPDIR)/hb-archive.Po ./$(DEPDIR)/hb-assign.Po \ ./$(DEPDIR)/hb-category.Po ./$(DEPDIR)/hb-currency.Po \ ./$(DEPDIR)/hb-encoding.Po ./$(DEPDIR)/hb-export.Po \ ./$(DEPDIR)/hb-filter.Po ./$(DEPDIR)/hb-group.Po \ ./$(DEPDIR)/hb-hbfile.Po ./$(DEPDIR)/hb-import-csv.Po \ ./$(DEPDIR)/hb-import-ofx.Po ./$(DEPDIR)/hb-import-qif.Po \ ./$(DEPDIR)/hb-import.Po ./$(DEPDIR)/hb-misc.Po \ ./$(DEPDIR)/hb-payee.Po ./$(DEPDIR)/hb-preferences.Po \ ./$(DEPDIR)/hb-report.Po ./$(DEPDIR)/hb-split.Po \ ./$(DEPDIR)/hb-tag.Po ./$(DEPDIR)/hb-transaction.Po \ ./$(DEPDIR)/hb-xml.Po ./$(DEPDIR)/homebank.Po \ ./$(DEPDIR)/hub-account.Po ./$(DEPDIR)/hub-scheduled.Po \ ./$(DEPDIR)/hub-spending.Po ./$(DEPDIR)/hub-transaction.Po \ ./$(DEPDIR)/language.Po ./$(DEPDIR)/list-account.Po \ ./$(DEPDIR)/list-operation.Po ./$(DEPDIR)/list-scheduled.Po \ ./$(DEPDIR)/rep-balance.Po ./$(DEPDIR)/rep-budget.Po \ ./$(DEPDIR)/rep-stats.Po ./$(DEPDIR)/rep-time.Po \ ./$(DEPDIR)/rep-vehicle.Po ./$(DEPDIR)/ui-account.Po \ ./$(DEPDIR)/ui-archive.Po ./$(DEPDIR)/ui-assign.Po \ ./$(DEPDIR)/ui-assist-import.Po ./$(DEPDIR)/ui-assist-start.Po \ ./$(DEPDIR)/ui-budget-tabview.Po ./$(DEPDIR)/ui-budget.Po \ ./$(DEPDIR)/ui-category.Po ./$(DEPDIR)/ui-currency.Po \ ./$(DEPDIR)/ui-dialogs.Po ./$(DEPDIR)/ui-filter.Po \ ./$(DEPDIR)/ui-group.Po ./$(DEPDIR)/ui-hbfile.Po \ ./$(DEPDIR)/ui-payee.Po ./$(DEPDIR)/ui-pref.Po \ ./$(DEPDIR)/ui-split.Po ./$(DEPDIR)/ui-tag.Po \ ./$(DEPDIR)/ui-transaction.Po ./$(DEPDIR)/ui-txn-multi.Po \ ./$(DEPDIR)/ui-widgets-data.Po ./$(DEPDIR)/ui-widgets.Po am__mv = mv -f 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 = $(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 = $(homebank_SOURCES) DIST_SOURCES = $(homebank_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 \ $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEPS_CFLAGS = @DEPS_CFLAGS@ DEPS_LIBS = @DEPS_LIBS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ 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@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSOUP_CFLAGS = @LIBSOUP_CFLAGS@ LIBSOUP_LIBS = @LIBSOUP_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ 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@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ common_defines = \ -DSHARE_DIR=\""$(pkgdatadir)"\" \ -DDATA_DIR=\""$(datadir)"\" HOMEBANK_CORE = USER_INTERFACE = homebank_SOURCES = \ dsp-account.c \ dsp-account.h \ dsp-mainwindow.c \ dsp-mainwindow.h \ enums.h \ gtk-chart.c \ gtk-chart.h \ gtk-chart-colors.c \ gtk-chart-colors.h \ gtk-chart-progress.c \ gtk-chart-progress.h \ gtk-dateentry.c \ gtk-dateentry.h \ hb-account.c \ hb-account.h \ hb-archive.c \ hb-archive.h \ hb-assign.c \ hb-assign.h \ hb-category.c \ hb-category.h \ hb-currency.c \ hb-currency.h \ hb-encoding.c \ hb-encoding.h \ hb-export.c \ hb-export.h \ hb-filter.c \ hb-filter.h \ hb-hbfile.c \ hb-hbfile.h \ hb-import.c \ hb-import.h \ hb-import-ofx.c \ hb-import-qif.c \ hb-import-csv.c \ hb-misc.c \ hb-misc.h \ hb-payee.c \ hb-payee.h \ hb-group.c \ hb-group.h \ hb-preferences.c \ hb-preferences.h \ hb-report.c \ hb-report.h \ hb-tag.c \ hb-tag.h \ hb-split.c \ hb-split.h \ hb-transaction.c \ hb-transaction.h \ hb-xml.c \ hb-xml.h \ homebank.c \ homebank.h \ hub-account.c \ hub-account.h \ hub-scheduled.c \ hub-scheduled.h \ hub-spending.c \ hub-spending.h \ hub-transaction.c \ hub-transaction.h \ language.c \ language.h \ list-account.c \ list-account.h \ list-operation.c \ list-operation.h \ list-scheduled.c \ list-scheduled.h \ rep-balance.c \ rep-balance.h \ rep-budget.c \ rep-budget.h \ rep-stats.c \ rep-stats.h \ rep-time.c \ rep-time.h \ rep-vehicle.c \ rep-vehicle.h \ ui-account.c \ ui-account.h \ ui-archive.c \ ui-archive.h \ ui-assign.c \ ui-assign.h \ ui-assist-import.c \ ui-assist-import.h \ ui-assist-start.c \ ui-assist-start.h \ ui-budget.c \ ui-budget.h \ ui-budget-tabview.c \ ui-budget-tabview.h \ ui-category.c \ ui-category.h \ ui-currency.c \ ui-currency.h \ ui-dialogs.c \ ui-dialogs.h \ ui-filter.c \ ui-filter.h \ ui-hbfile.c \ ui-hbfile.h \ ui-group.c \ ui-group.h \ ui-payee.c \ ui-payee.h \ ui-pref.c \ ui-pref.h \ ui-split.c \ ui-split.h \ ui-tag.c \ ui-tag.h \ ui-transaction.c \ ui-transaction.h \ ui-txn-multi.c \ ui-txn-multi.h \ ui-widgets-data.c \ ui-widgets.c \ ui-widgets.h homebank_LDADD = $(DEPS_LIBS) \ $(LIBSOUP_LIBS) AM_CPPFLAGS = \ $(DEPS_CFLAGS) \ $(LIBSOUP_CFLAGS) \ $(common_defines) all: all-am .SUFFIXES: .SUFFIXES: .c .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 src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign 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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p \ ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' \ -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' \ `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) homebank$(EXEEXT): $(homebank_OBJECTS) $(homebank_DEPENDENCIES) $(EXTRA_homebank_DEPENDENCIES) @rm -f homebank$(EXEEXT) $(AM_V_CCLD)$(LINK) $(homebank_OBJECTS) $(homebank_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsp-account.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsp-mainwindow.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk-chart-colors.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk-chart-progress.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk-chart.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk-dateentry.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-account.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-archive.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-assign.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-category.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-currency.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-encoding.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-export.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-filter.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-group.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-hbfile.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-import-csv.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-import-ofx.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-import-qif.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-import.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-misc.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-payee.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-preferences.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-report.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-split.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-tag.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-transaction.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-xml.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/homebank.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hub-account.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hub-scheduled.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hub-spending.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hub-transaction.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/language.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list-account.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list-operation.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list-scheduled.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rep-balance.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rep-budget.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rep-stats.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rep-time.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rep-vehicle.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui-account.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui-archive.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui-assign.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui-assist-import.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui-assist-start.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui-budget-tabview.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui-budget.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui-category.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui-currency.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui-dialogs.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui-filter.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui-group.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui-hbfile.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui-payee.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui-pref.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui-split.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui-tag.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui-transaction.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui-txn-multi.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui-widgets-data.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui-widgets.Po@am__quote@ # am--include-marker $(am__depfiles_remade): @$(MKDIR_P) $(@D) @echo '# dummy' >$@-t && $(am__mv) $@-t $@ am--depfiles: $(am__depfiles_remade) .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.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)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.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) '$<'` 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: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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 $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(bindir)"; 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-binPROGRAMS clean-generic mostlyclean-am distclean: distclean-am -rm -f ./$(DEPDIR)/dsp-account.Po -rm -f ./$(DEPDIR)/dsp-mainwindow.Po -rm -f ./$(DEPDIR)/gtk-chart-colors.Po -rm -f ./$(DEPDIR)/gtk-chart-progress.Po -rm -f ./$(DEPDIR)/gtk-chart.Po -rm -f ./$(DEPDIR)/gtk-dateentry.Po -rm -f ./$(DEPDIR)/hb-account.Po -rm -f ./$(DEPDIR)/hb-archive.Po -rm -f ./$(DEPDIR)/hb-assign.Po -rm -f ./$(DEPDIR)/hb-category.Po -rm -f ./$(DEPDIR)/hb-currency.Po -rm -f ./$(DEPDIR)/hb-encoding.Po -rm -f ./$(DEPDIR)/hb-export.Po -rm -f ./$(DEPDIR)/hb-filter.Po -rm -f ./$(DEPDIR)/hb-group.Po -rm -f ./$(DEPDIR)/hb-hbfile.Po -rm -f ./$(DEPDIR)/hb-import-csv.Po -rm -f ./$(DEPDIR)/hb-import-ofx.Po -rm -f ./$(DEPDIR)/hb-import-qif.Po -rm -f ./$(DEPDIR)/hb-import.Po -rm -f ./$(DEPDIR)/hb-misc.Po -rm -f ./$(DEPDIR)/hb-payee.Po -rm -f ./$(DEPDIR)/hb-preferences.Po -rm -f ./$(DEPDIR)/hb-report.Po -rm -f ./$(DEPDIR)/hb-split.Po -rm -f ./$(DEPDIR)/hb-tag.Po -rm -f ./$(DEPDIR)/hb-transaction.Po -rm -f ./$(DEPDIR)/hb-xml.Po -rm -f ./$(DEPDIR)/homebank.Po -rm -f ./$(DEPDIR)/hub-account.Po -rm -f ./$(DEPDIR)/hub-scheduled.Po -rm -f ./$(DEPDIR)/hub-spending.Po -rm -f ./$(DEPDIR)/hub-transaction.Po -rm -f ./$(DEPDIR)/language.Po -rm -f ./$(DEPDIR)/list-account.Po -rm -f ./$(DEPDIR)/list-operation.Po -rm -f ./$(DEPDIR)/list-scheduled.Po -rm -f ./$(DEPDIR)/rep-balance.Po -rm -f ./$(DEPDIR)/rep-budget.Po -rm -f ./$(DEPDIR)/rep-stats.Po -rm -f ./$(DEPDIR)/rep-time.Po -rm -f ./$(DEPDIR)/rep-vehicle.Po -rm -f ./$(DEPDIR)/ui-account.Po -rm -f ./$(DEPDIR)/ui-archive.Po -rm -f ./$(DEPDIR)/ui-assign.Po -rm -f ./$(DEPDIR)/ui-assist-import.Po -rm -f ./$(DEPDIR)/ui-assist-start.Po -rm -f ./$(DEPDIR)/ui-budget-tabview.Po -rm -f ./$(DEPDIR)/ui-budget.Po -rm -f ./$(DEPDIR)/ui-category.Po -rm -f ./$(DEPDIR)/ui-currency.Po -rm -f ./$(DEPDIR)/ui-dialogs.Po -rm -f ./$(DEPDIR)/ui-filter.Po -rm -f ./$(DEPDIR)/ui-group.Po -rm -f ./$(DEPDIR)/ui-hbfile.Po -rm -f ./$(DEPDIR)/ui-payee.Po -rm -f ./$(DEPDIR)/ui-pref.Po -rm -f ./$(DEPDIR)/ui-split.Po -rm -f ./$(DEPDIR)/ui-tag.Po -rm -f ./$(DEPDIR)/ui-transaction.Po -rm -f ./$(DEPDIR)/ui-txn-multi.Po -rm -f ./$(DEPDIR)/ui-widgets-data.Po -rm -f ./$(DEPDIR)/ui-widgets.Po -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-binPROGRAMS 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 ./$(DEPDIR)/dsp-account.Po -rm -f ./$(DEPDIR)/dsp-mainwindow.Po -rm -f ./$(DEPDIR)/gtk-chart-colors.Po -rm -f ./$(DEPDIR)/gtk-chart-progress.Po -rm -f ./$(DEPDIR)/gtk-chart.Po -rm -f ./$(DEPDIR)/gtk-dateentry.Po -rm -f ./$(DEPDIR)/hb-account.Po -rm -f ./$(DEPDIR)/hb-archive.Po -rm -f ./$(DEPDIR)/hb-assign.Po -rm -f ./$(DEPDIR)/hb-category.Po -rm -f ./$(DEPDIR)/hb-currency.Po -rm -f ./$(DEPDIR)/hb-encoding.Po -rm -f ./$(DEPDIR)/hb-export.Po -rm -f ./$(DEPDIR)/hb-filter.Po -rm -f ./$(DEPDIR)/hb-group.Po -rm -f ./$(DEPDIR)/hb-hbfile.Po -rm -f ./$(DEPDIR)/hb-import-csv.Po -rm -f ./$(DEPDIR)/hb-import-ofx.Po -rm -f ./$(DEPDIR)/hb-import-qif.Po -rm -f ./$(DEPDIR)/hb-import.Po -rm -f ./$(DEPDIR)/hb-misc.Po -rm -f ./$(DEPDIR)/hb-payee.Po -rm -f ./$(DEPDIR)/hb-preferences.Po -rm -f ./$(DEPDIR)/hb-report.Po -rm -f ./$(DEPDIR)/hb-split.Po -rm -f ./$(DEPDIR)/hb-tag.Po -rm -f ./$(DEPDIR)/hb-transaction.Po -rm -f ./$(DEPDIR)/hb-xml.Po -rm -f ./$(DEPDIR)/homebank.Po -rm -f ./$(DEPDIR)/hub-account.Po -rm -f ./$(DEPDIR)/hub-scheduled.Po -rm -f ./$(DEPDIR)/hub-spending.Po -rm -f ./$(DEPDIR)/hub-transaction.Po -rm -f ./$(DEPDIR)/language.Po -rm -f ./$(DEPDIR)/list-account.Po -rm -f ./$(DEPDIR)/list-operation.Po -rm -f ./$(DEPDIR)/list-scheduled.Po -rm -f ./$(DEPDIR)/rep-balance.Po -rm -f ./$(DEPDIR)/rep-budget.Po -rm -f ./$(DEPDIR)/rep-stats.Po -rm -f ./$(DEPDIR)/rep-time.Po -rm -f ./$(DEPDIR)/rep-vehicle.Po -rm -f ./$(DEPDIR)/ui-account.Po -rm -f ./$(DEPDIR)/ui-archive.Po -rm -f ./$(DEPDIR)/ui-assign.Po -rm -f ./$(DEPDIR)/ui-assist-import.Po -rm -f ./$(DEPDIR)/ui-assist-start.Po -rm -f ./$(DEPDIR)/ui-budget-tabview.Po -rm -f ./$(DEPDIR)/ui-budget.Po -rm -f ./$(DEPDIR)/ui-category.Po -rm -f ./$(DEPDIR)/ui-currency.Po -rm -f ./$(DEPDIR)/ui-dialogs.Po -rm -f ./$(DEPDIR)/ui-filter.Po -rm -f ./$(DEPDIR)/ui-group.Po -rm -f ./$(DEPDIR)/ui-hbfile.Po -rm -f ./$(DEPDIR)/ui-payee.Po -rm -f ./$(DEPDIR)/ui-pref.Po -rm -f ./$(DEPDIR)/ui-split.Po -rm -f ./$(DEPDIR)/ui-tag.Po -rm -f ./$(DEPDIR)/ui-transaction.Po -rm -f ./$(DEPDIR)/ui-txn-multi.Po -rm -f ./$(DEPDIR)/ui-widgets-data.Po -rm -f ./$(DEPDIR)/ui-widgets.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ distclean distclean-compile distclean-generic distclean-tags \ distdir dvi dvi-am html html-am info info-am install \ install-am install-binPROGRAMS 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 pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am \ uninstall-binPROGRAMS .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: homebank-5.3.2/src/ui-hbfile.h0000644000175000017500000000207613604720371013042 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_HBFILE_GTK_H__ #define __HB_HBFILE_GTK_H__ struct defhbfile_data { GtkWidget *ST_owner; GtkWidget *PO_grp; GtkWidget *radio[2]; GtkWidget *LB_weekday, *NU_weekday; GtkWidget *LB_nbdays, *NU_nbdays; gint change; }; GtkWidget *create_defhbfile_dialog (void); #endif homebank-5.3.2/src/dsp-mainwindow.h0000644000175000017500000000713013604720371014132 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_MANWINDOW_GTK_H__ #define __HB_MANWINDOW_GTK_H__ typedef struct _pnlaccgrp PnlAccGrp; struct _pnlaccgrp { gchar *name; //gshort type; //gshort pos; //gboolean expanded; gdouble bal_bank; gdouble bal_today; gdouble bal_future; GPtrArray *acclist; }; struct hbfile_data { GtkWidget *window; GtkCssProvider *provider; GtkWidget *menubar; GtkWidget *ME_menufile, *ME_menuedit, *ME_menuview, *ME_menuman, *ME_menutxn, *ME_menurep, *ME_menutool, *ME_menuhelp; GtkWidget *MI_new, *MI_open, *MI_save, *MI_saveas, *MI_import, *MI_exportqif, *MI_revert, *MI_openbak, *MI_properties, *MI_close, *MI_quit; GtkWidget *MI_prefs, *MI_showtbar, *MI_showspend, *MI_showbotlist, *MI_eurominor; GtkWidget *MI_manacc, *MI_manpay, *MI_mancat, *MI_mantpl, *MI_manbud, *MI_manbudtable, *MI_manasg, *MI_mancur, *MI_mantag; GtkWidget *MI_txnadd, *MI_txnshow, *MI_txnshowall, *MI_scheduler, *MI_addscheduled; GtkWidget *MI_repstat, *MI_reptime, *MI_repbal, *MI_repbudg, *MI_repvehi; GtkWidget *MI_welcome, *MI_filestats, *MI_anonymise; GtkWidget *MI_contents, *MI_online, *MI_updates, *MI_relnote, *MI_problem, *MI_translate, *MI_about; GtkWidget *toolbar; GtkWidget *BT_new, *BT_open, *BT_save; GtkWidget *BT_manacc, *BT_manpay, *BT_mancat, *BT_mantpl, *BT_manbud, *BT_manasg; GtkWidget *BT_txnshow, *BT_txnadd; GtkWidget *BT_repstat, *BT_reptime, *BT_repbal, *BT_repbudg, *BT_repvehi; GtkWidget *BT_help, *BT_donate; GtkWidget *vpaned; GtkWidget *hpaned; /* panel: your account */ GtkWidget *LV_acc; GtkWidget *BT_expandall; GtkWidget *BT_collapseall; gboolean showall; GSimpleActionGroup *action_group_acc; GHashTable *h_accgrp; PnlAccGrp *totaccgrp; GtkWidget *GR_top; GtkWidget *LV_top; gdouble toptotal; GtkWidget *CY_range; GtkWidget *RE_pie; GtkWidget *GR_upc; GtkWidget *LV_upc; GtkWidget *LB_maxpostdate; GtkWidget *BT_sched_skip; GtkWidget *BT_sched_post; GtkWidget *BT_sched_editpost; GtkWidget *RA_type; GtkWidget *stack; // max is 2=HUB_TXN_TYPE_REMIND, so 3 elt GtkWidget *LV_txn[3]; gchar *wintitle; Account *acc; gint busy; GtkRecentManager *recent_manager; GtkWidget *recent_menu; Filter *filter; /* UBYTE accnum; UBYTE pad0; struct Account *acc; ULONG mindate, maxdate; ULONG change; ULONG keyvalue; UBYTE title[140]; UBYTE Filename[108]; UBYTE csvpath[108]; */ }; //temporary ? void ui_mainwindow_defarchive(Archive *arc); GtkWidget *create_hbfile_window(GtkWidget *do_widget); void ui_mainwindow_populate_accounts(GtkWidget *widget, gpointer user_data); gboolean ui_mainwindow_open_backup_check_confirm(gchar *filepath); void ui_mainwindow_open_internal(GtkWidget *widget, gpointer user_data); void ui_mainwindow_update(GtkWidget *widget, gpointer user_data); void ui_mainwindow_action_help_welcome(void); #endif /* __HB_MANWINDOW_GTK_H__ */ homebank-5.3.2/src/hb-payee.h0000644000175000017500000000341013604720371012661 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_PAYEE_H__ #define __HB_PAYEE_H__ typedef struct _payee Payee; struct _payee { guint32 key; gushort paymode; gushort _pad1; guint32 kcat; gchar *name; /* unsaved datas */ gboolean flt_select; guint usage_count; }; void da_pay_free(Payee *item); Payee *da_pay_malloc(void); void da_pay_destroy(void); void da_pay_new(void); guint da_pay_length(void); guint32 da_pay_get_max_key(void); gboolean da_pay_delete(guint32 key); gboolean da_pay_insert(Payee *acc); gboolean da_pay_append(Payee *acc); Payee *da_pay_append_if_new(gchar *rawname); Payee *da_pay_get(guint32 key); Payee *da_pay_get_by_name(gchar *rawname); void da_pay_consistency(Payee *item); void payee_delete_unused(void); void payee_fill_usage(void); GList *payee_glist_sorted(gint column); void payee_move(guint32 key1, guint32 key2); gboolean payee_rename(Payee *item, const gchar *newname); gboolean payee_load_csv(gchar *filename, gchar **error); void payee_save_csv(gchar *filename); #endif homebank-5.3.2/src/hb-hbfile.c0000644000175000017500000003234113620042155013002 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hb-hbfile.h" #include "hb-archive.h" #include "hb-transaction.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =*/ gboolean hbfile_file_isbackup(gchar *filepath) { gboolean retval = FALSE; if( filepath == NULL ) return FALSE; if( g_str_has_suffix(filepath, "xhb~") || g_str_has_suffix(filepath, "bak") ) retval = TRUE; return retval; } gboolean hbfile_file_hasrevert(gchar *filepath) { gchar *bakfilepath; bakfilepath = hb_filename_new_with_extension(GLOBALS->xhb_filepath, "xhb~"); DB( g_print(" test bak exists '%s'\n", bakfilepath) ); GLOBALS->xhb_hasrevert = g_file_test(bakfilepath, G_FILE_TEST_EXISTS); g_free(bakfilepath); //todo check here if need to return something return GLOBALS->xhb_hasrevert; } //#1750161 guint64 hbfile_file_get_time_modified(gchar *filepath) { guint64 retval = 0ULL; GFile *gfile; GFileInfo *gfileinfo; DB( g_print("\n[hbfile] get time modified\n") ); gfile = g_file_new_for_path(filepath); gfileinfo = g_file_query_info (gfile, G_FILE_ATTRIBUTE_TIME_MODIFIED, 0, NULL, NULL); if( gfileinfo ) { retval = g_file_info_get_attribute_uint64 (gfileinfo, G_FILE_ATTRIBUTE_TIME_MODIFIED); DB( g_print("- '%s' last access = %lu\n", filepath, retval) ); g_object_unref(gfileinfo); } g_object_unref(gfile); return retval; } void hbfile_file_default(void) { DB( g_print("\n[hbfile] default\n") ); //todo: maybe translate this also hbfile_change_filepath(g_build_filename(PREFS->path_hbfile, "untitled.xhb", NULL)); GLOBALS->hbfile_is_new = TRUE; GLOBALS->hbfile_is_bak = FALSE; GLOBALS->xhb_timemodified = 0ULL; DB( g_print("- path_hbfile is '%s'\n", PREFS->path_hbfile) ); DB( g_print("- xhb_filepath is '%s'\n", GLOBALS->xhb_filepath) ); } /* static gint hbfile_file_load_xhb(gchar *filepath) { } static void hbfile_file_load_backup_xhb(void) { //todo: get from dialog.c, and split between dilaog.c/hbfile.c } */ void hbfile_replace_basecurrency(Currency4217 *curfmt) { Currency *item; guint32 oldkcur; DB( g_print("\n[hbfile] replace base currency\n") ); oldkcur = GLOBALS->kcur; da_cur_delete(oldkcur); item = currency_add_from_user(curfmt); GLOBALS->kcur = item->key; DB( g_print(" %d ==> %d %s\n", oldkcur, GLOBALS->kcur, item->iso_code) ); } void hbfile_change_basecurrency(guint32 key) { GList *list; //guint32 oldkcur; // set every rate to 0 list = g_hash_table_get_values(GLOBALS->h_cur); while (list != NULL) { Currency *entry = list->data; if(entry->key != GLOBALS->kcur) { entry->rate = 0.0; entry->mdate = 0; } list = g_list_next(list); } g_list_free(list); //oldkcur = GLOBALS->kcur; GLOBALS->kcur = key; //#1851103: absolutely no reason to do that // update account with old base currency /*list = g_hash_table_get_values(GLOBALS->h_acc); while (list != NULL) { Account *acc = list->data; if( acc->kcur == oldkcur ) acc->kcur = key; list = g_list_next(list); } g_list_free(list); */ GLOBALS->changes_count++; } GList *hbfile_transaction_get_all(void) { GList *lst_acc, *lnk_acc; GList *lnk_txn; GList *list; list = NULL; lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; //#1674045 ony rely on nosummary //if( (acc->flags & (AF_CLOSED|AF_NOREPORT)) ) if( (acc->flags & (AF_NOREPORT)) ) goto next_acc; lnk_txn = g_queue_peek_head_link(acc->txn_queue); while (lnk_txn != NULL) { //5.3 append is damn slow //list = g_list_append(list, lnk_txn->data); list = g_list_prepend(list, lnk_txn->data); lnk_txn = g_list_next(lnk_txn); } next_acc: lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); return da_transaction_sort (list); } static GQueue *hbfile_transaction_get_partial_internal(guint32 minjulian, guint32 maxjulian, gushort exclusionflags) { GList *lst_acc, *lnk_acc; GList *lnk_txn; GQueue *txn_queue; txn_queue = g_queue_new (); lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; if( (acc->flags & exclusionflags) ) goto next_acc; lnk_txn = g_queue_peek_tail_link(acc->txn_queue); while (lnk_txn != NULL) { Transaction *txn = lnk_txn->data; if( txn->date < minjulian ) //no need to go below mindate break; if( !((txn->status == TXN_STATUS_REMIND) || (txn->status == TXN_STATUS_VOID)) && (txn->date >= minjulian) && (txn->date <= maxjulian) ) { g_queue_push_head (txn_queue, txn); } lnk_txn = g_list_previous(lnk_txn); } next_acc: lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); return txn_queue; } GQueue *hbfile_transaction_get_partial(guint32 minjulian, guint32 maxjulian) { //#1674045 ony rely on nosummary //return hbfile_transaction_get_partial_internal(minjulian, maxjulian, (AF_CLOSED|AF_NOREPORT)); return hbfile_transaction_get_partial_internal(minjulian, maxjulian, (AF_NOREPORT)); } GQueue *hbfile_transaction_get_partial_budget(guint32 minjulian, guint32 maxjulian) { //#1674045 ony rely on nosummary //return hbfile_transaction_get_partial_internal(minjulian, maxjulian, (AF_CLOSED|AF_NOREPORT|AF_NOBUDGET)); return hbfile_transaction_get_partial_internal(minjulian, maxjulian, (AF_NOREPORT|AF_NOBUDGET)); } void hbfile_sanity_check(void) { GList *lst_acc, *lnk_acc; GList *lnk_txn; GList *lxxx, *list; DB( g_print("\n[hbfile] !! full sanity check !! \n") ); DB( g_print(" - transaction\n") ); lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; lnk_txn = g_queue_peek_head_link(acc->txn_queue); while (lnk_txn != NULL) { Transaction *txn = lnk_txn->data; da_transaction_consistency(txn); lnk_txn = g_list_next(lnk_txn); } lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); DB( g_print(" - scheduled/template\n") ); list = g_list_first(GLOBALS->arc_list); while (list != NULL) { Archive *entry = list->data; da_archive_consistency(entry); list = g_list_next(list); } DB( g_print(" - account\n") ); lxxx = list = g_hash_table_get_values(GLOBALS->h_acc); while (list != NULL) { Account *item = list->data; da_acc_consistency(item); list = g_list_next(list); } g_list_free(lxxx); DB( g_print(" - payee\n") ); lxxx = list = g_hash_table_get_values(GLOBALS->h_pay); while (list != NULL) { Payee *item = list->data; da_pay_consistency(item); list = g_list_next(list); } g_list_free(lxxx); DB( g_print(" - category\n") ); lxxx = list = g_hash_table_get_values(GLOBALS->h_cat); while (list != NULL) { Category *item = list->data; da_cat_consistency(item); list = g_list_next(list); } g_list_free(lxxx); DB( g_print(" - assignments\n") ); lxxx = list = g_hash_table_get_values(GLOBALS->h_rul); while (list != NULL) { Assign *item = list->data; da_asg_consistency(item); list = g_list_next(list); } g_list_free(lxxx); } void hbfile_anonymize(void) { GList *lst_acc, *lnk_acc; GList *lnk_txn; GList *lxxx, *list; guint cnt, i; DB( g_print("\n[hbfile] anonymize\n") ); // owner hbfile_change_owner(g_strdup("An0nym0us")); GLOBALS->changes_count++; GLOBALS->hbfile_is_new = TRUE; // filename hbfile_change_filepath(g_build_filename(PREFS->path_hbfile, "anonymized.xhb", NULL)); // accounts lxxx = list = g_hash_table_get_values(GLOBALS->h_acc); while (list != NULL) { Account *item = list->data; g_free(item->name); item->name = g_strdup_printf("account %d", item->key); g_free(item->number); item->number = NULL; g_free(item->bankname); item->bankname = NULL; GLOBALS->changes_count++; list = g_list_next(list); } g_list_free(lxxx); //payees lxxx = list = g_hash_table_get_values(GLOBALS->h_pay); while (list != NULL) { Payee *item = list->data; if(item->key != 0) { g_free(item->name); item->name = g_strdup_printf("payee %d", item->key); GLOBALS->changes_count++; } list = g_list_next(list); } g_list_free(lxxx); //categories lxxx = list = g_hash_table_get_values(GLOBALS->h_cat); while (list != NULL) { Category *item = list->data; if(item->key != 0) { g_free(item->name); item->name = g_strdup_printf("category %d", item->key); GLOBALS->changes_count++; } list = g_list_next(list); } g_list_free(lxxx); //tags lxxx = list = g_hash_table_get_values(GLOBALS->h_tag); while (list != NULL) { Tag *item = list->data; if(item->key != 0) { g_free(item->name); item->name = g_strdup_printf("tag %d", item->key); GLOBALS->changes_count++; } list = g_list_next(list); } g_list_free(lxxx); //assigns lxxx = list = g_hash_table_get_values(GLOBALS->h_rul); while (list != NULL) { Assign *item = list->data; if(item->key != 0) { g_free(item->search); item->search = g_strdup_printf("assign %d", item->key); GLOBALS->changes_count++; } list = g_list_next(list); } g_list_free(lxxx); //archives cnt = 0; list = g_list_first(GLOBALS->arc_list); while (list != NULL) { Archive *item = list->data; g_free(item->memo); item->memo = g_strdup_printf("archive %d", cnt++); GLOBALS->changes_count++; //later split anonymize also list = g_list_next(list); } //transaction lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; lnk_txn = g_queue_peek_head_link(acc->txn_queue); while (lnk_txn != NULL) { Transaction *item = lnk_txn->data; Split *split; g_free(item->info); item->info = NULL; g_free(item->memo); item->memo = g_strdup_printf("memo %d", item->date); GLOBALS->changes_count++; if(item->flags & OF_SPLIT) { cnt = da_splits_length (item->splits); for(i=0;isplits, i); if( split == NULL ) break; if(split->memo != NULL) g_free(split->memo); split->memo = g_strdup_printf("memo %d", i); GLOBALS->changes_count++; } } lnk_txn = g_list_next(lnk_txn); } lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =*/ void hbfile_change_owner(gchar *owner) { g_free(GLOBALS->owner); GLOBALS->owner = (owner != NULL) ? owner : NULL; } void hbfile_change_filepath(gchar *filepath) { g_free(GLOBALS->xhb_filepath); GLOBALS->xhb_filepath = (filepath != NULL) ? filepath : NULL; } void hbfile_cleanup(gboolean file_clear) { GSList *list; //Transaction *txn; DB( g_print("\n[hbfile] cleanup\n") ); DB( g_print("- file clear is %d\n", file_clear) ); // Free data storage /*txn = g_trash_stack_pop(&GLOBALS->txn_stk); while( txn != NULL ) { da_transaction_free (txn); txn = g_trash_stack_pop(&GLOBALS->txn_stk); }*/ list = GLOBALS->deltxn_list; while(list != NULL) { da_transaction_free (list->data); list = g_slist_next(list); } g_slist_free(GLOBALS->deltxn_list); da_transaction_destroy(); da_archive_destroy(GLOBALS->arc_list); g_hash_table_destroy(GLOBALS->h_memo); da_asg_destroy(); da_tag_destroy(); da_cat_destroy(); da_pay_destroy(); da_acc_destroy(); da_grp_destroy(); da_cur_destroy(); hbfile_change_owner(NULL); if(file_clear) hbfile_change_filepath(NULL); } void hbfile_setup(gboolean file_clear) { DB( g_print("\n[hbfile] setup\n") ); DB( g_print("- file clear is %d\n", file_clear) ); // Allocate data storage da_cur_new(); da_grp_new(); da_acc_new(); da_pay_new(); da_cat_new(); da_tag_new(); da_asg_new(); //txn queue is allocated into account GLOBALS->h_memo = g_hash_table_new_full(g_str_hash, g_str_equal, (GDestroyNotify)g_free, NULL); GLOBALS->arc_list = NULL; //#1419304 we keep the deleted txn to a trash stack //GLOBALS->txn_stk = NULL; GLOBALS->deltxn_list = NULL; if(file_clear == TRUE) { hbfile_file_default(); } else { GLOBALS->hbfile_is_new = FALSE; } hbfile_change_owner(g_strdup(_("Unknown"))); GLOBALS->kcur = 1; GLOBALS->vehicle_category = 0; GLOBALS->auto_smode = 1; GLOBALS->auto_nbdays = 0; GLOBALS->auto_weekday = 1; GLOBALS->changes_count = 0; GLOBALS->xhb_hasrevert = FALSE; } homebank-5.3.2/src/rep-stats.c0000644000175000017500000017702513620017623013117 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "rep-stats.h" #include "list-operation.h" #include "gtk-chart.h" #include "gtk-dateentry.h" #include "dsp-mainwindow.h" #include "ui-account.h" #include "ui-payee.h" #include "ui-category.h" #include "ui-filter.h" #include "ui-transaction.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; /* prototypes */ static void ui_repdist_date_change(GtkWidget *widget, gpointer user_data); static void ui_repdist_range_change(GtkWidget *widget, gpointer user_data); static void ui_repdist_detail(GtkWidget *widget, gpointer user_data); static void ui_repdist_update(GtkWidget *widget, gpointer user_data); static void ui_repdist_update_total(GtkWidget *widget, gpointer user_data); static void ui_repdist_compute(GtkWidget *widget, gpointer user_data); static void ui_repdist_sensitive(GtkWidget *widget, gpointer user_data); static void ui_repdist_toggle_detail(GtkWidget *widget, gpointer user_data); static void ui_repdist_toggle_legend(GtkWidget *widget, gpointer user_data); static void ui_repdist_toggle_minor(GtkWidget *widget, gpointer user_data); static void ui_repdist_toggle_rate(GtkWidget *widget, gpointer user_data); static GtkWidget *ui_list_repdist_create(void); static void ui_repdist_update_daterange(GtkWidget *widget, gpointer user_data); static void ui_repdist_update_date_widget(GtkWidget *widget, gpointer user_data); static GString *ui_list_repdist_to_string(GtkTreeView *treeview, gboolean clipboard); static gint ui_list_repdist_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata); //test multi static GtkWidget *ui_list_reptime2_create(void); static void ui_list_reptime2_renewcol(GtkTreeView *treeview, guint32 nbintvl, guint32 jfrom, gint intvl); //test multi end HbKvData CYA_REPORT_SRC[] = { { REPORT_SRC_CATEGORY, N_("Category") }, { REPORT_SRC_SUBCATEGORY, N_("Subcategory") }, { REPORT_SRC_PAYEE, N_("Payee") }, { REPORT_SRC_ACCOUNT, N_("Account") }, { REPORT_SRC_TAG, N_("Tag") }, { REPORT_SRC_MONTH, N_("Month") }, { REPORT_SRC_YEAR, N_("Year") }, { 0, NULL } }; HbKvData CYA_REPORT_TYPE[] = { { REPORT_TYPE_ALL, N_("Exp. & Inc.") }, { REPORT_TYPE_EXPENSE, N_("Expense") }, { REPORT_TYPE_INCOME, N_("Income") }, { REPORT_TYPE_BALANCE, N_("Balance")} , { 0, NULL } }; extern gchar *CYA_REPORT_MODE[]; extern HbKvData CYA_REPORT_INTVL[]; /* action functions -------------------- */ static void ui_repdist_action_viewlist(GtkToolButton *toolbutton, gpointer user_data) { struct ui_repdist_data *data = user_data; gint tmpmode; tmpmode = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_mode)); if(tmpmode == 0 ) gtk_notebook_set_current_page(GTK_NOTEBOOK(data->GR_result), 0); else gtk_notebook_set_current_page(GTK_NOTEBOOK(data->GR_result), 2); ui_repdist_sensitive(data->window, NULL); } static void ui_repdist_action_mode_changed(GtkToolButton *toolbutton, gpointer user_data) { struct ui_repdist_data *data = user_data; gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(data->BT_list), TRUE); ui_repdist_action_viewlist(toolbutton, data); } static void ui_repdist_action_viewbar(GtkToolButton *toolbutton, gpointer user_data) { struct ui_repdist_data *data = user_data; gtk_notebook_set_current_page(GTK_NOTEBOOK(data->GR_result), 1); gtk_chart_set_type (GTK_CHART(data->RE_chart), CHART_TYPE_COL); ui_repdist_sensitive(data->window, NULL); } static void ui_repdist_action_viewpie(GtkToolButton *toolbutton, gpointer user_data) { struct ui_repdist_data *data = user_data; gint tmpview; gtk_notebook_set_current_page(GTK_NOTEBOOK(data->GR_result), 1); gtk_chart_set_type (GTK_CHART(data->RE_chart), CHART_TYPE_PIE); ui_repdist_sensitive(data->window, NULL); tmpview = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_type)); // ensure not exp & inc for piechart if( tmpview == REPORT_TYPE_ALL ) { //g_signal_handler_block(data->CY_type, data->handler_id[HID_REPDIST_VIEW]); hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_type), REPORT_TYPE_EXPENSE); //g_signal_handler_unblock(data->CY_type, data->handler_id[HID_REPDIST_VIEW]); } } static void ui_repdist_action_filter(GtkToolButton *toolbutton, gpointer user_data) { struct ui_repdist_data *data = user_data; //debug //create_deffilter_window(data->filter, TRUE); if(ui_flt_manage_dialog_new(GTK_WINDOW(data->window), data->filter, TRUE, FALSE) != GTK_RESPONSE_REJECT) { ui_repdist_compute(data->window, NULL); ui_repdist_update_date_widget(data->window, NULL); ui_repdist_update_daterange(data->window, NULL); g_signal_handler_block(data->CY_range, data->handler_id[HID_REPDIST_RANGE]); hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_range), FLT_RANGE_OTHER); g_signal_handler_unblock(data->CY_range, data->handler_id[HID_REPDIST_RANGE]); } } /* ** ============================================================================ */ static void ui_repdist_date_change(GtkWidget *widget, gpointer user_data) { struct ui_repdist_data *data; DB( g_print("\n[repdist] date change\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); data->filter->mindate = gtk_date_entry_get_date(GTK_DATE_ENTRY(data->PO_mindate)); data->filter->maxdate = gtk_date_entry_get_date(GTK_DATE_ENTRY(data->PO_maxdate)); // set min/max date for both widget gtk_date_entry_set_maxdate(GTK_DATE_ENTRY(data->PO_mindate), data->filter->maxdate); gtk_date_entry_set_mindate(GTK_DATE_ENTRY(data->PO_maxdate), data->filter->mindate); g_signal_handler_block(data->CY_range, data->handler_id[HID_REPDIST_RANGE]); hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_range), FLT_RANGE_OTHER); g_signal_handler_unblock(data->CY_range, data->handler_id[HID_REPDIST_RANGE]); ui_repdist_compute(widget, NULL); ui_repdist_update_daterange(widget, NULL); } static void ui_repdist_range_change(GtkWidget *widget, gpointer user_data) { struct ui_repdist_data *data; gint range; DB( g_print("\n[repdist] range change\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); range = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_range)); if(range != FLT_RANGE_OTHER) { filter_preset_daterange_set(data->filter, range, 0); ui_repdist_update_date_widget(data->window, NULL); ui_repdist_compute(data->window, NULL); ui_repdist_update_daterange(data->window, NULL); } else { if(ui_flt_manage_dialog_new(GTK_WINDOW(data->window), data->filter, TRUE, FALSE) != GTK_RESPONSE_REJECT) { ui_repdist_update_date_widget(data->window, NULL); ui_repdist_compute(data->window, NULL); ui_repdist_update_daterange(data->window, NULL); } } } static void ui_repdist_update(GtkWidget *widget, gpointer user_data) { struct ui_repdist_data *data; gboolean byamount; GtkTreeModel *model; gint page, tmpsrc, tmptype, column; gboolean xval; gchar *title; DB( g_print("\n[repdist] update\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_report)); byamount = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_byamount)); tmptype = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_type)); //tmpsrc = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_src)); tmpsrc = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_src)); //debug option DB( g_print(" option: byamount=%d tmptype=%d '%s' tmpsrc=%d '%s'\n\n", byamount, tmptype, hbtk_get_label(CYA_REPORT_TYPE,tmptype), tmpsrc, hbtk_get_label(CYA_REPORT_SRC,tmpsrc)) ); // ensure not exp & inc for piechart page = gtk_notebook_get_current_page(GTK_NOTEBOOK(data->GR_result)); if( page == 2 && tmptype == REPORT_TYPE_ALL ) { g_signal_handler_block(data->CY_type, data->handler_id[HID_REPDIST_VIEW]); hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_type), 1); g_signal_handler_unblock(data->CY_type, data->handler_id[HID_REPDIST_VIEW]); tmptype = REPORT_TYPE_EXPENSE; } // define view/sort column column = LST_REPDIST_POS; if( byamount ) { switch( tmptype ) { case REPORT_TYPE_ALL: //Inc & Exp case REPORT_TYPE_BALANCE: column = LST_REPDIST_BALANCE; break; case REPORT_TYPE_EXPENSE: column = LST_REPDIST_EXPENSE; break; case REPORT_TYPE_INCOME: column = LST_REPDIST_INCOME; break; } } DB( g_print(" sort on column %d\n\n", column) ); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(model), column, GTK_SORT_DESCENDING); gtk_chart_set_color_scheme(GTK_CHART(data->RE_chart), PREFS->report_color_scheme); //TRANSLATORS: example 'Expense by Category' title = g_strdup_printf(_("%s by %s"), hbtk_get_label(CYA_REPORT_TYPE,tmptype), hbtk_get_label(CYA_REPORT_SRC, tmpsrc) ); /* update absolute or not */ gboolean abs = (tmptype == REPORT_TYPE_EXPENSE || tmptype == REPORT_TYPE_INCOME) ? TRUE : FALSE; gtk_chart_set_absolute(GTK_CHART(data->RE_chart), abs); /* show xval for month/year and no by amount display */ xval = FALSE; if( !byamount && (tmpsrc == REPORT_SRC_MONTH || tmpsrc == REPORT_SRC_YEAR) ) { xval = TRUE; /*switch( tmpsrc) { case REPORT_SRC_MONTH: gtk_chart_set_every_xval(GTK_CHART(data->RE_chart), 4); break; case REPORT_SRC_YEAR: gtk_chart_set_every_xval(GTK_CHART(data->RE_chart), 2); break; }*/ } gtk_chart_show_xval(GTK_CHART(data->RE_chart), xval); /* update bar chart */ if( tmptype == REPORT_TYPE_ALL ) //dual exp/inc { DB( g_print(" set bar to dual exp %d/inc %d\n\n", LST_REPDIST_EXPENSE, LST_REPDIST_INCOME) ); gtk_chart_set_dualdatas(GTK_CHART(data->RE_chart), model, LST_REPDIST_EXPENSE, LST_REPDIST_INCOME, title, NULL); } else { // /!\ hazardous here column = LST_REPDIST_EXPENSE+(tmptype-1)*2; DB( g_print(" set bar to %d\n\n", column) ); gtk_chart_set_datas(GTK_CHART(data->RE_chart), model, column, title, NULL); } g_free(title); } static void ui_repdist_update_date_widget(GtkWidget *widget, gpointer user_data) { struct ui_repdist_data *data; DB( g_print("\n[repdist] update date widget\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); g_signal_handler_block(data->PO_mindate, data->handler_id[HID_REPDIST_MINDATE]); g_signal_handler_block(data->PO_maxdate, data->handler_id[HID_REPDIST_MAXDATE]); gtk_date_entry_set_date(GTK_DATE_ENTRY(data->PO_mindate), data->filter->mindate); gtk_date_entry_set_date(GTK_DATE_ENTRY(data->PO_maxdate), data->filter->maxdate); g_signal_handler_unblock(data->PO_mindate, data->handler_id[HID_REPDIST_MINDATE]); g_signal_handler_unblock(data->PO_maxdate, data->handler_id[HID_REPDIST_MAXDATE]); } static void ui_repdist_update_daterange(GtkWidget *widget, gpointer user_data) { struct ui_repdist_data *data; gchar *daterange; DB( g_print("\n[repdist] update daterange\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); daterange = filter_daterange_text_get(data->filter); gtk_label_set_markup(GTK_LABEL(data->TX_daterange), daterange); g_free(daterange); } static void ui_repdist_update_total(GtkWidget *widget, gpointer user_data) { struct ui_repdist_data *data; //gboolean minor; DB( g_print("\n[repdist] update total\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); //minor = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_minor)); hb_label_set_colvalue(GTK_LABEL(data->TX_total[0]), data->total_expense, GLOBALS->kcur, GLOBALS->minor); hb_label_set_colvalue(GTK_LABEL(data->TX_total[1]), data->total_income, GLOBALS->kcur, GLOBALS->minor); hb_label_set_colvalue(GTK_LABEL(data->TX_total[2]), data->total_expense + data->total_income, GLOBALS->kcur, GLOBALS->minor); } static void ui_repdist_export_result_clipboard(GtkWidget *widget, gpointer user_data) { struct ui_repdist_data *data; GtkClipboard *clipboard; GString *node; DB( g_print("\n[repdist] export result clipboard\n") ); data = user_data; //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); node = ui_list_repdist_to_string(GTK_TREE_VIEW(data->LV_report), TRUE); clipboard = gtk_clipboard_get_default(gdk_display_get_default()); gtk_clipboard_set_text(clipboard, node->str, node->len); g_string_free(node, TRUE); } static void ui_repdist_export_result_csv(GtkWidget *widget, gpointer user_data) { struct ui_repdist_data *data; gchar *filename = NULL; GString *node; GIOChannel *io; gchar *name; gint tmpsrc; DB( g_print("\n[repdist] export result csv\n") ); data = user_data; //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); //tmpsrc = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_src)); tmpsrc = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_src)); name = g_strdup_printf("hb-repstat_%s.csv", hbtk_get_label(CYA_REPORT_SRC,tmpsrc)); if( ui_file_chooser_csv(GTK_WINDOW(data->window), GTK_FILE_CHOOSER_ACTION_SAVE, &filename, name) == TRUE ) { DB( g_print(" + filename is %s\n", filename) ); io = g_io_channel_new_file(filename, "w", NULL); if(io != NULL) { node = ui_list_repdist_to_string(GTK_TREE_VIEW(data->LV_report), FALSE); g_io_channel_write_chars(io, node->str, -1, NULL, NULL); g_io_channel_unref (io); g_string_free(node, TRUE); } g_free( filename ); } g_free(name); } static void ui_repdist_export_detail_clipboard(GtkWidget *widget, gpointer user_data) { struct ui_repdist_data *data; GtkClipboard *clipboard; GString *node; DB( g_print("\n[repdist] export detail clipboard\n") ); data = user_data; //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); node = list_txn_to_string(GTK_TREE_VIEW(data->LV_detail), TRUE); clipboard = gtk_clipboard_get_default(gdk_display_get_default()); gtk_clipboard_set_text(clipboard, node->str, node->len); g_string_free(node, TRUE); } static void ui_repdist_export_detail_csv(GtkWidget *widget, gpointer user_data) { struct ui_repdist_data *data; gchar *filename = NULL; GString *node; GIOChannel *io; gchar *name; gint tmpsrc; DB( g_print("\n[repdist] export detail csv\n") ); data = user_data; //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); //tmpsrc = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_src)); tmpsrc = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_src)); name = g_strdup_printf("hb-repstat-detail_%s.csv", hbtk_get_label(CYA_REPORT_SRC,tmpsrc)); if( ui_file_chooser_csv(GTK_WINDOW(data->window), GTK_FILE_CHOOSER_ACTION_SAVE, &filename, name) == TRUE ) { DB( g_print(" + filename is %s\n", filename) ); io = g_io_channel_new_file(filename, "w", NULL); if(io != NULL) { node = list_txn_to_string(GTK_TREE_VIEW(data->LV_detail), FALSE); g_io_channel_write_chars(io, node->str, -1, NULL, NULL); g_io_channel_unref (io); g_string_free(node, TRUE); } g_free( filename ); } g_free(name); } static void ui_repdist_detail(GtkWidget *widget, gpointer user_data) { struct ui_repdist_data *data; guint active = GPOINTER_TO_INT(user_data); guint tmpsrc; GList *list; GtkTreeModel *model; GtkTreeIter iter; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n[repdist] detail\n") ); /* clear and detach our model */ model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_detail)); gtk_list_store_clear (GTK_LIST_STORE(model)); if(data->detail) { //tmpsrc = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_src)); tmpsrc = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_src)); g_object_ref(model); /* Make sure the model stays with us after the tree view unrefs it */ gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_detail), NULL); /* Detach model from view */ /* fill in the model */ list = g_queue_peek_head_link(data->txn_queue); while (list != NULL) { Transaction *ope = list->data; gdouble dtlamt = ope->amount; if(filter_txn_match(data->filter, ope) == 1) { gboolean match = FALSE; guint i, pos = 0; if( tmpsrc != REPORT_SRC_TAG ) { if( (tmpsrc == REPORT_SRC_CATEGORY || tmpsrc == REPORT_SRC_SUBCATEGORY) && ope->flags & OF_SPLIT ) { guint nbsplit = da_splits_length(ope->splits); Split *split; dtlamt = 0.0; for(i=0;isplits, i); pos = category_report_id(split->kcat, (tmpsrc == REPORT_SRC_SUBCATEGORY) ? TRUE : FALSE); if( pos == active ) { match = TRUE; dtlamt += split->amount; // no more break here as we need to compute split 4 cat //break; } } } else { pos = report_items_get_pos(tmpsrc, data->filter->mindate, ope); if( pos == active ) { match = TRUE; } } } else /* the TAG process is particular */ { if(ope->tags != NULL) { guint32 *tptr = ope->tags; while(*tptr) { pos = *tptr - 1; DB( g_print(" -> storing tag %d %.2f\n", pos, ope->amount) ); if( pos == active ) { match = TRUE; break; } tptr++; } } } if( match == TRUE ) { gtk_list_store_insert_with_values (GTK_LIST_STORE(model), &iter, -1, MODEL_TXN_POINTER, ope, MODEL_TXN_SPLITAMT, dtlamt, -1); } } list = g_list_next(list); } /* Re-attach model to view */ gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_detail), model); g_object_unref(model); gtk_tree_view_columns_autosize( GTK_TREE_VIEW(data->LV_detail) ); } } static void ui_repdist_compute(GtkWidget *widget, gpointer user_data) { struct ui_repdist_data *data; DataTable *dt; gint tmpsrc, tmptype, tmpintvl; guint n_result, n_cols; guint i; GtkTreeModel *model; GtkTreeIter iter; DB( g_print("\n[repdist] compute\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); //tmpsrc = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_src)); tmpsrc = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_src)); tmptype = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_type)); //beta tmpintvl = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_intvl)); g_queue_free (data->txn_queue); data->txn_queue = hbfile_transaction_get_partial(data->filter->mindate, data->filter->maxdate); DB( g_print(" for=%d,kind=%d\n", tmpsrc, tmptype) ); DB( g_print(" nb-txn=%d\n", g_queue_get_length (data->txn_queue) ) ); //todo: remove this later on n_result = report_items_count(tmpsrc, data->filter->mindate, data->filter->maxdate); n_cols = report_interval_count(tmpintvl, data->filter->mindate, data->filter->maxdate); DB( g_print(" %s :: n_result=%d, n_cols=%d\n", hbtk_get_label(CYA_REPORT_SRC,tmpsrc), n_result, n_cols) ); //TODO: add if mode==0 dt = report_compute_total(tmpsrc, data->filter, data->txn_queue); if(dt) { data->total_expense = dt->totexp; data->total_income = dt->totinc; /* clear and detach our model */ model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_report)); gtk_list_store_clear (GTK_LIST_STORE(model)); g_object_ref(model); /* Make sure the model stays with us after the tree view unrefs it */ gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_report), NULL); /* Detach model from view */ /* insert into the treeview */ for(i=0; irows[i]; //DB( g_print("try to insert item %d - %.2f %.2f\n", i, dr->expense[0], dr->income[1]) ); /* skip empty results */ if( !(tmpsrc == REPORT_SRC_MONTH || tmpsrc == REPORT_SRC_YEAR) ) { if( tmptype == REPORT_TYPE_EXPENSE && !dr->expense[0] ) continue; if( tmptype == REPORT_TYPE_INCOME && !dr->income[1] ) continue; if( !dr->expense[0] && !dr->income[1] ) continue; } /* skip no account */ if( tmpsrc == REPORT_SRC_ACCOUNT && i == 0 ) continue; DB( g_printf(" insert %2d, '%s', %9.2f %9.2f %9.2f\n", i, dr->label, dr->expense[0], dr->income[1], dr->expense[0] + dr->income[1]) ); gtk_list_store_insert_with_values (GTK_LIST_STORE(model), &iter, -1, LST_REPDIST_POS, dr->pos, LST_REPDIST_KEY, i, LST_REPDIST_NAME, dr->label, LST_REPDIST_EXPENSE, dr->expense[0], LST_REPDIST_INCOME , dr->income[1], LST_REPDIST_BALANCE, dr->expense[0] + dr->income[1], LST_REPDIST_EXPRATE, hb_rate(-dr->expense[0], -data->total_expense), LST_REPDIST_INCRATE, hb_rate(dr->income[1], data->total_income), LST_REPDIST_BALRATE, hb_rate(-dr->expense[0] + dr->income[1], -data->total_expense + data->total_income), -1); } /* update column 0 title */ GtkTreeViewColumn *column = gtk_tree_view_get_column( GTK_TREE_VIEW(data->LV_report), 0); gtk_tree_view_column_set_title(column, hbtk_get_label(CYA_REPORT_SRC,tmpsrc)); gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_report)); /* Re-attach model to view */ gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_report), model); g_object_unref(model); } da_datatable_free (dt); ui_repdist_update_total(widget,NULL); ui_repdist_update(widget, user_data); /* test multi */ //TODO: add if mode==1 && choose a better max column value if( n_cols > 365*4 ) { model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_report2)); gtk_tree_store_clear (GTK_TREE_STORE(model)); ui_list_reptime2_renewcol(GTK_TREE_VIEW(data->LV_report2), 0, data->filter->mindate, tmpintvl); ui_dialog_msg_infoerror(GTK_WINDOW(data->window), GTK_MESSAGE_INFO, _("Too much columns to display"), _("Please select a wider interval and / or a narrower date range") ); } else { DB( g_print("\n[repdist] compute test multi\n") ); if(data->trend) da_datatable_free (data->trend); dt = report_compute_trend(tmpsrc, tmpintvl, data->filter, data->txn_queue); data->trend = dt; DB( g_print("\npopulate listview\n") ); /* clear and detach our model */ model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_report2)); gtk_tree_store_clear (GTK_TREE_STORE(model)); g_object_ref(model); /* Make sure the model stays with us after the tree view unrefs it */ gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_report2), NULL); /* Detach model from view */ ui_list_reptime2_renewcol(GTK_TREE_VIEW(data->LV_report2), n_cols, data->filter->mindate, tmpintvl); /* update column 0 title */ GtkTreeViewColumn *column = gtk_tree_view_get_column( GTK_TREE_VIEW(data->LV_report2), 0); gtk_tree_view_column_set_title(column, hbtk_get_label(CYA_REPORT_SRC,tmpsrc)); if( tmpsrc == REPORT_SRC_SUBCATEGORY ) { GList *l, *clist = category_glist_sorted(1); l = g_list_first(clist); while(l != NULL) { Category *cat = l->data; if(cat) { DataRow *dr = dt->rows[cat->key]; gdouble total = dr->expense[dt->nbcols+2]+dr->income[dt->nbcols+2]; DB( g_printf(" eval cat %4d:'%s' = '%s' %.2f\n", cat->key, cat->name, dr->label, total) ); if( total ) { if( cat->parent == 0 ) { DB( g_printf(" > insert\n") ); gtk_tree_store_insert_with_values(GTK_TREE_STORE(model), &iter, NULL, -1, LST_REPDIST2_ROW, dr, LST_REPDIST2_LABEL, dr->label, -1); } else { GtkTreeIter iter2; DB( g_printf(" > insert\n") ); gtk_tree_store_insert_with_values(GTK_TREE_STORE(model), &iter2, &iter, -1, LST_REPDIST2_ROW, dr, LST_REPDIST2_LABEL, dr->label, -1); } } else { DB( g_printf(" > skipped\n") ); } } l = g_list_next(l); } g_list_free(clist); } else { for(i=0; irows[i]; gdouble total = dr->expense[dt->nbcols+2]+dr->income[dt->nbcols+2]; DB( g_printf(" eval item %4d:'%s' %.2f\n", i, dr->label, total ) ); if( !total ) continue; DB( g_printf(" --> insert\n") ); gtk_tree_store_insert_with_values(GTK_TREE_STORE(model), &iter, NULL, -1, LST_REPDIST2_ROW, dr, LST_REPDIST2_LABEL, dr->label, -1); } } /* Re-attach model to view */ gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_report2), model); g_object_unref(model); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(model), LST_REPDIST2_POS, GTK_SORT_DESCENDING); /* test liststore */ //liststore_benchmark(); /* test multi end */ } } /* ** update visibility/sensitivity */ static void ui_repdist_sensitive(GtkWidget *widget, gpointer user_data) { struct ui_repdist_data *data; gboolean visible, sensitive; gint mode, page; DB( g_print("\n[repdist] sensitive\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); mode = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_mode)); page = gtk_notebook_get_current_page(GTK_NOTEBOOK(data->GR_result)); visible = mode == 0 ? TRUE : FALSE; hb_widget_visible(data->LB_type, visible); hb_widget_visible(data->CY_type, visible); hb_widget_visible(data->CM_byamount, visible); hb_widget_visible(data->BT_column, visible); hb_widget_visible(data->BT_donut, visible); hb_widget_visible(data->LB_intvl, !visible); hb_widget_visible(data->CY_intvl, !visible); visible = (mode==0 && page == 1) ? TRUE : FALSE; hb_widget_visible(data->LB_zoomx, visible); hb_widget_visible(data->RG_zoomx, visible); visible = page == 0 ? TRUE : FALSE; hb_widget_visible (data->BT_detail, visible); hb_widget_visible (data->BT_export, visible); hb_widget_visible (data->BT_rate, visible); visible = (mode==0 && page > 0) ? TRUE : FALSE; hb_widget_visible (data->BT_legend, visible); page = gtk_tree_model_iter_n_children(gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_detail)), NULL); sensitive = ((page > 0) && data->detail) ? TRUE : FALSE; gtk_widget_set_sensitive(data->MI_detailtoclip, sensitive); gtk_widget_set_sensitive(data->MI_detailtocsv, sensitive); } static void ui_repdist_detail_onRowActivated (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *col, gpointer userdata) { struct ui_repdist_data *data; Transaction *active_txn; gboolean result; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(treeview), GTK_TYPE_WINDOW)), "inst_data"); DB( g_print ("\n[repdist] A detail row has been double-clicked!\n") ); active_txn = list_txn_get_active_transaction(GTK_TREE_VIEW(data->LV_detail)); if(active_txn) { Transaction *old_txn, *new_txn; old_txn = da_transaction_clone (active_txn); new_txn = active_txn; result = deftransaction_external_edit(GTK_WINDOW(data->window), old_txn, new_txn); if(result == GTK_RESPONSE_ACCEPT) { //#1640885 GLOBALS->changes_count++; ui_repdist_compute(data->window, NULL); } da_transaction_free (old_txn); } } static void ui_repdist_update_detail(GtkWidget *widget, gpointer user_data) { struct ui_repdist_data *data; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); if(GTK_IS_TREE_VIEW(data->LV_report)) { if(data->detail) { GtkTreeSelection *treeselection; GtkTreeModel *model; GtkTreeIter iter; guint key; treeselection = gtk_tree_view_get_selection (GTK_TREE_VIEW(data->LV_report)); if (gtk_tree_selection_get_selected(treeselection, &model, &iter)) { gtk_tree_model_get(model, &iter, LST_REPDIST_KEY, &key, -1); DB( g_print(" - active is %d\n", key) ); ui_repdist_detail(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), GINT_TO_POINTER(key)); } gtk_widget_show(data->GR_detail); } else gtk_widget_hide(data->GR_detail); } } static void ui_repdist_toggle_detail(GtkWidget *widget, gpointer user_data) { struct ui_repdist_data *data; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); data->detail ^= 1; DB( g_print("\n[repdist] toggledetail to %d\n", data->detail) ); ui_repdist_update_detail(widget, user_data); } /* ** change the chart legend visibility */ static void ui_repdist_toggle_legend(GtkWidget *widget, gpointer user_data) { struct ui_repdist_data *data; //gint active; DB( g_print("\n[repdist] toggle legend\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); data->legend ^= 1; gtk_chart_show_legend(GTK_CHART(data->RE_chart), data->legend, FALSE); } static void ui_repdist_zoomx_callback(GtkWidget *widget, gpointer user_data) { struct ui_repdist_data *data; gdouble value; DB( g_print("\n[repdist] zoomx\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); value = gtk_range_get_value(GTK_RANGE(data->RG_zoomx)); DB( g_print(" + scale is %.2f\n", value) ); gtk_chart_set_barw(GTK_CHART(data->RE_chart), value); } /* ** change the chart rate columns visibility */ static void ui_repdist_toggle_rate(GtkWidget *widget, gpointer user_data) { struct ui_repdist_data *data; GtkTreeViewColumn *column; DB( g_print("\n[repdist] toggle rate\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); data->rate ^= 1; if(GTK_IS_TREE_VIEW(data->LV_report)) { column = gtk_tree_view_get_column (GTK_TREE_VIEW(data->LV_report), 2); gtk_tree_view_column_set_visible(column, data->rate); column = gtk_tree_view_get_column (GTK_TREE_VIEW(data->LV_report), 4); gtk_tree_view_column_set_visible(column, data->rate); column = gtk_tree_view_get_column (GTK_TREE_VIEW(data->LV_report), 6); gtk_tree_view_column_set_visible(column, data->rate); } } static void ui_repdist_toggle_minor(GtkWidget *widget, gpointer user_data) { struct ui_repdist_data *data; DB( g_print("\n[repdist] toggle minor\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); GLOBALS->minor = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_minor)); ui_repdist_update_total(widget,NULL); //hbfile_update(data->LV_acc, (gpointer)4); gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_report)); gtk_chart_show_minor(GTK_CHART(data->RE_chart), GLOBALS->minor); } /* ** */ static void ui_repdist_setup(struct ui_repdist_data *data) { DB( g_print("\n[repdist] setup\n") ); data->txn_queue = g_queue_new (); data->filter = da_flt_malloc(); filter_reset(data->filter); data->detail = PREFS->stat_showdetail; data->legend = 1; data->rate = PREFS->stat_showrate^1; ui_repdist_toggle_rate(data->window, NULL); /* 3.4 : make int transfer out of stats */ data->filter->option[FILTER_TYPE] = 2; data->filter->type = FLT_TYPE_INTXFER; filter_preset_daterange_set(data->filter, PREFS->date_range_rep, 0); ui_repdist_update_date_widget(data->window, NULL); } static void ui_repdist_selection(GtkTreeSelection *treeselection, gpointer user_data) { GtkTreeModel *model; GtkTreeIter iter; guint key = -1; DB( g_print("\n[repdist] selection\n") ); if (gtk_tree_selection_get_selected(treeselection, &model, &iter)) { gtk_tree_model_get(model, &iter, LST_REPDIST_KEY, &key, -1); } DB( g_print(" - active is %d\n", key) ); ui_repdist_detail(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), GINT_TO_POINTER(key)); ui_repdist_sensitive(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), NULL); } static GtkWidget * ui_repdist_toolbar_create(struct ui_repdist_data *data) { GtkWidget *toolbar, *button; toolbar = gtk_toolbar_new(); button = (GtkWidget *)gtk_radio_tool_button_new(NULL); data->BT_list = button; g_object_set (button, "icon-name", ICONNAME_HB_VIEW_LIST, "label", _("List"), NULL); gtk_widget_set_tooltip_text(button, _("View results as list")); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(button), -1); button = (GtkWidget *)gtk_radio_tool_button_new_from_widget(GTK_RADIO_TOOL_BUTTON(button)); data->BT_column = button; g_object_set (button, "icon-name", ICONNAME_HB_VIEW_COLUMN, "label", _("Column"), NULL); gtk_widget_set_tooltip_text(button, _("View results as column")); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(button), -1); button = (GtkWidget *)gtk_radio_tool_button_new_from_widget(GTK_RADIO_TOOL_BUTTON(button)); data->BT_donut = button; g_object_set (button, "icon-name", ICONNAME_HB_VIEW_DONUT, "label", _("Donut"), NULL); gtk_widget_set_tooltip_text(button, _("View results as donut")); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(button), -1); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), gtk_separator_tool_item_new(), -1); button = gtk_widget_new(GTK_TYPE_TOGGLE_TOOL_BUTTON, "icon-name", ICONNAME_HB_OPE_SHOW, "label", _("Detail"), "tooltip-text", _("Toggle detail"), "active", PREFS->stat_showdetail, NULL); data->BT_detail = button; gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(button), -1); button = gtk_widget_new(GTK_TYPE_TOGGLE_TOOL_BUTTON, "icon-name", ICONNAME_HB_SHOW_LEGEND, "label", _("Legend"), "tooltip-text", _("Toggle legend"), "active", TRUE, NULL); data->BT_legend = button; gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(button), -1); button = gtk_widget_new(GTK_TYPE_TOGGLE_TOOL_BUTTON, "icon-name", ICONNAME_HB_SHOW_RATE, "label", _("Rate"), "tooltip-text", _("Toggle rate"), "active", PREFS->stat_showrate, NULL); data->BT_rate = button; gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(button), -1); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), gtk_separator_tool_item_new(), -1); button = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_FILTER, _("Filter"), _("Edit filter")); data->BT_filter = button; button = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_REFRESH, N_("Refresh"), _("Refresh results")); data->BT_refresh = button; GtkWidget *menu, *menuitem; menu = gtk_menu_new (); //gtk_widget_set_halign (menu, GTK_ALIGN_END); menuitem = gtk_menu_item_new_with_mnemonic (_("_Result to clipboard")); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (ui_repdist_export_result_clipboard), data); menuitem = gtk_menu_item_new_with_mnemonic (_("_Result to CSV")); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (ui_repdist_export_result_csv), data); menuitem = gtk_menu_item_new_with_mnemonic (_("_Detail to clipboard")); data->MI_detailtoclip = menuitem; gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (ui_repdist_export_detail_clipboard), data); menuitem = gtk_menu_item_new_with_mnemonic (_("_Detail to CSV")); data->MI_detailtocsv = menuitem; gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (ui_repdist_export_detail_csv), data); gtk_widget_show_all (menu); button = gtk_menu_button_new(); data->BT_export = button; gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET(button)), GTK_STYLE_CLASS_FLAT); //gtk_menu_button_set_direction (GTK_MENU_BUTTON(widget), GTK_ARROW_DOWN); //gtk_widget_set_halign (widget, GTK_ALIGN_END); GtkWidget *image = gtk_image_new_from_icon_name (ICONNAME_HB_FILE_EXPORT, GTK_ICON_SIZE_LARGE_TOOLBAR); g_object_set (button, "image", image, "popup", GTK_MENU(menu), NULL); GtkToolItem *toolitem = gtk_tool_item_new(); gtk_container_add (GTK_CONTAINER(toolitem), button); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(toolitem), -1); return toolbar; } static gboolean ui_repdist_dispose(GtkWidget *widget, GdkEvent *event, gpointer user_data) { struct ui_repdist_data *data = user_data; struct WinGeometry *wg; DB( g_print("\n[repdist] dispose\n") ); /* test multi */ if(data->trend) da_datatable_free (data->trend); g_queue_free (data->txn_queue); da_flt_free(data->filter); g_free(data); //store position and size wg = &PREFS->sta_wg; gtk_window_get_position(GTK_WINDOW(widget), &wg->l, &wg->t); gtk_window_get_size(GTK_WINDOW(widget), &wg->w, &wg->h); DB( g_print(" window: l=%d, t=%d, w=%d, h=%d\n", wg->l, wg->t, wg->w, wg->h) ); //enable define windows GLOBALS->define_off--; ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_SENSITIVE)); return FALSE; } // the window creation GtkWidget *ui_repdist_window_new(void) { struct ui_repdist_data *data; struct WinGeometry *wg; GtkWidget *window, *mainvbox, *hbox, *vbox, *notebook, *treeview, *vpaned, *sw; GtkWidget *label, *widget, *table, *entry; gint row; DB( g_print("\n[repdist] new\n") ); data = g_malloc0(sizeof(struct ui_repdist_data)); if(!data) return NULL; //disable define windows GLOBALS->define_off++; ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_SENSITIVE)); /* create window, etc */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); data->window = window; //store our window private data g_object_set_data(G_OBJECT(window), "inst_data", (gpointer)data); DB( g_print(" - new window=%p, inst_data=%p\n", window, data) ); gtk_window_set_title (GTK_WINDOW (window), _("Statistics Report")); gtk_window_set_icon_name(GTK_WINDOW (window), ICONNAME_HB_REP_STATS); //window contents mainvbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), mainvbox); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (mainvbox), hbox, TRUE, TRUE, 0); //control part table = gtk_grid_new (); gtk_widget_set_hexpand (GTK_WIDGET(table), FALSE); gtk_box_pack_start (GTK_BOX (hbox), table, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (table), SPACING_SMALL); gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM); row = 0; label = make_label_group(_("Display")); gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); row++; label = make_label_widget(_("Mode:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); widget = hbtk_radio_button_new(CYA_REPORT_MODE, TRUE); data->RA_mode = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; label = make_label_widget(_("_View by:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); //widget = make_cycle(label, CYA_REPORT_SRC); widget = hbtk_combo_box_new_with_data(label, CYA_REPORT_SRC); data->CY_src = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; label = make_label_widget(_("_Type:")); data->LB_type = label; gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); //widget = make_cycle(label, CYA_REPORT_TXN_TYPE); widget = hbtk_combo_box_new_with_data(label, CYA_REPORT_TYPE); data->CY_type = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("By _amount")); data->CM_byamount = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; label = make_label_widget(_("Inter_val:")); data->LB_intvl = label; gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); //widget = make_cycle(label, CYA_REPORT_INTVL); widget = hbtk_combo_box_new_with_data(label, CYA_REPORT_INTVL); data->CY_intvl = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_intvl), REPORT_INTVL_MONTH); row++; widget = gtk_check_button_new_with_mnemonic (_("Euro _minor")); data->CM_minor = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; label = make_label_widget(_("_Zoom X:")); data->LB_zoomx = label; gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); widget = make_scale(label); data->RG_zoomx = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); /* row++; widget = gtk_check_button_new_with_mnemonic ("Legend"); data->CM_legend = widget; gtk_grid_attach (GTK_GRID (table), widget, 1, 2, row, row+1); */ //quick date row++; widget = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL); gtk_grid_attach (GTK_GRID (table), widget, 0, row, 3, 1); row++; label = make_label_group(_("Date filter")); gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); row++; label = make_label_widget(_("_Range:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); data->CY_range = make_daterange(label, DATE_RANGE_CUSTOM_DISABLE); gtk_grid_attach (GTK_GRID (table), data->CY_range, 2, row, 1, 1); row++; label = make_label_widget(_("_From:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); data->PO_mindate = gtk_date_entry_new(label); gtk_grid_attach (GTK_GRID (table), data->PO_mindate, 2, row, 1, 1); row++; label = make_label_widget(_("_To:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); data->PO_maxdate = gtk_date_entry_new(label); gtk_grid_attach (GTK_GRID (table), data->PO_maxdate, 2, row, 1, 1); //beta: start user filters /* row++; widget = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL); gtk_grid_attach (GTK_GRID (table), widget, 0, row, 3, 1); row++; label = make_label_group(_("Saved filter")); gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); row++; label = make_label_widget(_("_Preset:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); widget = gtk_menu_button_new(); gtk_widget_set_hexpand(widget, TRUE); gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); GtkWidget *popover = gtk_popover_new(NULL); gtk_menu_button_set_popover(GTK_MENU_BUTTON(widget), popover); label = gtk_label_new("test popover"); gtk_widget_set_margin_start (label, SPACING_POPOVER); gtk_widget_set_margin_end (label, SPACING_POPOVER); gtk_widget_set_margin_top (label, SPACING_POPOVER); gtk_widget_set_margin_bottom (label, SPACING_POPOVER); gtk_container_add (GTK_CONTAINER (popover), label); gtk_widget_show_all(label); */ //beta: end user filters //widget = gtk_combo_box_text_new(); //gtk_widget_set_hexpand(widget, FALSE); //gtk_combo_box_text_append_text (widget, "--------"); //gtk_combo_box_text_append_text (widget, "EDF invoices from 2012 to 2016"); //gtk_combo_box_text_append_text (widget, "Lorem ipsum dolor sit amet, consectetur adipiscing elit"); //gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); /*row++; label = gtk_label_new(_("Lorem ipsum dolor sit amet, consectetur adipiscing elit")); gtk_label_set_ellipsize(GTK_LABEL(label), PANGO_ELLIPSIZE_END); //gtk_widget_set_hexpand(label, FALSE); gtk_widget_set_size_request(label, HB_MINWIDTH_LIST, -1); gtk_grid_attach (GTK_GRID (table), label, 2, row, 1, 1); */ //part: info + report vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0); //toolbar widget = ui_repdist_toolbar_create(data); data->TB_bar = widget; gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); //test date on top right /* hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); gtk_container_set_border_width (GTK_CONTAINER(hbox), SPACING_SMALL); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); data->PO_mindate = gtk_date_entry_new(NULL); gtk_widget_set_hexpand(data->PO_mindate, FALSE); gtk_box_pack_start (GTK_BOX (hbox), data->PO_mindate, FALSE, FALSE, 0); data->PO_maxdate = gtk_date_entry_new(NULL); gtk_widget_set_hexpand(data->PO_maxdate, FALSE); gtk_box_pack_start (GTK_BOX (hbox), data->PO_maxdate, FALSE, FALSE, 0); data->CY_range = make_daterange(label, DATE_RANGE_CUSTOM_DISABLE); gtk_box_pack_start (GTK_BOX (hbox), data->CY_range, FALSE, FALSE, 0); */ //end test date //infos + balance hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); gtk_container_set_border_width (GTK_CONTAINER(hbox), SPACING_SMALL); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); widget = make_label(NULL, 0.5, 0.5); gimp_label_set_attributes (GTK_LABEL (widget), PANGO_ATTR_SCALE, PANGO_SCALE_SMALL, -1); data->TX_daterange = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); entry = gtk_label_new(NULL); data->TX_total[2] = entry; gtk_box_pack_end (GTK_BOX (hbox), entry, FALSE, FALSE, 0); label = gtk_label_new(_("Balance:")); gtk_box_pack_end (GTK_BOX (hbox), label, FALSE, FALSE, 0); entry = gtk_label_new(NULL); data->TX_total[1] = entry; gtk_box_pack_end (GTK_BOX (hbox), entry, FALSE, FALSE, 0); label = gtk_label_new(_("Income:")); gtk_box_pack_end (GTK_BOX (hbox), label, FALSE, FALSE, 0); entry = gtk_label_new(NULL); data->TX_total[0] = entry; gtk_box_pack_end (GTK_BOX (hbox), entry, FALSE, FALSE, 0); label = gtk_label_new(_("Expense:")); gtk_box_pack_end (GTK_BOX (hbox), label, FALSE, FALSE, 0); /* report area */ notebook = gtk_notebook_new(); data->GR_result = notebook; gtk_widget_show(notebook); gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), FALSE); gtk_notebook_set_show_border(GTK_NOTEBOOK(notebook), FALSE); gtk_box_pack_start (GTK_BOX (vbox), notebook, TRUE, TRUE, 0); // page list/detail vpaned = gtk_paned_new(GTK_ORIENTATION_VERTICAL); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vpaned, NULL); // list sw = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); treeview = ui_list_repdist_create(); data->LV_report = treeview; gtk_container_add (GTK_CONTAINER(sw), treeview); gtk_paned_pack1 (GTK_PANED(vpaned), sw, TRUE, TRUE); //detail sw = gtk_scrolled_window_new (NULL, NULL); data->GR_detail = sw; //gtk_scrolled_window_set_placement(GTK_SCROLLED_WINDOW (sw), GTK_CORNER_TOP_RIGHT); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); treeview = create_list_transaction(LIST_TXN_TYPE_DETAIL, PREFS->lst_ope_columns); data->LV_detail = treeview; gtk_container_add (GTK_CONTAINER(sw), treeview); gtk_paned_pack2 (GTK_PANED(vpaned), sw, TRUE, TRUE); //page: 2d bar /pie widget = gtk_chart_new(CHART_TYPE_COL); data->RE_chart = widget; gtk_chart_set_minor_prefs(GTK_CHART(widget), PREFS->euro_value, PREFS->minor_cur.symbol); gtk_chart_set_currency(GTK_CHART(widget), GLOBALS->kcur); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), widget, NULL); //new test multi list widget = gtk_scrolled_window_new (NULL, NULL); //gtk_scrolled_window_set_placement(GTK_SCROLLED_WINDOW (widget), GTK_CORNER_TOP_RIGHT); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (widget), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (widget), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); treeview = ui_list_reptime2_create(); data->LV_report2 = treeview; gtk_container_add (GTK_CONTAINER(widget), treeview); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), widget, NULL); //end test multi list //todo: setup should move this gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_minor), GLOBALS->minor); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_byamount), PREFS->stat_byamount); hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_type), REPORT_TYPE_EXPENSE); /* attach our minor to treeview */ g_object_set_data(G_OBJECT(gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_report))), "minor", (gpointer)data->CM_minor); g_object_set_data(G_OBJECT(gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_detail))), "minor", (gpointer)data->CM_minor); /* signal connect */ g_signal_connect (window, "delete-event", G_CALLBACK (ui_repdist_dispose), (gpointer)data); g_signal_connect (data->CM_minor, "toggled", G_CALLBACK (ui_repdist_toggle_minor), NULL); data->handler_id[HID_REPDIST_MINDATE] = g_signal_connect (data->PO_mindate, "changed", G_CALLBACK (ui_repdist_date_change), (gpointer)data); data->handler_id[HID_REPDIST_MAXDATE] = g_signal_connect (data->PO_maxdate, "changed", G_CALLBACK (ui_repdist_date_change), (gpointer)data); data->handler_id[HID_REPDIST_RANGE] = g_signal_connect (data->CY_range, "changed", G_CALLBACK (ui_repdist_range_change), NULL); g_signal_connect (data->CY_src, "changed", G_CALLBACK (ui_repdist_compute), (gpointer)data); //test multi hbtk_radio_button_connect (GTK_CONTAINER(data->RA_mode), "toggled", G_CALLBACK (ui_repdist_action_mode_changed), (gpointer)data); g_signal_connect (data->CY_intvl, "changed", G_CALLBACK (ui_repdist_compute), (gpointer)data); data->handler_id[HID_REPDIST_VIEW] = g_signal_connect (data->CY_type, "changed", G_CALLBACK (ui_repdist_compute), (gpointer)data); g_signal_connect (data->RG_zoomx, "value-changed", G_CALLBACK (ui_repdist_zoomx_callback), NULL); g_signal_connect (data->CM_byamount, "toggled", G_CALLBACK (ui_repdist_update), NULL); g_signal_connect (G_OBJECT (data->BT_list), "clicked", G_CALLBACK (ui_repdist_action_viewlist), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_column), "clicked", G_CALLBACK (ui_repdist_action_viewbar), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_donut), "clicked", G_CALLBACK (ui_repdist_action_viewpie), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_detail), "clicked", G_CALLBACK (ui_repdist_toggle_detail), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_legend), "clicked", G_CALLBACK (ui_repdist_toggle_legend), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_rate), "clicked", G_CALLBACK (ui_repdist_toggle_rate), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_filter), "clicked", G_CALLBACK (ui_repdist_action_filter), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_refresh), "clicked", G_CALLBACK (ui_repdist_compute), (gpointer)data); //export is a menu g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_report)), "changed", G_CALLBACK (ui_repdist_selection), NULL); g_signal_connect (GTK_TREE_VIEW(data->LV_detail), "row-activated", G_CALLBACK (ui_repdist_detail_onRowActivated), NULL); //setup, init and show window ui_repdist_setup(data); /* toolbar */ if(PREFS->toolbar_style == 0) gtk_toolbar_unset_style(GTK_TOOLBAR(data->TB_bar)); else gtk_toolbar_set_style(GTK_TOOLBAR(data->TB_bar), PREFS->toolbar_style-1); //setup, init and show window wg = &PREFS->sta_wg; gtk_window_move(GTK_WINDOW(window), wg->l, wg->t); gtk_window_resize(GTK_WINDOW(window), wg->w, wg->h); gtk_widget_show_all (window); //minor ? if( PREFS->euro_active ) gtk_widget_show(data->CM_minor); else gtk_widget_hide(data->CM_minor); //gtk_widget_hide(data->GR_detail); ui_repdist_sensitive(window, NULL); ui_repdist_update_detail(window, NULL); DB( g_print("range: %d\n", PREFS->date_range_rep) ); if( PREFS->date_range_rep != 0) hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_range), PREFS->date_range_rep); else ui_repdist_compute(window, NULL); return window; } /* ** ============================================================================ */ static GString *ui_list_repdist_to_string(GtkTreeView *treeview, gboolean clipboard) { GString *node; GtkTreeModel *model; GtkTreeIter iter; gboolean valid; const gchar *format; node = g_string_new(NULL); // header format = (clipboard == TRUE) ? "%s\t%s\t%s\t%s\n" : "%s;%s;%s;%s\n"; g_string_append_printf(node, format, _("Result"), _("Expense"), _("Income"), _("Balance")); model = gtk_tree_view_get_model(treeview); valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { gchar *name; gdouble exp, inc, bal; gtk_tree_model_get (model, &iter, //LST_REPDIST_KEY, i, LST_REPDIST_NAME , &name, LST_REPDIST_EXPENSE, &exp, LST_REPDIST_INCOME , &inc, LST_REPDIST_BALANCE, &bal, -1); format = (clipboard == TRUE) ? "%s\t%.2f\t%.2f\t%.2f\n" : "%s;%.2f;%.2f;%.2f\n"; g_string_append_printf(node, format, name, exp, inc, bal); //leak g_free(name); valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } //DB( g_print("text is:\n%s", node->str) ); return node; } static void ui_list_repdist_rate_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { //GtkWidget *widget; //widget = g_object_get_data(G_OBJECT(model), "minor"); //todo g_assert here and null test gdouble tmp; gchar buf[128]; gtk_tree_model_get(model, iter, GPOINTER_TO_INT(user_data), &tmp, -1); if(tmp != 0.0) { g_snprintf(buf, sizeof(buf), "%.2f %%", tmp); g_object_set(renderer, "text", buf, NULL); } else g_object_set(renderer, "text", "", NULL); } static void ui_list_repdist_amount_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gdouble value; gchar *color; gchar buf[G_ASCII_DTOSTR_BUF_SIZE]; gtk_tree_model_get(model, iter, GPOINTER_TO_INT(user_data), &value, -1); if( value ) { hb_strfmon(buf, G_ASCII_DTOSTR_BUF_SIZE-1, value, GLOBALS->kcur, GLOBALS->minor); color = get_normal_color_amount(value); g_object_set(renderer, "foreground", color, "text", buf, NULL); } else { g_object_set(renderer, "text", "", NULL); } } static GtkTreeViewColumn *ui_list_repdist_amount_column(gchar *name, gint id) { GtkTreeViewColumn *column; GtkCellRenderer *renderer; column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, name); renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 1.0, NULL); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_list_repdist_amount_cell_data_function, GINT_TO_POINTER(id), NULL); gtk_tree_view_column_set_alignment (column, 0.5); //gtk_tree_view_column_set_sort_column_id (column, id); return column; } static GtkTreeViewColumn *ui_list_repdist_rate_column(gint id) { GtkTreeViewColumn *column; GtkCellRenderer *renderer; column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, "%"); renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 1.0, "yalign", 1.0, "scale", 0.8, "scale-set", TRUE, NULL); gtk_tree_view_column_pack_start(column, renderer, TRUE); //gtk_tree_view_column_add_attribute(column, renderer, "text", id); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_list_repdist_rate_cell_data_function, GINT_TO_POINTER(id), NULL); gtk_tree_view_column_set_alignment (column, 0.5); //gtk_tree_view_column_set_sort_column_id (column, id); //gtk_tree_view_column_set_visible(column, FALSE); return column; } /* ** create our statistic list */ static GtkWidget *ui_list_repdist_create(void) { GtkListStore *store; GtkWidget *view; GtkCellRenderer *renderer; GtkTreeViewColumn *column; /* create list store */ store = gtk_list_store_new( NUM_LST_REPDIST, G_TYPE_INT, //keep for compatibility with chart G_TYPE_INT, G_TYPE_STRING, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE ); //treeview view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); g_object_unref(store); gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (view), PREFS->grid_lines); /* column: Name */ column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Result")); renderer = gtk_cell_renderer_text_new (); gtk_tree_view_column_pack_start(column, renderer, TRUE); //gtk_tree_view_column_set_cell_data_func(column, renderer, ope_result_cell_data_function, NULL, NULL); gtk_tree_view_column_add_attribute(column, renderer, "text", LST_REPDIST_NAME); //gtk_tree_view_column_set_sort_column_id (column, LST_REPDIST_NAME); gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Expense */ column = ui_list_repdist_amount_column(_("Expense"), LST_REPDIST_EXPENSE); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); column = ui_list_repdist_rate_column(LST_REPDIST_EXPRATE); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Income */ column = ui_list_repdist_amount_column(_("Income"), LST_REPDIST_INCOME); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); column = ui_list_repdist_rate_column(LST_REPDIST_INCRATE); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Balance */ column = ui_list_repdist_amount_column(_("Balance"), LST_REPDIST_BALANCE); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); column = ui_list_repdist_rate_column(LST_REPDIST_BALRATE); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column last: empty */ column = gtk_tree_view_column_new(); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* sort */ gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_REPDIST_POS , ui_list_repdist_compare_func, GINT_TO_POINTER(LST_REPDIST_POS), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_REPDIST_EXPENSE, ui_list_repdist_compare_func, GINT_TO_POINTER(LST_REPDIST_EXPENSE), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_REPDIST_INCOME , ui_list_repdist_compare_func, GINT_TO_POINTER(LST_REPDIST_INCOME), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_REPDIST_BALANCE, ui_list_repdist_compare_func, GINT_TO_POINTER(LST_REPDIST_BALANCE), NULL); return(view); } static gint ui_list_repdist_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { gint sortcol = GPOINTER_TO_INT(userdata); gint retval = 0; gint pos1, pos2; gdouble val1, val2; gtk_tree_model_get(model, a, LST_REPDIST_POS, &pos1, sortcol, &val1, -1); gtk_tree_model_get(model, b, LST_REPDIST_POS, &pos2, sortcol, &val2, -1); switch(sortcol) { case LST_REPDIST_POS: retval = pos2 - pos1; break; default: retval = (ABS(val1) - ABS(val2)) > 0 ? 1 : -1; break; } //DB( g_print(" sort %d=%d or %.2f=%.2f :: %d\n", pos1,pos2, val1, val2, ret) ); return retval; } /* ** ============================================================================ */ static gint ui_list_reptime2_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { //gint sortcol = GPOINTER_TO_INT(userdata); gint retval = 0; DataRow *dr1, *dr2; gtk_tree_model_get(model, a, LST_REPDIST2_ROW, &dr1, -1); gtk_tree_model_get(model, b, LST_REPDIST2_ROW, &dr2, -1); retval = dr2->pos - dr1->pos; //DB( g_print(" sort %d=%d or %.2f=%.2f :: %d\n", pos1,pos2, val1, val2, ret) ); return retval; } static void ui_reptime2_amount_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { DataRow *dr; gchar *color; gchar buf[G_ASCII_DTOSTR_BUF_SIZE]; gint colid = GPOINTER_TO_INT(user_data); gtk_tree_model_get(model, iter, LST_REPDIST2_ROW, &dr, -1); if( dr != NULL ) { gdouble value = dr->expense[colid]+dr->income[colid]; if( value ) { hb_strfmon(buf, G_ASCII_DTOSTR_BUF_SIZE-1, value, GLOBALS->kcur, GLOBALS->minor); color = get_normal_color_amount(value); g_object_set(renderer, "foreground", color, "text", buf, NULL); return; } } g_object_set(renderer, "text", "", NULL); } static GtkTreeViewColumn *amount_list_ui_reptime2_column(gchar *name, gint id) { GtkTreeViewColumn *column; GtkCellRenderer *renderer; column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, name); renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 1.0, NULL); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_reptime2_amount_cell_data_function, GINT_TO_POINTER(id), NULL); gtk_tree_view_column_set_alignment (column, 0.5); //gtk_tree_view_column_set_sort_column_id (column, id); return column; } /* test new listview */ static void ui_list_reptime2_renewcol(GtkTreeView *treeview, guint32 nbintvl, guint32 jfrom, gint intvl) { GtkCellRenderer *renderer; GtkTreeViewColumn *column; GList *columns, *list; guint i; /* remove all columns */ columns = gtk_tree_view_get_columns(GTK_TREE_VIEW(treeview)); //g_printf(" removing %d columns\n", g_list_length (columns)); list = g_list_first(columns); while(list != NULL) { column = list->data; //g_printf(" removing %p\n", column); if(column) gtk_tree_view_remove_column(treeview, column); list = g_list_next(list); } g_list_free(columns); /* column: Name */ column = gtk_tree_view_column_new(); //gtk_tree_view_column_set_title(column, _("Acc/Cat/Pay")); //gtk_tree_view_column_set_title(column, "ItemsType (todo)"); renderer = gtk_cell_renderer_text_new (); /*g_object_set(renderer, "ellipsize", PANGO_ELLIPSIZE_END, "ellipsize-set", TRUE, NULL);*/ gtk_tree_view_column_pack_start(column, renderer, TRUE); //gtk_tree_view_column_set_cell_data_func(column, renderer, ope_result_cell_data_function, NULL, NULL); gtk_tree_view_column_add_attribute(column, renderer, "text", LST_REPDIST2_LABEL); //gtk_tree_view_column_set_sort_column_id (column, LST_REPTIME_NAME); gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); /* column: Amount */ for(i=0;igrid_lines); /* sort */ gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_REPDIST2_POS , ui_list_reptime2_compare_func, GINT_TO_POINTER(LST_REPDIST2_POS), NULL); //gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_REPTIME_AMOUNT, ui_list_reptime_compare_func, GINT_TO_POINTER(LST_REPTIME_AMOUNT), NULL); return(view); } homebank-5.3.2/src/hb-import.h0000644000175000017500000001313713604720371013077 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_IMPORT_H__ #define __HB_IMPORT_H__ typedef struct _generic_file GenFile; typedef struct _generic_acc GenAcc; typedef struct _generic_split GenSplit; typedef struct _generic_txn GenTxn; //those are guin32 special values #define DST_ACC_GLOBAL 100001 #define DST_ACC_NEW 100002 #define DST_ACC_SKIP 100010 /* csv format validator */ enum { CSV_STRING, CSV_DATE, CSV_INT, CSV_DOUBLE }; struct _generic_file { guint32 key; gchar *filepath; gint filetype; const gchar *encoding; gint datefmt; gboolean loaded; gboolean invaliddatefmt; }; struct _generic_acc { guint32 kfile; gint filetype; guint32 key; gchar *name; //maybe new user name gchar *number; guint32 kacc; //100001 = NEW, 100002 = SKIP gboolean is_dupcheck; //if target account was checked for duplicate gboolean is_ccard; gboolean is_unamed; //if src account has no name into file gdouble initial; guint n_txnall; //nb of txn total guint n_txnimp; //nb of txn to import guint n_txnbaddate; //nb of txn with bad date guint n_txnsimimp; //nb of txn similar import guint n_txnsimdst; //nb of txn similar dstacccount }; struct _generic_split { gchar *category; gdouble amount; gchar *memo; }; struct _generic_txn { guint32 kfile; //todo: remove this guint32 kacc; gchar *account; gchar *rawinfo; // ; check_number gchar *rawpayee; //P ; name gchar *rawmemo; //M ; memo gchar *date; //D ; date_posted gchar *info; //N ; gchar *payee; gchar *memo; gchar *category; //L gchar *tags; // guint32 julian; gushort paymode; // ; transactiontype gdouble amount; //T ; amount gboolean reconciled; //R gboolean cleared; //C gboolean to_import; gboolean is_imp_similar; gboolean is_dst_similar; gint nb_splits; GenSplit splits[TXN_MAX_SPLIT]; GList *lst_existing; }; typedef struct _ImportContext ImportContext; struct _ImportContext { GList *gen_lst_file; GList *gen_lst_acc; GList *gen_lst_txn; guint32 gen_next_acckey; //to keep track of where we are guint32 curr_kfile; guint32 curr_kacc; // ofx stuff GenAcc *curr_acc; gboolean curr_acc_isnew; gint opt_dateorder; gint opt_daygap; gint opt_ofxname; gint opt_ofxmemo; gboolean opt_qifmemo; gboolean opt_qifswap; gboolean opt_ucfirst; gboolean do_auto_payee; gboolean do_auto_assign; //gboolean is_ccard; //GList *trans_list; // trn storage //gint next_acc_key; //max key account when start //gint datefmt; //const gchar *encoding; /*gint nb_src_acc, nb_new_acc; gint cnt_new_ope; gint cnt_new_pay; gint cnt_new_cat; gint cnt_err_date; gint nb_duplicate;*/ }; enum QIF_Type { QIF_NONE, QIF_HEADER, QIF_ACCOUNT, QIF_CATEGORY, QIF_CLASS, QIF_MEMORIZED, QIF_TRANSACTION, QIF_SECURITY, QIF_PRICES }; void da_import_context_new(ImportContext *ctx); void da_import_context_destroy(ImportContext *ctx); GenFile *da_gen_file_malloc(void); void da_gen_file_free(GenFile *genfile); GenFile *da_gen_file_get(GList *lst_file, guint32 key); GenFile *da_gen_file_append_from_filename(ImportContext *ictx, gchar *filename); GenAcc *da_gen_acc_malloc(void); void da_gen_acc_free(GenAcc *item); GenAcc *da_gen_acc_get_by_key(GList *lst_acc, guint32 key); GenTxn *da_gen_txn_malloc(void); void da_gen_txn_free(GenTxn *item); GList *da_gen_txn_sort(GList *list); void da_gen_txn_destroy(ImportContext *ctx); void da_gen_txn_new(ImportContext *ctx); void da_gen_txn_move(GenTxn *sitem, GenTxn *ditem); void da_gen_txn_append(ImportContext *ctx, GenTxn *item); gchar *hb_import_filetype_char_get(GenAcc *acc); GenAcc *hb_import_gen_acc_get_next(ImportContext *ictx, gint filetype, gchar *name, gchar *number); gint hb_import_gen_acc_count_txn(ImportContext *ictx, GenAcc *genacc); Transaction *hb_import_convert_txn(GenAcc *genacc, GenTxn *gentxn); void hb_import_load_all(ImportContext *ictx); gint hb_import_gen_txn_check_target_similar(ImportContext *ictx, GenAcc *genacc); gint hb_import_gen_txn_check_duplicate(ImportContext *ictx, GenAcc *genacc); gint hb_import_option_apply(ImportContext *ictx, GenAcc *genacc); Account *import_create_account(gchar *name, gchar *number); Account *hb_import_acc_find_existing(gchar *name, gchar *number); void hb_import_apply(ImportContext *ictx); GList *homebank_csv_import(ImportContext *ictx, GenFile *genfile); GList *homebank_ofx_import(ImportContext *ictx, GenFile *genfile); GList *homebank_qif_import(ImportContext *ictx, GenFile *genfile); GList *account_import_qif(gchar *filename, ImportContext *ictx); gdouble hb_qif_parser_get_amount(gchar *string); gboolean hb_csv_test_line(gchar *rawline); #if MYDEBUG void _import_context_debug_file_list(ImportContext *ctx); void _import_context_debug_acc_list(ImportContext *ctx); void _import_context_debug_txn_list(ImportContext *ctx); #endif #endif homebank-5.3.2/src/hb-filter.c0000644000175000017500000005011113612651070013034 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hb-filter.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; /* = = = = = = = = = = = = = = = = */ void da_flt_free(Filter *flt) { DB( g_print("da_flt_free\n") ); if(flt != NULL) { g_free(flt->memo); g_free(flt->info); g_free(flt->tag); g_free(flt); } } Filter *da_flt_malloc(void) { DB( g_print("da_flt_malloc\n") ); return g_malloc0(sizeof(Filter)); } void da_flt_status_cat_set(Filter *flt, guint32 kcat, gboolean status) { Category *cat = da_cat_get(kcat); if(cat) cat->flt_select = status; } void da_flt_status_pay_set(Filter *flt, guint32 kpay, gboolean status) { Payee *pay = da_pay_get(kpay); if(pay) pay->flt_select = status; } void da_flt_status_acc_set(Filter *flt, guint32 kacc, gboolean status) { Account *acc = da_acc_get(kacc); if(acc) acc->flt_select = status; } gboolean da_flt_status_cat_get(Filter *flt, guint32 kcat) { Category *cat = da_cat_get(kcat); if(cat) return cat->flt_select; return FALSE; } gboolean da_flt_status_pay_get(Filter *flt, guint32 kpay) { Payee *pay = da_pay_get(kpay); if(pay) return pay->flt_select; return FALSE; } gboolean da_flt_status_acc_get(Filter *flt, guint32 kacc) { Account *acc = da_acc_get(kacc); if(acc) return acc->flt_select; return FALSE; } /* = = = = = = = = = = = = = = = = = = = = */ void filter_status_acc_clear_except(Filter *flt, guint32 selkey) { GHashTableIter iter; gpointer key, value; // set all account g_hash_table_iter_init (&iter, GLOBALS->h_acc); while (g_hash_table_iter_next (&iter, &key, &value)) { Account *item = value; item->flt_select = item->key == selkey ? TRUE : FALSE; } } void filter_status_pay_clear_except(Filter *flt, guint32 selkey) { GHashTableIter iter; gpointer key, value; // set all payee g_hash_table_iter_init (&iter, GLOBALS->h_pay); while (g_hash_table_iter_next (&iter, &key, &value)) { Payee *item = value; item->flt_select = item->key == selkey ? TRUE : FALSE; } } void filter_status_cat_clear_except(Filter *flt, guint32 selkey) { GHashTableIter iter; gpointer key, value; // set all category g_hash_table_iter_init (&iter, GLOBALS->h_cat); while (g_hash_table_iter_next (&iter, &key, &value)) { Category *item = value; item->flt_select = FALSE; if( (item->key == selkey) //#1824561 don't forget subcat //#1829076 but not when selkey is 0 || ((item->parent == selkey) && selkey > 0) ) item->flt_select = TRUE; } } /* = = = = = = = = = = = = = = = = */ void filter_reset(Filter *flt) { gint i; DB( g_print("\n[filter] default reset all %p\n", flt) ); for(i=0;ioption[i] = 0; } flt->option[FILTER_DATE] = 1; flt->range = FLT_RANGE_LAST12MONTHS; filter_preset_daterange_set(flt, flt->range, 0); for(i=0;ipaymode[i] = TRUE; g_free(flt->info); g_free(flt->memo); g_free(flt->tag); flt->info = NULL; flt->memo = NULL; flt->tag = NULL; //unsaved flt->nbdaysfuture = 0; flt->type = FLT_TYPE_ALL; flt->status = FLT_STATUS_ALL; flt->forceremind = PREFS->showremind; flt->forcevoid = PREFS->showvoid; *flt->last_tab = '\0'; } void filter_set_tag_by_id(Filter *flt, guint32 key) { Tag *tag; DB( g_print("\n[filter] set tag by id\n") ); if(flt->tag) { g_free(flt->tag); flt->tag = NULL; } tag = da_tag_get(key); if(tag) { flt->tag = g_strdup(tag->name); } } static void filter_set_date_bounds(Filter *flt, guint32 kacc) { GList *lst_acc, *lnk_acc; GList *lnk_txn; DB( g_print("\n[filter] set date bounds %p\n", flt) ); flt->mindate = 0; flt->maxdate = 0; lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; //#1674045 only rely on nosummary //if( !(acc->flags & AF_CLOSED) ) { Transaction *txn; DB( g_print(" - do '%s'\n", acc->name) ); lnk_txn = g_queue_peek_head_link(acc->txn_queue); if(lnk_txn) { txn = lnk_txn->data; if( (kacc == 0) || (txn->kacc == kacc) ) { if( flt->mindate == 0 ) flt->mindate = txn->date; else flt->mindate = MIN(flt->mindate, txn->date); } } lnk_txn = g_queue_peek_tail_link(acc->txn_queue); if(lnk_txn) { txn = lnk_txn->data; if( (kacc == 0) || (txn->kacc == kacc) ) { if( flt->maxdate == 0 ) flt->maxdate = txn->date; else flt->maxdate = MAX(flt->maxdate, txn->date); } } } lnk_acc = g_list_next(lnk_acc); } if( flt->mindate == 0 ) //changed 5.3 //flt->mindate = HB_MINDATE; flt->mindate = GLOBALS->today - 365; if( flt->maxdate == 0 ) //changed 5.3 //flt->maxdate = HB_MAXDATE; flt->maxdate = GLOBALS->today + flt->nbdaysfuture; g_list_free(lst_acc); } gboolean filter_preset_daterange_future_enable(gint range) { switch( range ) { case FLT_RANGE_THISMONTH: case FLT_RANGE_THISQUARTER: case FLT_RANGE_THISYEAR: case FLT_RANGE_LAST30DAYS: case FLT_RANGE_LAST60DAYS: case FLT_RANGE_LAST90DAYS: case FLT_RANGE_LAST12MONTHS: return TRUE; break; } return FALSE; } void filter_preset_daterange_add_futuregap(Filter *filter, gint nbdays) { DB( g_print("\n[filter] range add future gap\n") ); filter->nbdaysfuture = 0; //#1840998 if future active and visible: we should always maxdate to today + nbdays if( filter_preset_daterange_future_enable(filter->range) ) { guint32 jtmpmax = GLOBALS->today + nbdays; if( filter->maxdate < jtmpmax ) filter->nbdaysfuture = jtmpmax - filter->maxdate; else filter->nbdaysfuture = nbdays; } } void filter_preset_daterange_set(Filter *flt, gint range, guint32 kacc) { GDate *tmpdate; guint32 jtoday, jfiscal; guint16 month, year, yfiscal, qnum; DB( g_print("\n[filter] daterange set %p %d\n", flt, range) ); flt->range = range; jtoday = GLOBALS->today; tmpdate = g_date_new_julian(jtoday); month = g_date_get_month(tmpdate); year = g_date_get_year(tmpdate); DB( hb_print_date(jtoday , "today ") ); g_date_set_dmy(tmpdate, PREFS->fisc_year_day, PREFS->fisc_year_month, year); jfiscal = g_date_get_julian(tmpdate); DB( hb_print_date(jfiscal, "fiscal") ); yfiscal = (jtoday >= jfiscal) ? year : year-1; qnum = 0; if( range == FLT_RANGE_THISQUARTER || range == FLT_RANGE_LASTQUARTER ) { g_date_set_dmy(tmpdate, PREFS->fisc_year_day, PREFS->fisc_year_month, yfiscal); while( (qnum < 5) && (g_date_get_julian(tmpdate) < jtoday) ) { qnum++; g_date_add_months (tmpdate, 3); } DB( g_print(" qnum: %d\n", qnum ) ); } switch( range ) { case FLT_RANGE_THISMONTH: case FLT_RANGE_LASTMONTH: g_date_set_dmy(tmpdate, 1, month, year); if( range == FLT_RANGE_LASTMONTH ) g_date_subtract_months(tmpdate, 1); flt->mindate = g_date_get_julian(tmpdate); month = g_date_get_month(tmpdate); year = g_date_get_year(tmpdate); g_date_add_days(tmpdate, g_date_get_days_in_month(month, year)); flt->maxdate = g_date_get_julian(tmpdate) - 1; break; case FLT_RANGE_THISQUARTER: case FLT_RANGE_LASTQUARTER: g_date_set_dmy(tmpdate, PREFS->fisc_year_day, PREFS->fisc_year_month, yfiscal); if( range == FLT_RANGE_LASTQUARTER ) g_date_subtract_months(tmpdate, 3); g_date_add_months(tmpdate, 3 * (qnum-1) ); flt->mindate = g_date_get_julian(tmpdate); g_date_add_months(tmpdate, 3); flt->maxdate = g_date_get_julian(tmpdate) - 1; break; case FLT_RANGE_THISYEAR: case FLT_RANGE_LASTYEAR: g_date_set_dmy(tmpdate, PREFS->fisc_year_day, PREFS->fisc_year_month, yfiscal); if( range == FLT_RANGE_LASTYEAR ) g_date_subtract_years(tmpdate, 1); flt->mindate = g_date_get_julian(tmpdate); g_date_add_years (tmpdate, 1); flt->maxdate = g_date_get_julian(tmpdate) - 1; break; case FLT_RANGE_LAST30DAYS: flt->mindate = jtoday - 30; flt->maxdate = jtoday; break; case FLT_RANGE_LAST60DAYS: flt->mindate = jtoday - 60; flt->maxdate = jtoday; break; case FLT_RANGE_LAST90DAYS: flt->mindate = jtoday - 90; flt->maxdate = jtoday; break; case FLT_RANGE_LAST12MONTHS: g_date_set_julian (tmpdate, jtoday); g_date_subtract_months(tmpdate, 12); flt->mindate = g_date_get_julian(tmpdate); flt->maxdate = jtoday; break; // case FLT_RANGE_OTHER: //nothing to do case FLT_RANGE_ALLDATE: filter_set_date_bounds(flt, kacc); break; } g_date_free(tmpdate); } void filter_preset_type_set(Filter *flt, gint type) { DB( g_print("\n[filter] preset type set\n") ); /* any type */ flt->option[FILTER_TYPE] = 1; flt->type = type; /*flt->option[FILTER_AMOUNT] = 0; flt->minamount = G_MINDOUBLE; flt->maxamount = G_MINDOUBLE; switch( type ) { case FLT_TYPE_EXPENSE: flt->option[FILTER_AMOUNT] = 1; flt->minamount = -G_MAXDOUBLE; flt->maxamount = G_MINDOUBLE; break; case FLT_TYPE_INCOME: flt->option[FILTER_AMOUNT] = 1; flt->minamount = G_MINDOUBLE; flt->maxamount = G_MAXDOUBLE; break; }*/ } void filter_preset_status_set(Filter *flt, gint status) { DB( g_print("\n[filter] preset status set\n") ); /* any status */ flt->option[FILTER_TYPE] = 0; flt->option[FILTER_STATUS] = 0; flt->option[FILTER_CATEGORY] = 0; flt->type = FLT_TYPE_ALL; flt->status = FLT_STATUS_ALL; //#1602835 fautly set //flt->forceadd = TRUE; //flt->forcechg = TRUE; //keep widget active_id flt->rawstatus = status; switch( status ) { case FLT_STATUS_UNCATEGORIZED: flt->option[FILTER_TYPE] = 2; flt->type = FLT_TYPE_INTXFER; flt->option[FILTER_CATEGORY] = 1; filter_status_cat_clear_except(flt, 0); break; case FLT_STATUS_UNRECONCILED: flt->option[FILTER_STATUS] = 2; flt->status = FLT_STATUS_RECONCILED; break; case FLT_STATUS_UNCLEARED: flt->option[FILTER_STATUS] = 2; flt->status = FLT_STATUS_CLEARED; break; case FLT_STATUS_RECONCILED: flt->option[FILTER_STATUS] = 1; flt->status = FLT_STATUS_RECONCILED; break; case FLT_STATUS_CLEARED: flt->option[FILTER_STATUS] = 1; flt->status = FLT_STATUS_CLEARED; break; } } gchar *filter_daterange_text_get(Filter *flt) { gchar buffer1[128]; gchar buffer2[128]; gchar buffer3[128]; GDate *date; gchar *retval = NULL; DB( g_print("\n[filter] daterange text get\n") ); date = g_date_new_julian(flt->mindate); g_date_strftime (buffer1, 128-1, PREFS->date_format, date); g_date_set_julian(date, flt->maxdate); g_date_strftime (buffer2, 128-1, PREFS->date_format, date); if( flt->nbdaysfuture > 0 ) { g_date_set_julian(date, flt->maxdate + flt->nbdaysfuture); g_date_strftime (buffer3, 128-1, PREFS->date_format, date); retval = g_strdup_printf("%s — %s %s", buffer1, buffer2, buffer3); } else retval = g_strdup_printf("%s — %s", buffer1, buffer2); g_date_free(date); //return g_strdup_printf(_("from %s to %s — "), buffer1, buffer2); return retval; } /* used for quicksearch text into transaction */ gboolean filter_tpl_search_match(gchar *needle, Archive *arc) { gboolean retval = FALSE; Payee *payitem; DB( g_print("\n[filter] tpl search match\n") ); //#1668036 always try match on txn memo first if(arc->memo) { retval |= hb_string_utf8_strstr(arc->memo, needle, FALSE); } if(retval) goto end; //#1509485 if(arc->flags & OF_SPLIT) { guint count, i; Split *split; count = da_splits_length(arc->splits); for(i=0;isplits, i); tmpinsert = hb_string_utf8_strstr(split->memo, needle, FALSE); retval |= tmpinsert; if( tmpinsert ) break; } } if(retval) goto end; if(arc->info) { retval |= hb_string_utf8_strstr(arc->info, needle, FALSE); } if(retval) goto end; payitem = da_pay_get(arc->kpay); if(payitem) { retval |= hb_string_utf8_strstr(payitem->name, needle, FALSE); } if(retval) goto end; //#1741339 add quicksearch for amount { gchar formatd_buf[G_ASCII_DTOSTR_BUF_SIZE]; hb_strfnum(formatd_buf, G_ASCII_DTOSTR_BUF_SIZE-1, arc->amount, GLOBALS->kcur, FALSE); retval |= hb_string_utf8_strstr(formatd_buf, needle, FALSE); } end: return retval; } /* used for quicksearch text into transaction */ gboolean filter_txn_search_match(gchar *needle, Transaction *txn, gint flags) { gboolean retval = FALSE; Payee *payitem; Category *catitem; gchar *tags; DB( g_print("\n[filter] tnx search match\n") ); if(flags & FLT_QSEARCH_MEMO) { //#1668036 always try match on txn memo first if(txn->memo) { retval |= hb_string_utf8_strstr(txn->memo, needle, FALSE); } if(retval) goto end; //#1509485 if(txn->flags & OF_SPLIT) { guint count, i; Split *split; count = da_splits_length(txn->splits); for(i=0;isplits, i); tmpinsert = hb_string_utf8_strstr(split->memo, needle, FALSE); retval |= tmpinsert; if( tmpinsert ) break; } } if(retval) goto end; } if(flags & FLT_QSEARCH_INFO) { if(txn->info) { retval |= hb_string_utf8_strstr(txn->info, needle, FALSE); } if(retval) goto end; } if(flags & FLT_QSEARCH_PAYEE) { payitem = da_pay_get(txn->kpay); if(payitem) { retval |= hb_string_utf8_strstr(payitem->name, needle, FALSE); } if(retval) goto end; } if(flags & FLT_QSEARCH_CATEGORY) { //#1509485 if(txn->flags & OF_SPLIT) { guint count, i; Split *split; count = da_splits_length(txn->splits); for(i=0;isplits, i); catitem = da_cat_get(split->kcat); if(catitem) { tmpinsert = hb_string_utf8_strstr(catitem->fullname, needle, FALSE); retval |= tmpinsert; } if( tmpinsert ) break; } } else { catitem = da_cat_get(txn->kcat); if(catitem) { retval |= hb_string_utf8_strstr(catitem->fullname, needle, FALSE); } } if(retval) goto end; } if(flags & FLT_QSEARCH_TAGS) { tags = tags_tostring(txn->tags); if(tags) { retval |= hb_string_utf8_strstr(tags, needle, FALSE); } g_free(tags); if(retval) goto end; } //#1741339 add quicksearch for amount if(flags & FLT_QSEARCH_AMOUNT) { gchar formatd_buf[G_ASCII_DTOSTR_BUF_SIZE]; hb_strfnum(formatd_buf, G_ASCII_DTOSTR_BUF_SIZE-1, txn->amount, txn->kcur, FALSE); retval |= hb_string_utf8_strstr(formatd_buf, needle, FALSE); } end: return retval; } gint filter_txn_match(Filter *flt, Transaction *txn) { Account *accitem; Payee *payitem; Category *catitem; gint insert; //DB( g_print("\n[filter] txn match\n") ); insert = 1; /*** start filtering ***/ /* date */ if(flt->option[FILTER_DATE]) { insert = ( (txn->date >= flt->mindate) && (txn->date <= (flt->maxdate + flt->nbdaysfuture) ) ) ? 1 : 0; if(flt->option[FILTER_DATE] == 2) insert ^= 1; } if(!insert) goto end; /* account */ if(flt->option[FILTER_ACCOUNT]) { accitem = da_acc_get(txn->kacc); if(accitem) { insert = ( accitem->flt_select == TRUE ) ? 1 : 0; if(flt->option[FILTER_ACCOUNT] == 2) insert ^= 1; } } if(!insert) goto end; /* payee */ if(flt->option[FILTER_PAYEE]) { payitem = da_pay_get(txn->kpay); if(payitem) { insert = ( payitem->flt_select == TRUE ) ? 1 : 0; if(flt->option[FILTER_PAYEE] == 2) insert ^= 1; } } if(!insert) goto end; /* category */ if(flt->option[FILTER_CATEGORY]) { if(txn->flags & OF_SPLIT) { guint count, i; Split *split; insert = 0; //fix: 1151259 count = da_splits_length(txn->splits); for(i=0;isplits, i); catitem = da_cat_get(split->kcat); if(catitem) { tmpinsert = ( catitem->flt_select == TRUE ) ? 1 : 0; if(flt->option[FILTER_CATEGORY] == 2) tmpinsert ^= 1; } insert |= tmpinsert; } } else { catitem = da_cat_get(txn->kcat); if(catitem) { insert = ( catitem->flt_select == TRUE ) ? 1 : 0; if(flt->option[FILTER_CATEGORY] == 2) insert ^= 1; } } } if(!insert) goto end; /* type */ if(flt->option[FILTER_TYPE]) { switch( flt->type ) { case FLT_TYPE_EXPENSE: insert = !(txn->flags & (OF_INCOME|OF_INTXFER)) ? 1 : 0; break; case FLT_TYPE_INCOME: insert = (txn->flags & (OF_INCOME)) ? 1 : 0; break; case FLT_TYPE_INTXFER: insert = (txn->flags & (OF_INTXFER)) ? 1 : 0; break; case FLT_TYPE_ALL: insert = 1; break; } if(flt->option[FILTER_TYPE] == 2) insert ^= 1; } if(!insert) goto end; /* status */ if(flt->option[FILTER_STATUS]) { switch( flt->status ) { case FLT_STATUS_CLEARED: insert = (txn->status == TXN_STATUS_CLEARED) ? 1 : 0; break; case FLT_STATUS_RECONCILED: insert = (txn->status == TXN_STATUS_RECONCILED) ? 1 : 0; break; case FLT_STATUS_ALL: insert = 1; break; } if(flt->option[FILTER_STATUS] == 2) { //#1853531 fix for more exact uncleared/unreconciled switch( flt->status ) { case FLT_STATUS_CLEARED: //uncleared insert = (txn->status == TXN_STATUS_NONE) ? 1 : 0; break; case FLT_STATUS_RECONCILED: //unreconciled insert = (txn->status == TXN_STATUS_NONE) || (txn->status == TXN_STATUS_CLEARED) ? 1 : 0; break; default: insert ^= 1; break; } } } if(!insert) goto end; /* paymode */ if(flt->option[FILTER_PAYMODE]) { insert = ( flt->paymode[txn->paymode] == TRUE) ? 1 : 0; if(flt->option[FILTER_PAYMODE] == 2) insert ^= 1; } if(!insert) goto end; /* amount */ if(flt->option[FILTER_AMOUNT]) { insert = ( (txn->amount >= flt->minamount) && (txn->amount <= flt->maxamount) ) ? 1 : 0; if(flt->option[FILTER_AMOUNT] == 2) insert ^= 1; } if(!insert) goto end; /* info/memo/tag */ if(flt->option[FILTER_TEXT]) { gchar *tags; gint insert1, insert2, insert3; insert1 = insert2 = insert3 = 0; if(flt->info) { if(txn->info) { insert1 = hb_string_utf8_strstr(txn->info, flt->info, flt->exact); } } else insert1 = 1; if(flt->memo) { //#1668036 always try match on txn memo first if(txn->memo) { insert2 = hb_string_utf8_strstr(txn->memo, flt->memo, flt->exact); } if( (insert2 == 0) && (txn->flags & OF_SPLIT) ) { guint count, i; Split *split; count = da_splits_length(txn->splits); for(i=0;isplits, i); tmpinsert = hb_string_utf8_strstr(split->memo, flt->memo, flt->exact); insert2 |= tmpinsert; if( tmpinsert ) break; } } } else insert2 = 1; if(flt->tag) { tags = tags_tostring(txn->tags); if(tags) { insert3 = hb_string_utf8_strstr(tags, flt->tag, flt->exact); } g_free(tags); } else insert3 = 1; insert = insert1 && insert2 && insert3 ? 1 : 0; if(flt->option[FILTER_TEXT] == 2) insert ^= 1; } //if(!insert) goto end; end: /* force display */ if(!insert) { if( ((flt->forceadd == TRUE) && (txn->flags & OF_ADDED)) || ((flt->forcechg == TRUE) && (txn->flags & OF_CHANGED)) || ((flt->forceremind == TRUE) && (txn->status == TXN_STATUS_REMIND)) || ((flt->forcevoid == TRUE) && (txn->status == TXN_STATUS_VOID)) ) insert = 1; } // DB( g_print(" %d :: %d :: %d\n", flt->mindate, txn->date, flt->maxdate) ); // DB( g_print(" [%d] %s => %d (%d)\n", txn->account, txn->memo, insert, count) ); return(insert); } homebank-5.3.2/src/hub-spending.h0000664000175000017500000000245713604720371013566 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HUB_SPENDING_H__ #define __HUB_SPENDING_H__ struct tmptop { guint32 key; gdouble value; }; #define MAX_TOPSPENDING 10 /* list top spending */ enum { LST_TOPSPEND_ID, //fake for pie LST_TOPSPEND_KEY, //fake for pie LST_TOPSPEND_NAME, LST_TOPSPEND_AMOUNT, LST_TOPSPEND_RATE, NUM_LST_TOPSPEND }; void ui_hub_spending_update(GtkWidget *widget, gpointer user_data); void ui_hub_spending_populate(GtkWidget *widget, gpointer user_data); GtkWidget *ui_hub_spending_create(struct hbfile_data *data); #endifhomebank-5.3.2/src/hb-export.h0000644000175000017500000000246513604720371013110 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_EXPORT_H__ #define __HB_EXPORT_H__ #include #define PDF_NUMCOL 6 + 1 typedef struct _pdfprintcontext PdfPrintContext; struct _pdfprintcontext { gdouble w, h; gdouble mt, mb, ml, mr; gdouble column_width[PDF_NUMCOL]; gchar *column_txt[PDF_NUMCOL]; PangoFontDescription *desc; }; void hb_export_qif_account_all(gchar *filename); void hb_export_qif_account_single(gchar *filename, Account *acc); void hb_export_pdf_listview(GtkTreeView *treeview, gchar *filepath, gchar *accname); #endif homebank-5.3.2/src/hb-xml.c0000644000175000017500000013650213604720365012365 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hb-transaction.h" #include "hb-xml.h" #include "ui-dialogs.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ // v0.1 to v0.2 : we must change account reference by making a +1 to its index references static void homebank_upgrade_to_v02(void) { GList *lst_acc, *lnk_acc; GList *list; GHashTable *h_old_acc; DB( g_print("\n[hb-xml] homebank_upgrade_to_v02\n") ); //keep old hashtable with us h_old_acc = GLOBALS->h_acc; da_acc_new(); lst_acc = g_hash_table_get_values(h_old_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; acc->key++; acc->pos++; da_acc_insert (acc); list = g_queue_peek_head_link(acc->txn_queue); while (list != NULL) { Transaction *entry = list->data; entry->kacc++; entry->kxferacc++; list = g_list_next(list); } lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); //we loose some small memory here g_hash_table_steal_all(h_old_acc); list = g_list_first(GLOBALS->arc_list); while (list != NULL) { Archive *entry = list->data; entry->kacc++; entry->kxferacc++; list = g_list_next(list); } } // v0.2 to v0.3 : we must assume categories exists : bugs 303886, 303738 static void homebank_upgrade_to_v03(void) { GList *lst_acc, *lnk_acc; GList *list; DB( g_print("\n[hb-xml] homebank_upgrade_to_v03\n") ); lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; list = g_queue_peek_head_link(acc->txn_queue); while (list != NULL) { Transaction *entry = list->data; da_transaction_consistency(entry); list = g_list_next(list); } lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); list = g_list_first(GLOBALS->arc_list); while (list != NULL) { Archive *entry = list->data; da_archive_consistency(entry); list = g_list_next(list); } } static void homebank_upgrade_to_v04(void) { DB( g_print("\n[hb-xml] homebank_upgrade_to_v04\n") ); GLOBALS->arc_list = da_archive_sort(GLOBALS->arc_list); } // v0.4 to v0.5 : // we must assume kxferacc exists in archives for internal xfer : bug 528923 // if not, delete automation from the archive static void homebank_upgrade_to_v05(void) { GList *list; DB( g_print("\n[hb-xml] homebank_upgrade_to_v05\n") ); list = g_list_first(GLOBALS->arc_list); while (list != NULL) { Archive *entry = list->data; da_archive_consistency(entry); list = g_list_next(list); } } // v0.5 to v0.6 : we must change kxferacc to 0 on non Xfer transactions //#677351 static void homebank_upgrade_to_v06(void) { GList *lst_acc, *lnk_acc; GList *list; DB( g_print("\n[hb-xml] homebank_upgrade_to_v06\n") ); lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; list = g_queue_peek_head_link(acc->txn_queue); while (list != NULL) { Transaction *entry = list->data; da_transaction_consistency(entry); list = g_list_next(list); } lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); list = g_list_first(GLOBALS->arc_list); while (list != NULL) { Archive *entry = list->data; da_archive_consistency(entry); list = g_list_next(list); } } // v0.7 AF_BUDGET deleted instead of AF_NOBUDGET static void homebank_upgrade_to_v07(void) { GList *lacc, *list; DB( g_print("\n[hb-xml] homebank_upgrade_to_v07\n") ); lacc = list = g_hash_table_get_values(GLOBALS->h_acc); while (list != NULL) { Account *acc = list->data; if( acc->flags & AF_OLDBUDGET ) // budget include { acc->flags &= ~(AF_OLDBUDGET); } else { acc->flags |= AF_NOBUDGET; } list = g_list_next(list); } g_list_free(lacc); } static void homebank_upgrade_to_v08(void) { GList *lst_acc, *lnk_acc; GList *list; DB( g_print("\n[hb-xml] homebank_upgrade_to_v08\n") ); lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; list = g_queue_peek_head_link(acc->txn_queue); while (list != NULL) { Transaction *entry = list->data; da_transaction_consistency(entry); list = g_list_next(list); } lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); } static void homebank_upgrade_to_v10(void) { GList *lst_acc, *lnk_acc; GList *list; DB( g_print("\n[hb-xml] homebank_upgrade_to_v10\n") ); lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; list = g_queue_peek_head_link(acc->txn_queue); while (list != NULL) { Transaction *entry = list->data; entry->status = TXN_STATUS_NONE; if(entry->flags & OLDF_VALID) entry->status = TXN_STATUS_RECONCILED; else if(entry->flags & OLDF_REMIND) entry->status = TXN_STATUS_REMIND; //remove those flags entry->flags &= ~(OLDF_VALID|OLDF_REMIND); list = g_list_next(list); } lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); } static void homebank_upgrade_to_v11(void) { GList *list; DB( g_print("\n[hb-xml] homebank_upgrade_to_v11\n") ); list = g_list_first(GLOBALS->arc_list); while (list != NULL) { Archive *entry = list->data; entry->status = TXN_STATUS_NONE; if(entry->flags & OLDF_VALID) entry->status = TXN_STATUS_RECONCILED; else if(entry->flags & OLDF_REMIND) entry->status = TXN_STATUS_REMIND; //remove those flags entry->flags &= ~(OLDF_VALID|OLDF_REMIND); list = g_list_next(list); } } // v0.6 to v0.7 : assign a default currency static void homebank_upgrade_to_v12(void) { DB( g_print("\n[hb-xml] homebank_upgrade_to_v12\n") ); // set a base currency to the hbfile if not DB( g_print("GLOBALS->kcur %d\n", GLOBALS->kcur) ); ui_dialog_upgrade_choose_currency(); } static void homebank_upgrade_to_v12_7(void) { GList *lst_acc, *lnk_acc; DB( g_print("\n[hb-xml] homebank_upgrade_to_v12\n") ); //#1674045 exclude closed account from everywhere to //keep continuity for user that don't want to change this lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; if( acc->flags & AF_CLOSED ) { if( !(acc->flags & AF_NOSUMMARY) ) acc->flags |= AF_NOSUMMARY; if( !(acc->flags & AF_NOBUDGET) ) acc->flags |= AF_NOBUDGET; if( !(acc->flags & AF_NOREPORT) ) acc->flags |= AF_NOREPORT; } lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); } static void homebank_upgrade_to_v13(void) { GList *list; guint32 newkey; DB( g_print("\n[hb-xml] homebank_upgrade_to_v13\n") ); //#1008629 assign a key to each archive newkey = 1; list = g_list_first(GLOBALS->arc_list); while (list != NULL) { Archive *item = list->data; item->key = newkey++; list = g_list_next(list); } } static void homebank_upgrade_to_v14(void) { GList *lst_acc, *lnk_acc, *lasg; GList *list; DB( g_print("\n[hb-xml] homebank_upgrade_to_v14\n") ); //internal xfer no more a payment => goto a flags //update every txn/arc lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; list = g_queue_peek_head_link(acc->txn_queue); while (list != NULL) { Transaction *item = list->data; if( item->paymode == OLDPAYMODE_INTXFER ) { item->flags |= OF_INTXFER; item->paymode = PAYMODE_NONE; } list = g_list_next(list); } lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); list = g_list_first(GLOBALS->arc_list); while (list != NULL) { Archive *item = list->data; if( item->paymode == OLDPAYMODE_INTXFER ) { item->flags |= OF_INTXFER; item->paymode = PAYMODE_NONE; } list = g_list_next(list); } //assignment now have position+name, so initiate it lasg = list = g_hash_table_get_values(GLOBALS->h_rul); while (list != NULL) { Assign *item = list->data; item->pos = item->key; list = g_list_next(list); } g_list_free(lasg); } // lower v0.6 : we must assume categories/payee exists // and strong link to xfer // #632496 static void homebank_upgrade_lower_v06(void) { GList *lst_acc, *lnk_acc; Category *cat; Payee *pay; GList *lrul, *list; DB( g_print("\n[hb-xml] homebank_upgrade_lower_v06\n") ); lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; list = g_queue_peek_head_link(acc->txn_queue); while (list != NULL) { Transaction *entry = list->data; //also strong link internal xfer if(entry->paymode == OLDPAYMODE_INTXFER && entry->kxfer == 0) { Transaction *child = transaction_old_get_child_transfer(entry); if(child != NULL) { transaction_xfer_change_to_child(entry, child); } } da_transaction_consistency(entry); list = g_list_next(list); } lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); lrul = list = g_hash_table_get_values(GLOBALS->h_rul); while (list != NULL) { Assign *entry = list->data; cat = da_cat_get(entry->kcat); if(cat == NULL) { DB( g_print(" !! fixing cat for rul: %d is unknown\n", entry->kcat) ); entry->kcat = 0; } pay = da_pay_get(entry->kpay); if(pay == NULL) { DB( g_print(" !! fixing pay for rul: %d is unknown\n", entry->kpay) ); entry->kpay = 0; } list = g_list_next(list); } g_list_free(lrul); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void homebank_load_xml_acc(ParseContext *ctx, const gchar **attribute_names, const gchar **attribute_values) { Account *entry = da_acc_malloc(); gint i; for (i = 0; attribute_names[i] != NULL; i++) { //DB( g_print(" att='%s' val='%s'\n", attribute_names[i], attribute_values[i]) ); if(!strcmp (attribute_names[i], "key" )) { entry->key = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "flags" )) { entry->flags = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "pos" )) { entry->pos = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "type" )) { entry->type = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "curr" )) { entry->kcur = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "name" )) { if(strcmp(attribute_values[i],"(null)") && attribute_values[i] != NULL) entry->name = g_strdup(attribute_values[i]); } else if(!strcmp (attribute_names[i], "number" )) { if(strcmp(attribute_values[i],"(null)") && attribute_values[i] != NULL) entry->number = g_strdup(attribute_values[i]); } else if(!strcmp (attribute_names[i], "bankname")) { if(strcmp(attribute_values[i],"(null)") && attribute_values[i] != NULL) entry->bankname = g_strdup(attribute_values[i]); } else if(!strcmp (attribute_names[i], "initial" )) { entry->initial = g_ascii_strtod(attribute_values[i], NULL); } else if(!strcmp (attribute_names[i], "minimum" )) { entry->minimum = g_ascii_strtod(attribute_values[i], NULL); } else if(!strcmp (attribute_names[i], "cheque1" )) { entry->cheque1 = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "cheque2" )) { entry->cheque2 = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "notes" )) { if(strcmp(attribute_values[i],"(null)") && attribute_values[i] != NULL) entry->notes = g_strdup(attribute_values[i]); } else if(!strcmp (attribute_names[i], "tpl" )) { entry->karc = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "grp" )) { entry->kgrp = atoi(attribute_values[i]); } } //all attribute loaded: append da_acc_insert(entry); } static void homebank_load_xml_asg(ParseContext *ctx, const gchar **attribute_names, const gchar **attribute_values) { Assign *entry = da_asg_malloc(); gint exact = 0; gint i; for (i = 0; attribute_names[i] != NULL; i++) { //DB( g_print(" att='%s' val='%s'\n", attribute_names[i], attribute_values[i]) ); if(!strcmp (attribute_names[i], "key" )) { entry->key = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "flags" )) { entry->flags = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "pos" )) { entry->pos = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "field" )) { entry->field = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "name" )) { if(strcmp(attribute_values[i],"(null)") && attribute_values[i] != NULL) entry->search = g_strdup(attribute_values[i]); } else if(!strcmp (attribute_names[i], "notes" )) { if(strcmp(attribute_values[i],"(null)") && attribute_values[i] != NULL) entry->notes = g_strdup(attribute_values[i]); } else if(!strcmp (attribute_names[i], "payee" )) { entry->kpay = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "category")) { entry->kcat = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "paymode" )) { entry->paymode = atoi(attribute_values[i]); } // prior v08 else if(!strcmp (attribute_names[i], "exact" )) { exact = atoi(attribute_values[i]); } } /* in v08 exact moved to flag */ if( ctx->file_version <= 0.7) { entry->flags = (ASGF_DOCAT|ASGF_DOPAY); if( exact > 0 ) entry->flags |= ASGF_EXACT; } //all attribute loaded: append da_asg_append(entry); } static void homebank_load_xml_pay(ParseContext *ctx, const gchar **attribute_names, const gchar **attribute_values) { Payee *entry = da_pay_malloc(); gint i; for (i = 0; attribute_names[i] != NULL; i++) { //DB( g_print(" att='%s' val='%s'\n", attribute_names[i], attribute_values[i]) ); if(!strcmp (attribute_names[i], "key" )) { entry->key = atoi(attribute_values[i]); } //else if(!strcmp (attribute_names[i], "flags")) { entry->flags = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "name" )) { entry->name = g_strdup(attribute_values[i]); } else if(!strcmp (attribute_names[i], "category")) { entry->kcat = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "paymode" )) { entry->paymode = atoi(attribute_values[i]); } } //all attribute loaded: append da_pay_insert(entry); } static void homebank_load_xml_prop(ParseContext *ctx, const gchar **attribute_names, const gchar **attribute_values) { gint i; for (i = 0; attribute_names[i] != NULL; i++) { if(!strcmp (attribute_names[i], "title" )) { g_free(GLOBALS->owner); GLOBALS->owner = g_strdup(attribute_values[i]); } else if(!strcmp (attribute_names[i], "curr" )) { GLOBALS->kcur = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "car_category")) { GLOBALS->vehicle_category = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "auto_smode" )) { GLOBALS->auto_smode = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "auto_weekday")) { GLOBALS->auto_weekday = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "auto_nbdays" )) { GLOBALS->auto_nbdays = atoi(attribute_values[i]); } } } static void homebank_load_xml_cat(ParseContext *ctx, const gchar **attribute_names, const gchar **attribute_values) { Category *entry = da_cat_malloc(); gboolean budget; gint i, j; for (i = 0; attribute_names[i] != NULL; i++) { //DB( g_print(" att='%s' val='%s'\n", attribute_names[i], attribute_values[i]) ); if(!strcmp (attribute_names[i], "key" )) { entry->key = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "parent")) { entry->parent = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "flags" )) { entry->flags = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "name" )) { entry->name = g_strdup(attribute_values[i]); } budget = FALSE; for(j=0;j<=12;j++) { gchar *tmpname; tmpname = g_strdup_printf ("b%d", j); if(!(strcmp (attribute_names[i], tmpname))) { entry->budget[j] = g_ascii_strtod(attribute_values[i], NULL); } g_free(tmpname); if(entry->budget[j]) budget = TRUE; } if(budget == TRUE) entry->flags |= GF_BUDGET; } //all attribute loaded: append da_cat_insert( entry); } static void homebank_load_xml_cur(ParseContext *ctx, const gchar **attribute_names, const gchar **attribute_values) { Currency *entry = da_cur_malloc (); gint i; for (i = 0; attribute_names[i] != NULL; i++) { //DB( g_print(" att='%s' val='%s'\n", attribute_names[i], attribute_values[i]) ); if(!strcmp (attribute_names[i], "key" )) { entry->key = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "flags" )) { entry->flags = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "name" )) { entry->name = g_strdup(attribute_values[i]); } else if(!strcmp (attribute_names[i], "iso" )) { entry->iso_code = g_strdup(attribute_values[i]); } else if(!strcmp (attribute_names[i], "symb" )) { entry->symbol = g_strdup(attribute_values[i]); } else if(!strcmp (attribute_names[i], "syprf" )) { entry->sym_prefix = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "dchar" )) { entry->decimal_char = g_strdup(attribute_values[i]); } else if(!strcmp (attribute_names[i], "gchar" )) { entry->grouping_char = g_strdup(attribute_values[i]); } else if(!strcmp (attribute_names[i], "frac" )) { entry->frac_digits = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "rate" )) { entry->rate = g_ascii_strtod(attribute_values[i], NULL); } else if(!strcmp (attribute_names[i], "mdate ")) { entry->mdate = atoi(attribute_values[i]); } } //all attribute loaded: append da_cur_insert (entry); } static void homebank_load_xml_grp(ParseContext *ctx, const gchar **attribute_names, const gchar **attribute_values) { Group *entry = da_grp_malloc(); gint i; for (i = 0; attribute_names[i] != NULL; i++) { DB( g_print(" att='%s' val='%s'\n", attribute_names[i], attribute_values[i]) ); if(!strcmp (attribute_names[i], "key" )) { entry->key = atoi(attribute_values[i]); } //else if(!strcmp (attribute_names[i], "type")) { entry->type = atoi(attribute_values[i]); } //else if(!strcmp (attribute_names[i], "flags")) { entry->flags = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "name" )) { entry->name = g_strdup(attribute_values[i]); } } //all attribute loaded: append da_grp_insert(entry); } /*static void homebank_load_xml_tag(ParseContext *ctx, const gchar **attribute_names, const gchar **attribute_values) { Tag *entry = da_tag_malloc(); gint i; for (i = 0; attribute_names[i] != NULL; i++) { //DB( g_print(" att='%s' val='%s'\n", attribute_names[i], attribute_values[i]) ); if(!strcmp (attribute_names[i], "key" )) { entry->key = atoi(attribute_values[i]); } //else if(!strcmp (attribute_names[i], "flags")) { entry->flags = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "name" )) { entry->name = g_strdup(attribute_values[i]); } } //all attribute loaded: append da_tag_insert(entry); }*/ static void homebank_load_xml_fav(ParseContext *ctx, const gchar **attribute_names, const gchar **attribute_values) { Archive *entry = da_archive_malloc(); gchar *scat = NULL; gchar *samt = NULL; gchar *smem = NULL; gboolean split = FALSE; gint i; for (i = 0; attribute_names[i] != NULL; i++) { //DB( g_print(" att='%s' val='%s'\n", attribute_names[i], attribute_values[i]) ); if(!strcmp (attribute_names[i], "key" )) { entry->key = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "amount" )) { entry->amount = g_ascii_strtod(attribute_values[i], NULL); } else if(!strcmp (attribute_names[i], "account" )) { entry->kacc = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "dst_account")) { entry->kxferacc = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "paymode" )) { entry->paymode = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "st" )) { entry->status = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "flags" )) { entry->flags = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "payee" )) { entry->kpay = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "category" )) { entry->kcat = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "wording" )) { if(strcmp(attribute_values[i],"(null)") && attribute_values[i] != NULL) entry->memo = g_strdup(attribute_values[i]); } else if(!strcmp (attribute_names[i], "info" )) { if(strcmp(attribute_values[i],"(null)") && attribute_values[i] != NULL) entry->info = g_strdup(attribute_values[i]); } else if(!strcmp (attribute_names[i], "tags" )) { if(attribute_values[i] != NULL && strlen(attribute_values[i]) > 0 && strcmp(attribute_values[i],"(null)") != 0 ) { entry->tags = tags_parse(attribute_values[i]); } } else if(!strcmp (attribute_names[i], "nextdate" )) { entry->nextdate = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "every" )) { entry->every = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "unit" )) { entry->unit = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "limit" )) { entry->limit = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "weekend" )) { entry->weekend = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "gap" )) { entry->daygap = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "scat" )) { scat = (gchar *)attribute_values[i]; split = TRUE; } else if(!strcmp (attribute_names[i], "samt" )) { samt = (gchar *)attribute_values[i]; split = TRUE; } else if(!strcmp (attribute_names[i], "smem" )) { smem = (gchar *)attribute_values[i]; split = TRUE; } } if(split == TRUE) { entry->splits = da_split_new (); if (da_splits_parse(entry->splits, scat, samt, smem) > 0) { entry->flags |= OF_SPLIT; //Flag that Splits are active } } //all attribute loaded: append //GLOBALS->arc_list = g_list_append(GLOBALS->arc_list, entry); da_archive_append(entry); } static void homebank_load_xml_ope(ParseContext *ctx, const gchar **attribute_names, const gchar **attribute_values) { Transaction *entry = da_transaction_malloc(); gchar *scat = NULL; gchar *samt = NULL; gchar *smem = NULL; gboolean split = FALSE; gint i; for (i = 0; attribute_names[i] != NULL; i++) { //DB( g_print(" att='%s' val='%s'\n", attribute_names[i], attribute_values[i]) ); if(!strcmp (attribute_names[i], "date" )) { entry->date = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "amount" )) { entry->amount = g_ascii_strtod(attribute_values[i], NULL); } else if(!strcmp (attribute_names[i], "account" )) { entry->kacc = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "dst_account")) { entry->kxferacc = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "paymode" )) { entry->paymode = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "st" )) { entry->status = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "flags" )) { entry->flags = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "payee" )) { entry->kpay = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "category" )) { entry->kcat = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "wording" )) { if(strcmp(attribute_values[i],"(null)") && attribute_values[i] != NULL) entry->memo = g_strdup(attribute_values[i]); } else if(!strcmp (attribute_names[i], "info" )) { if(strcmp(attribute_values[i],"(null)") && attribute_values[i] != NULL) entry->info = g_strdup(attribute_values[i]); } else if(!strcmp (attribute_names[i], "tags" )) { if(attribute_values[i] != NULL && strlen(attribute_values[i]) > 0 && strcmp(attribute_values[i],"(null)") != 0 ) { entry->tags = tags_parse(attribute_values[i]); } } else if(!strcmp (attribute_names[i], "kxfer" )) { entry->kxfer = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "scat" )) { scat = (gchar *)attribute_values[i]; split = TRUE; } else if(!strcmp (attribute_names[i], "samt" )) { samt = (gchar *)attribute_values[i]; split = TRUE; } else if(!strcmp (attribute_names[i], "smem" )) { smem = (gchar *)attribute_values[i]; split = TRUE; } } //bugfix 303886 //if(entry->kcat < 0) // entry->kcat = 0; if(split == TRUE) { entry->splits = da_split_new (); if (da_splits_parse(entry->splits, scat, samt, smem) > 0) { entry->flags |= OF_SPLIT; //Flag that Splits are active } } //all attribute loaded: append // for perf reason we use prepend here, the list will be reversed later da_transaction_prepend(entry); } static void start_element_handler (GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer user_data, GError **error) { ParseContext *ctx = user_data; //GtkUIManager *self = ctx->self; //DB( g_print("** start element: '%s'\n", element_name) ); switch(element_name[0]) { case 'a': { if(!strcmp (element_name, "account")) //account { homebank_load_xml_acc(ctx, attribute_names, attribute_values); } else if(!strcmp (element_name, "asg")) //assign { homebank_load_xml_asg(ctx, attribute_names, attribute_values); } } break; case 'p': { if(!strcmp (element_name, "pay")) { homebank_load_xml_pay(ctx, attribute_names, attribute_values); } else if(!strcmp (element_name, "properties")) { homebank_load_xml_prop(ctx, attribute_names, attribute_values); } } break; case 'g': { if(!strcmp (element_name, "grp")) { homebank_load_xml_grp(ctx, attribute_names, attribute_values); } } break; case 'c': { if(!strcmp (element_name, "cat")) { homebank_load_xml_cat(ctx, attribute_names, attribute_values); } else if(!strcmp (element_name, "cur")) { homebank_load_xml_cur(ctx, attribute_names, attribute_values); } } break; //TODO: < 5.2 misstyped here, should be tag without a s //commented > 5.2 useless not loaded, but no side effect /*case 't': { if(!strcmp (element_name, "tags")) { homebank_load_xml_tag(ctx, attribute_names, attribute_values); } } break;*/ case 'f': { if(!strcmp (element_name, "fav")) { homebank_load_xml_fav(ctx, attribute_names, attribute_values); } } break; case 'o': { if(!strcmp (element_name, "ope")) { homebank_load_xml_ope(ctx, attribute_names, attribute_values); } } break; } } /* static void end_element_handler (GMarkupParseContext *context, const gchar *element_name, gpointer user_data, GError **error) { ParseContext *ctx = user_data; //DB( g_print("-- end element: %s\n", element_name) ); } */ static GMarkupParser hb_parser = { start_element_handler, NULL, //end_element_handler, NULL, //text_handler, NULL, NULL //cleanup }; static gboolean hb_xml_get_version(ParseContext *ctx, gchar *buffer) { gchar *v_buffer; ctx->file_version = 0.0; ctx->data_version = 0; /* v3.4 add :: prevent load of future file version */ v_buffer = g_strstr_len(buffer, 50, "file_version = g_ascii_strtod(v_buffer+13, NULL); /* a little hacky, but works ! */ if( ctx->file_version == 0.0 ) ctx->file_version = 0.1; else if( ctx->file_version == 5.0 ) //was a mistake ctx->file_version = 1.0; v_buffer = g_strstr_len(buffer+13, 50, "d="); if( v_buffer ) { DB( g_print(" d=%s)\n\n", v_buffer) ); ctx->data_version = atoi(v_buffer+3); } return TRUE; } /* ** XML load homebank file: hbfile */ gint homebank_load_xml(gchar *filename) { gint retval; gchar *buffer; gsize length; GError *error = NULL; ParseContext ctx; GMarkupParseContext *context; gboolean rc, dosanity; DB( g_print("\n[hb-xml] homebank_load_xml\n") ); retval = XML_OK; if (!g_file_get_contents (filename, &buffer, &length, &error)) { if(error) { g_warning("unable to load file %s: %s", filename, error->message); g_error_free(error); retval = XML_IO_ERROR; } } else { if( hb_xml_get_version(&ctx, buffer) == FALSE ) return XML_FILE_ERROR; if( ctx.file_version > FILE_VERSION ) return XML_VERSION_ERROR; DB( g_print("- file ok : v=%.1f data_v=%06d\n", ctx.file_version, ctx.data_version) ); /* 1st: validate the file is well in utf-8 */ DB( g_print("- ensure UTF-8\n") ); buffer = homebank_utf8_ensure(buffer); /* then process the buffer */ #if MYDEBUG == 1 GTimer *t = g_timer_new(); g_print("- start parse\n"); #endif context = g_markup_parse_context_new (&hb_parser, 0, &ctx, NULL); error = NULL; rc = g_markup_parse_context_parse (context, buffer, length, &error); if( error ) { g_print("failed: %s\n", error->message); g_error_free (error); } if( rc == FALSE ) { error = NULL; g_markup_parse_context_end_parse(context, &error); if( error ) { g_print("failed: %s\n", error->message); g_error_free (error); } } g_markup_parse_context_free (context); g_free (buffer); DB( g_print("- end parse : %f sec\n", g_timer_elapsed(t, NULL)) ); DB( g_timer_destroy (t) ); /* file upgrade / bugfix */ dosanity = FALSE; // group a test for very old version if( ctx.file_version <= 1.0 ) { if( ctx.file_version <= 0.1 ) homebank_upgrade_to_v02(); if( ctx.file_version <= 0.2 ) homebank_upgrade_to_v03(); if( ctx.file_version <= 0.3 ) homebank_upgrade_to_v04(); if( ctx.file_version <= 0.4 ) homebank_upgrade_to_v05(); if( ctx.file_version <= 0.5 ) { homebank_upgrade_to_v06(); homebank_upgrade_lower_v06(); } if( ctx.file_version <= 0.6 ) { homebank_upgrade_to_v07(); hbfile_sanity_check(); } if( ctx.file_version <= 0.7 ) // <= 4.5 { homebank_upgrade_to_v08(); } if( ctx.file_version <= 0.8 ) // <= 4.6 { dosanity = TRUE; } if( ctx.file_version <= 0.9 ) // <= 4.6.3 - 2014-08-09 { homebank_upgrade_to_v10(); dosanity = TRUE; } if( ctx.file_version <= 1.0 ) // <= 5.0.0 { homebank_upgrade_to_v11(); dosanity = TRUE; } } //starting 5.0.4 data upgrade is done without changing file_version //file version is changed only when the structure change //don't start number below with 0 to avoid octal interpretation if( ctx.data_version <= 50005 ) // <= 5.0.5 { dosanity = TRUE; } if( ctx.file_version <= 1.1 ) // <= 5.1.0 { homebank_upgrade_to_v12(); dosanity = TRUE; } if( ctx.data_version <= 50106 ) // < 5.1.6 { homebank_upgrade_to_v12_7(); } if( ctx.file_version < 1.3 ) // <= 5.2 { homebank_upgrade_to_v13(); dosanity = TRUE; } if( ctx.data_version <= 50203 ) { //fix payee defaut payment to int xfer from 5.1 dosanity = TRUE; } if( ctx.file_version < 1.4 ) // <= 5.3 { homebank_upgrade_to_v14(); dosanity = TRUE; } // next ? // always run sanity check after upgrade if( dosanity == TRUE ) hbfile_sanity_check(); } return retval; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /* ** misc xml attributes methods */ static void hb_xml_append_txt(GString *gstring, gchar *attrname, gchar *value) { if(value != NULL && *value != 0) { gchar *escaped = g_markup_escape_text(value, -1); g_string_append_printf(gstring, " %s=\"%s\"", attrname, escaped); g_free(escaped); } } static void append_escaped_text (GString *str, const gchar *text, gssize length) { const gchar *p; const gchar *end; gunichar c; p = text; end = text + length; while (p < end) { const gchar *next; next = g_utf8_next_char (p); switch (*p) { case '&': g_string_append (str, "&"); break; case '<': g_string_append (str, "<"); break; case '>': g_string_append (str, ">"); break; case '\'': g_string_append (str, "'"); break; case '"': g_string_append (str, """); break; default: c = g_utf8_get_char (p); if ((0x1 <= c && c <= 0x8) || (0xa <= c && c <= 0xd) || //chnaged here from b<->c to a<->d (0xe <= c && c <= 0x1f) || (0x7f <= c && c <= 0x84) || (0x86 <= c && c <= 0x9f)) g_string_append_printf (str, "&#x%x;", c); else g_string_append_len (str, p, next - p); break; } p = next; } } // we override g_markup_escape_text from glib to encode \n (LF) & \r (CR) static void hb_xml_append_txt_crlf(GString *gstring, gchar *attrname, gchar *value) { if(value != NULL && *value != 0) { gssize length; GString *escaped; //gchar *escaped = g_markup_escape_text(value, -1); length = strlen (value); escaped = g_string_sized_new (length); append_escaped_text (escaped, value, length); g_string_append_printf(gstring, " %s=\"%s\"", attrname, escaped->str); g_string_free (escaped, TRUE); } } static void hb_xml_append_int0(GString *gstring, gchar *attrname, guint32 value) { g_string_append_printf(gstring, " %s=\"%d\"", attrname, value); } static void hb_xml_append_int(GString *gstring, gchar *attrname, guint32 value) { if(value != 0) { hb_xml_append_int0(gstring, attrname, value); } } static void hb_xml_append_amt(GString *gstring, gchar *attrname, gdouble amount) { char buf[G_ASCII_DTOSTR_BUF_SIZE]; //we must use this, as fprintf use locale decimal settings and not '.' g_ascii_dtostr (buf, sizeof (buf), amount); g_string_append_printf(gstring, " %s=\"%s\"", attrname, buf); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /* ** XML properties save */ static gint homebank_save_xml_prop(GIOChannel *io) { gchar *title; GString *node; gint retval = XML_OK; GError *error = NULL; title = GLOBALS->owner == NULL ? "" : GLOBALS->owner; node = g_string_sized_new(255); g_string_assign(node, "kcur); hb_xml_append_int(node, "car_category", GLOBALS->vehicle_category); hb_xml_append_int0(node, "auto_smode", GLOBALS->auto_smode); hb_xml_append_int(node, "auto_weekday", GLOBALS->auto_weekday); hb_xml_append_int(node, "auto_nbdays", GLOBALS->auto_nbdays); g_string_append(node, "/>\n"); error = NULL; g_io_channel_write_chars(io, node->str, -1, NULL, &error); if(error) { retval = XML_IO_ERROR; g_error_free(error); } g_string_free(node, TRUE); return retval; } /* ** XML currency save */ static gint homebank_save_xml_cur(GIOChannel *io) { GList *list; gchar *tmpstr; char buf1[G_ASCII_DTOSTR_BUF_SIZE]; gint retval = XML_OK; list = g_hash_table_get_values(GLOBALS->h_cur); while (list != NULL) { Currency *item = list->data; tmpstr = g_markup_printf_escaped( "\n", item->key, item->flags, item->iso_code, item->name, item->symbol, item->sym_prefix, item->decimal_char, item->grouping_char, item->frac_digits, g_ascii_dtostr (buf1, sizeof (buf1), item->rate), item->mdate ); g_io_channel_write_chars(io, tmpstr, -1, NULL, NULL); g_free(tmpstr); list = g_list_next(list); } g_list_free(list); return retval; } /* ** XML account save */ static gint homebank_save_xml_acc(GIOChannel *io) { GList *lacc, *list; GString *node; gint retval = XML_OK; GError *error = NULL; node = g_string_sized_new(255); lacc = list = account_glist_sorted(0); while (list != NULL) { Account *item = list->data; item->flags &= ~(AF_ADDED|AF_CHANGED); //delete flag g_string_assign(node, "key); hb_xml_append_int(node, "flags", item->flags); hb_xml_append_int(node, "pos", item->pos); hb_xml_append_int(node, "type", item->type); hb_xml_append_int(node, "curr", item->kcur); hb_xml_append_txt(node, "name", item->name); hb_xml_append_txt(node, "number", item->number); hb_xml_append_txt(node, "bankname", item->bankname); hb_xml_append_amt(node, "initial", item->initial); hb_xml_append_amt(node, "minimum", item->minimum); hb_xml_append_int(node, "cheque1", item->cheque1); hb_xml_append_int(node, "cheque2", item->cheque2); hb_xml_append_txt_crlf(node, "notes", item->notes); hb_xml_append_int(node, "tpl", item->karc); hb_xml_append_int(node, "grp", item->kgrp); g_string_append(node, "/>\n"); error = NULL; g_io_channel_write_chars(io, node->str, -1, NULL, &error); if(error) { retval = XML_IO_ERROR; g_error_free(error); } list = g_list_next(list); } g_list_free(lacc); g_string_free(node, TRUE); return retval; } /* ** XML payee save */ static gint homebank_save_xml_pay(GIOChannel *io) { GList *lpay, *list; GString *node; gint retval = XML_OK; GError *error = NULL; node = g_string_sized_new(255); lpay = list = payee_glist_sorted(0); while (list != NULL) { Payee *item = list->data; if(item->key != 0) { g_string_assign(node, "key); hb_xml_append_txt(node, "name", item->name); hb_xml_append_int(node, "category", item->kcat); hb_xml_append_int(node, "paymode" , item->paymode); g_string_append(node, "/>\n"); error = NULL; g_io_channel_write_chars(io, node->str, -1, NULL, &error); if(error) { retval = XML_IO_ERROR; g_error_free(error); } } list = g_list_next(list); } g_list_free(lpay); g_string_free(node, TRUE); return retval; } /* ** XML category save */ static gint homebank_save_xml_cat(GIOChannel *io) { GList *lcat, *list; GString *node; char buf[G_ASCII_DTOSTR_BUF_SIZE]; guint i; gint retval = XML_OK; GError *error = NULL; node = g_string_sized_new(255); lcat = list = category_glist_sorted(0); while (list != NULL) { Category *item = list->data; if(item->key != 0) { g_string_assign(node, "key); hb_xml_append_int(node, "parent", item->parent); hb_xml_append_int(node, "flags", item->flags); hb_xml_append_txt(node, "name", item->name); for(i=0;i<=12;i++) { if(item->budget[i] != 0) { g_string_append_printf(node," b%d=\"%s\"", i, g_ascii_dtostr (buf, sizeof (buf), item->budget[i])); } } g_string_append(node, "/>\n"); error = NULL; g_io_channel_write_chars(io, node->str, -1, NULL, &error); if(error) { retval = XML_IO_ERROR; g_error_free(error); } } list = g_list_next(list); } g_list_free(lcat); g_string_free(node, TRUE); return retval; } /* ** XML grp save */ static gint homebank_save_xml_grp(GIOChannel *io) { GList *lgrp, *list; gchar *tmpstr; gint retval = XML_OK; GError *error = NULL; lgrp = list = group_glist_sorted(0); while (list != NULL) { Group *item = list->data; if(item->key != 0) { //tmpstr = g_markup_printf_escaped("\n", tmpstr = g_markup_printf_escaped("\n", item->key, //item->type, item->name ); error = NULL; g_io_channel_write_chars(io, tmpstr, -1, NULL, &error); g_free(tmpstr); if(error) { retval = XML_IO_ERROR; g_error_free(error); } } list = g_list_next(list); } g_list_free(lgrp); return retval; } /* ** XML tag save */ /*static gint homebank_save_xml_tag(GIOChannel *io) { GList *ltag, *list; gchar *tmpstr; gint retval = XML_OK; GError *error = NULL; ltag = list = tag_glist_sorted(0); while (list != NULL) { Tag *item = list->data; if(item->key != 0) { tmpstr = g_markup_printf_escaped("\n", item->key, item->name ); error = NULL; g_io_channel_write_chars(io, tmpstr, -1, NULL, &error); g_free(tmpstr); if(error) { retval = XML_IO_ERROR; g_error_free(error); } } list = g_list_next(list); } g_list_free(ltag); return retval; }*/ /* ** XML assign save */ static gint homebank_save_xml_asg(GIOChannel *io) { GList *lasg, *list; GString *node; gint retval = XML_OK; GError *error = NULL; node = g_string_sized_new(255); lasg = list = assign_glist_sorted(HB_GLIST_SORT_KEY); while (list != NULL) { Assign *item = list->data; g_string_assign(node, "key); hb_xml_append_int(node, "flags" , item->flags); hb_xml_append_int(node, "pos" , item->pos); hb_xml_append_int(node, "field" , item->field); hb_xml_append_txt(node, "name" , item->search); hb_xml_append_txt(node, "notes" , item->notes); hb_xml_append_int(node, "payee" , item->kpay); hb_xml_append_int(node, "category", item->kcat); hb_xml_append_int(node, "paymode" , item->paymode); g_string_append(node, "/>\n"); error = NULL; g_io_channel_write_chars(io, node->str, -1, NULL, &error); if(error) { retval = XML_IO_ERROR; g_error_free(error); } list = g_list_next(list); } g_list_free(lasg); g_string_free(node, TRUE); return retval; } /* ** XML archive save */ static gint homebank_save_xml_arc(GIOChannel *io) { GList *list; GString *node; gchar *tagstr; gint retval = XML_OK; GError *error = NULL; node = g_string_sized_new(255); list = g_list_first(GLOBALS->arc_list); while (list != NULL) { Archive *item = list->data; tagstr = tags_tostring(item->tags); g_string_assign(node, "key); hb_xml_append_amt(node, "amount", item->amount); hb_xml_append_int(node, "account", item->kacc); hb_xml_append_int(node, "dst_account", item->kxferacc); hb_xml_append_int(node, "paymode", item->paymode); hb_xml_append_int(node, "st", item->status); hb_xml_append_int(node, "flags", item->flags); hb_xml_append_int(node, "payee", item->kpay); hb_xml_append_int(node, "category", item->kcat); hb_xml_append_txt(node, "wording", item->memo); hb_xml_append_txt(node, "info", item->info); hb_xml_append_txt(node, "tags", tagstr); hb_xml_append_int(node, "nextdate", item->nextdate); hb_xml_append_int(node, "every", item->every); hb_xml_append_int(node, "unit", item->unit); hb_xml_append_int(node, "limit", item->limit); hb_xml_append_int(node, "weekend", item->weekend); hb_xml_append_int(node, "gap", item->daygap); if(da_splits_length(item->splits) > 0) { gchar *cats, *amounts, *memos; da_splits_tostring(item->splits, &cats, &amounts, &memos); g_string_append_printf(node, " scat=\"%s\"", cats); g_string_append_printf(node, " samt=\"%s\"", amounts); //fix #1173910 gchar *escaped = g_markup_escape_text(memos, -1); g_string_append_printf(node, " smem=\"%s\"", escaped); g_free(escaped); g_free(cats); g_free(amounts); g_free(memos); } g_string_append(node, "/>\n"); g_free(tagstr); error = NULL; g_io_channel_write_chars(io, node->str, -1, NULL, &error); if(error) { retval = XML_IO_ERROR; g_error_free(error); } list = g_list_next(list); } g_string_free(node, TRUE); return retval; } /* ** XML transaction save */ static gint homebank_save_xml_ope(GIOChannel *io) { GList *lst_acc, *lnk_acc; GList *list; GString *node; gchar *tagstr; gint retval = XML_OK; GError *error = NULL; node = g_string_sized_new(255); lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; list = g_queue_peek_head_link(acc->txn_queue); while (list != NULL) { Transaction *item = list->data; item->flags &= ~(OF_AUTO|OF_ADDED|OF_CHANGED); //delete flag tagstr = tags_tostring(item->tags); g_string_assign(node, "date); hb_xml_append_amt(node, "amount", item->amount); hb_xml_append_int(node, "account", item->kacc); hb_xml_append_int(node, "dst_account", item->kxferacc); hb_xml_append_int(node, "paymode", item->paymode); hb_xml_append_int(node, "st", item->status); hb_xml_append_int(node, "flags", item->flags); hb_xml_append_int(node, "payee", item->kpay); hb_xml_append_int(node, "category", item->kcat); hb_xml_append_txt(node, "wording", item->memo); hb_xml_append_txt(node, "info", item->info); hb_xml_append_txt(node, "tags", tagstr); hb_xml_append_int(node, "kxfer", item->kxfer); if(da_splits_length(item->splits) > 0) { gchar *cats, *amounts, *memos; da_splits_tostring(item->splits, &cats, &amounts, &memos); g_string_append_printf(node, " scat=\"%s\"", cats); g_string_append_printf(node, " samt=\"%s\"", amounts); //fix #1173910 gchar *escaped = g_markup_escape_text(memos, -1); g_string_append_printf(node, " smem=\"%s\"", escaped); g_free(escaped); g_free(cats); g_free(amounts); g_free(memos); } g_string_append(node, "/>\n"); g_free(tagstr); error = NULL; g_io_channel_write_chars(io, node->str, -1, NULL, &error); if(error) { retval = XML_IO_ERROR; g_error_free(error); } list = g_list_next(list); } lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); g_string_free(node, TRUE); return retval; } /* ** XML save homebank file: hbfile */ gint homebank_save_xml(gchar *filename) { GIOChannel *io; char buf1[G_ASCII_DTOSTR_BUF_SIZE]; gchar *outstr; gint retval = XML_OK; GError *error = NULL; io = g_io_channel_new_file(filename, "w", &error); if(error) { g_warning("unable to save file %s: %s", filename, error->message); g_error_free(error); return(XML_IO_ERROR); } g_io_channel_write_chars(io, "\n", -1, NULL, NULL); outstr = g_strdup_printf("\n", g_ascii_dtostr (buf1, sizeof (buf1), FILE_VERSION), HB_VERSION_NUM); g_io_channel_write_chars(io, outstr, -1, NULL, NULL); g_free(outstr); retval = homebank_save_xml_prop(io); retval = homebank_save_xml_cur(io); retval = homebank_save_xml_acc(io); retval = homebank_save_xml_pay(io); retval = homebank_save_xml_cat(io); //retval = homebank_save_xml_tag(io); retval = homebank_save_xml_asg(io); retval = homebank_save_xml_arc(io); retval = homebank_save_xml_grp(io); retval = homebank_save_xml_ope(io); g_io_channel_write_chars(io, "\n", -1, NULL, NULL); g_io_channel_unref (io); return retval; } homebank-5.3.2/src/hub-transaction.c0000664000175000017500000001213413604720365014273 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hub-transaction.h" #include "hub-account.h" #include "dsp-mainwindow.h" #include "list-operation.h" #include "ui-transaction.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; void ui_hub_transaction_populate(struct hbfile_data *data) { GList *lst_acc, *lnk_acc; GList *lnk_txn; GtkTreeModel *model1, *model2; GtkTreeIter iter; DB( g_print("\n[ui_hub_txn] populate\n") ); model1 = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_txn[HUB_TXN_TYPE_FUTURE])); model2 = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_txn[HUB_TXN_TYPE_REMIND])); gtk_list_store_clear (GTK_LIST_STORE(model1)); gtk_list_store_clear (GTK_LIST_STORE(model2)); lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; // skip closed in showall mode if( (acc->flags & AF_CLOSED) ) goto next_acc; lnk_txn = g_queue_peek_head_link(acc->txn_queue); while (lnk_txn != NULL) { Transaction *txn = lnk_txn->data; if(txn->date > GLOBALS->today) { gtk_list_store_insert_with_values(GTK_LIST_STORE(model1), &iter, -1, MODEL_TXN_POINTER, txn, MODEL_TXN_SPLITAMT, txn->amount, -1); } if(txn->status == TXN_STATUS_REMIND) { gtk_list_store_insert_with_values(GTK_LIST_STORE(model2), &iter, -1, MODEL_TXN_POINTER, txn, MODEL_TXN_SPLITAMT, txn->amount, -1); } lnk_txn = g_list_next(lnk_txn); } next_acc: lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); } static void ui_hub_transaction_onRowActivated (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *col, gpointer userdata) { struct hbfile_data *data = userdata; Transaction *active_txn; gboolean result; DB( g_print ("\n[ui_hub_txn] row double-clicked\n") ); active_txn = list_txn_get_active_transaction(treeview); if(active_txn) { Transaction *old_txn, *new_txn; old_txn = da_transaction_clone (active_txn); new_txn = active_txn; result = deftransaction_external_edit(GTK_WINDOW(data->window), old_txn, new_txn); if(result == GTK_RESPONSE_ACCEPT) { //#1640885 GLOBALS->changes_count++; ui_hub_transaction_populate(data); //#1824515 when amount change update acc panel //#1845839 every change should update //if( old_txn->amount != new_txn->amount ) ui_hub_account_compute(GLOBALS->mainwindow, NULL); //#1830880 update mainwindow ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE+UF_BALANCE)); } da_transaction_free (old_txn); } } GtkWidget *ui_hub_transaction_create(struct hbfile_data *data, HbHubTxnType type) { GtkWidget *hub, *vbox, *sw, *widget; DB( g_print("\n[ui_hub_txn] create %d\n", type) ); if( type > HUB_TXN_TYPE_REMIND ) return NULL; hub = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width(GTK_CONTAINER(hub), SPACING_SMALL); vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); //gtk_widget_set_margin_top(GTK_WIDGET(vbox), 0); //gtk_widget_set_margin_bottom(GTK_WIDGET(vbox), SPACING_SMALL); //gtk_widget_set_margin_start(GTK_WIDGET(vbox), 2*SPACING_SMALL); //gtk_widget_set_margin_end(GTK_WIDGET(vbox), SPACING_SMALL); gtk_box_pack_start (GTK_BOX (hub), vbox, TRUE, TRUE, 0); sw = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_box_pack_start (GTK_BOX (vbox), sw, TRUE, TRUE, 0); widget = (GtkWidget *)create_list_transaction(LIST_TXN_TYPE_DETAIL, PREFS->lst_ope_columns); list_txn_set_column_acc_visible(GTK_TREE_VIEW(widget), TRUE); data->LV_txn[type] = widget; gtk_container_add (GTK_CONTAINER (sw), widget); g_signal_connect (GTK_TREE_VIEW(data->LV_txn[type]), "row-activated", G_CALLBACK (ui_hub_transaction_onRowActivated), data); return hub; } homebank-5.3.2/src/ui-assist-start.c0000644000175000017500000003503413604720365014250 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "ui-assist-start.h" #include "dsp-mainwindow.h" #include "ui-currency.h" #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern HbKvData CYA_ACC_TYPE[]; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void on_assistant_apply (GtkWidget *widget, gpointer user_data) { struct assist_start_data *data = user_data; Account *item; gdouble value; DB( g_print("\n[ui-start] apply\n") ); /* set owner */ gchar *owner = (gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_owner)); if (owner && *owner) { hbfile_change_owner(g_strdup(owner)); GLOBALS->changes_count++; } if( data->curfmt != NULL ) { hbfile_replace_basecurrency(data->curfmt); } /* load preset categories */ if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_load))) { if(data->pathfilename != NULL) { gchar *error; category_load_csv(data->pathfilename, &error); //DB( g_print(" -> loaded=%d\n", ok) ); } } /* initialise an account */ item = da_acc_malloc(); gchar *txt = (gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_name)); if (txt && *txt) { item->name = g_strdup(txt); //#1837838 remove extra lead/tail space g_strstrip(item->name); } item->kcur = GLOBALS->kcur; item->type = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_type)); item->number = g_strdup(gtk_entry_get_text(GTK_ENTRY(data->ST_number))); gtk_spin_button_update(GTK_SPIN_BUTTON(data->ST_initial)); value = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_initial)); item->initial = value; gtk_spin_button_update(GTK_SPIN_BUTTON(data->ST_minimum)); value = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_minimum)); item->minimum = value; da_acc_append(item); GLOBALS->changes_count++; //our global list has changed, so update the treeview //todo: #1693998 crappy to do this here account_compute_balances (); ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE+UF_BALANCE+UF_REFRESHALL)); } static void on_assistant_close_cancel (GtkWidget *widget, gpointer user_data) { struct assist_start_data *data = user_data; DB( g_print("\n[ui-start] close/cancel\n") ); //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); gtk_widget_destroy (data->window); g_free(data->pathfilename); g_free(data); } static void on_assistant_prepare (GtkWidget *widget, GtkWidget *page, gpointer user_data) { struct assist_start_data *data = user_data; gint current_page, n_pages; gchar *title; DB( g_print("\n[ui-start] prepare\n") ); current_page = gtk_assistant_get_current_page (GTK_ASSISTANT (widget)); n_pages = gtk_assistant_get_n_pages (GTK_ASSISTANT (widget)); title = g_strdup_printf (_("New HomeBank file (%d of %d)"), current_page + 1, n_pages); gtk_window_set_title (GTK_WINDOW (widget), title); g_free (title); switch( current_page ) { case 1: { gchar **langs = (gchar **)g_get_language_names (); gchar *txt = g_strjoinv(", ", langs); DB( g_print("%s\n", txt) );; gtk_label_set_label(GTK_LABEL(data->TX_lang), txt); g_free(txt); gchar *lang; data->pathfilename = category_find_preset(&lang); if(data->pathfilename != NULL) { gtk_label_set_label(GTK_LABEL(data->TX_file), lang); gtk_widget_show(data->CM_load); gtk_widget_show(data->ok_image); gtk_widget_hide(data->ko_image); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_load), TRUE); } else { gtk_widget_hide(data->CM_load); gtk_label_set_label(GTK_LABEL(data->TX_file), _("Not found")); gtk_widget_show(data->ko_image); gtk_widget_hide(data->ok_image); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_load), FALSE); } } break; } } static void on_entry_changed (GtkWidget *widget, gpointer data) { GtkAssistant *assistant = GTK_ASSISTANT (data); GtkWidget *current_page; gint page_number; gchar *text; page_number = gtk_assistant_get_current_page (assistant); current_page = gtk_assistant_get_nth_page (assistant, page_number); //#1837838: complete space or leadin/trialin space is possible text = g_strdup(gtk_entry_get_text (GTK_ENTRY (widget))); g_strstrip(text); if (strlen(text) > 0) gtk_assistant_set_page_complete (assistant, current_page, TRUE); else gtk_assistant_set_page_complete (assistant, current_page, FALSE); g_free(text); } static void ui_start_assistant_property_change_action(GtkWidget *widget, gpointer user_data) { struct assist_start_data *data; struct curSelectContext selectCtx; DB( g_print("\n[ui-start] property_change_action\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); data->curfmt = NULL; ui_cur_select_dialog_new(GTK_WINDOW(data->window), CUR_SELECT_MODE_BASE, &selectCtx); if( selectCtx.cur_4217 != NULL ) { Currency4217 *curfmt; gchar label[128]; gchar *name; curfmt = selectCtx.cur_4217; DB( g_printf("- user selected: '%s' '%s'\n", curfmt->curr_iso_code, curfmt->name) ); data->curfmt = curfmt; name = curfmt->name; g_snprintf(label, 127, "%s - %s", curfmt->curr_iso_code, name); gtk_label_set_text (GTK_LABEL(data->LB_currency), label); } } static void ui_start_assistant_property_fill (GtkWidget *assistant, struct assist_start_data *data) { Currency *cur; gchar label[128]; DB( g_print("\n[ui-start] property_fill\n") ); gtk_entry_set_text(GTK_ENTRY(data->ST_owner), g_get_real_name ()); cur = da_cur_get (GLOBALS->kcur); g_snprintf(label, 127, "%s - %s", cur->iso_code, cur->name); gtk_label_set_text (GTK_LABEL(data->LB_currency), label); } static void ui_start_assistant_property_create (GtkWidget *assistant, struct assist_start_data *data) { GtkWidget *table, *label, *widget; gint row; table = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM); //gtk_container_set_border_width (GTK_CONTAINER (table), SPACING_MEDIUM); gtk_widget_set_valign (table, GTK_ALIGN_CENTER); row = 0; label = make_label_widget(_("_Owner:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); widget = make_string(label); data->ST_owner = widget; gtk_widget_set_hexpand(widget, TRUE); gtk_grid_attach (GTK_GRID (table), widget, 2, row, 2, 1); row++; label = make_label_widget(_("Currency:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); widget = make_label (NULL, 0, 0.5); data->LB_currency = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); widget = gtk_button_new_with_mnemonic (_("_Change")); data->BT_change = widget; gtk_grid_attach (GTK_GRID (table), widget, 3, row, 1, 1); g_signal_connect (G_OBJECT (data->ST_owner), "changed", G_CALLBACK (on_entry_changed), assistant); g_signal_connect (G_OBJECT (data->BT_change), "clicked", G_CALLBACK (ui_start_assistant_property_change_action), data); gtk_widget_show_all (table); gtk_assistant_append_page (GTK_ASSISTANT (assistant), table); gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), table, _("File properties")); gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), table, GTK_ASSISTANT_PAGE_INTRO); } static void ui_start_assistant_create_page2 (GtkWidget *assistant, struct assist_start_data *data) { GtkWidget *box, *hbox, *label, *table, *widget; gint row; box = gtk_box_new (GTK_ORIENTATION_VERTICAL, SPACING_SMALL); gtk_container_set_border_width (GTK_CONTAINER (box), SPACING_MEDIUM); table = gtk_grid_new (); //gtk_container_set_border_width (GTK_CONTAINER (table), SP_BORDER); gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL*2); gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM*2); gtk_box_pack_start (GTK_BOX (box), table, TRUE, TRUE, 0); row = 0; label = make_label_group(_("System detection")); gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); row++; label = make_label_widget(_("Languages:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); widget = make_label(NULL, 0.0, 0.5); data->TX_lang = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; label = make_label_widget(_("Preset file:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); gtk_grid_attach (GTK_GRID (table), hbox, 2, row, 1, 1); widget = gtk_image_new_from_icon_name(ICONNAME_HB_FILE_VALID, GTK_ICON_SIZE_LARGE_TOOLBAR); data->ok_image = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); widget = gtk_image_new_from_icon_name(ICONNAME_HB_FILE_INVALID, GTK_ICON_SIZE_LARGE_TOOLBAR); data->ko_image = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); widget = make_label(NULL, 0.0, 0.5); data->TX_file = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); row++; widget = gtk_check_button_new_with_mnemonic (_("Initialize my categories with this file")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), TRUE); data->CM_load = widget; gtk_grid_attach (GTK_GRID (table), widget, 1, row, 3, 1); gtk_widget_show_all (box); gtk_widget_hide(data->ok_image); gtk_widget_hide(data->ko_image); gtk_assistant_append_page (GTK_ASSISTANT (assistant), box); gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), box, TRUE); gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), box, _("Preset categories")); } static void ui_start_assistant_create_page3 (GtkWidget *assistant, struct assist_start_data *data) { GtkWidget *box, *label, *widget, *table; gint row; box = gtk_box_new (GTK_ORIENTATION_VERTICAL, SPACING_SMALL); gtk_container_set_border_width (GTK_CONTAINER (box), SPACING_MEDIUM); table = gtk_grid_new (); //gtk_container_set_border_width (GTK_CONTAINER (table), SP_BORDER); gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM); gtk_box_pack_start (GTK_BOX (box), table, TRUE, TRUE, 0); row = 0; label = make_label_group(_("Information")); gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); row++; label = make_label_widget(_("_Name:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); widget = make_string(label); data->ST_name = widget; gtk_widget_set_hexpand(widget, TRUE); gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (on_entry_changed), assistant); row++; label = make_label_widget(_("_Type:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); //widget = make_cycle(label, CYA_ACC_TYPE); widget = hbtk_combo_box_new_with_data(label, CYA_ACC_TYPE); data->CY_type = widget; gtk_widget_set_hexpand(widget, TRUE); gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; label = make_label_widget(_("N_umber:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); widget = make_string(label); data->ST_number = widget; gtk_widget_set_hexpand(widget, TRUE); gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); //other //row = 0; row++; label = make_label_group(_("Balances")); gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); row++; label = make_label_widget(_("_Initial:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); widget = make_amount(label); data->ST_initial = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; label = make_label_widget(_("_Overdrawn at:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); widget = make_amount(label); data->ST_minimum = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); gtk_widget_show_all (box); gtk_assistant_append_page (GTK_ASSISTANT (assistant), box); gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), box, _("Create an account")); } static void ui_start_assistant_create_page4 (GtkWidget *assistant, struct assist_start_data *data) { GtkWidget *label; label = gtk_label_new (_("This is a confirmation page, press 'Apply' to apply changes")); gtk_widget_show (label); gtk_assistant_append_page (GTK_ASSISTANT (assistant), label); gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), label, GTK_ASSISTANT_PAGE_CONFIRM); gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), label, TRUE); gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), label, _("Confirmation")); } GtkWidget* ui_start_assistant (void) { struct assist_start_data *data; GtkWidget *assistant, *page; DB( g_print("\n[ui-start] new\n") ); data = g_malloc0(sizeof(struct assist_start_data)); if(!data) return NULL; assistant = gtk_assistant_new (); data->window = assistant; //store our window private data g_object_set_data(G_OBJECT(assistant), "inst_data", (gpointer)data); //DB( g_print("** (import) window=%x, inst_data=%x\n", assistant, data) ); gtk_window_set_default_size (GTK_WINDOW (assistant), 400, -1); gtk_window_set_modal(GTK_WINDOW (assistant), TRUE); gtk_window_set_transient_for(GTK_WINDOW(assistant), GTK_WINDOW(GLOBALS->mainwindow)); ui_start_assistant_property_create (assistant, data); ui_start_assistant_create_page2 (assistant, data); ui_start_assistant_create_page3 (assistant, data); ui_start_assistant_create_page4 (assistant, data); ui_start_assistant_property_fill(assistant, data); page = gtk_assistant_get_nth_page(GTK_ASSISTANT (assistant), 0); gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), page, TRUE); g_signal_connect (G_OBJECT (assistant), "cancel", G_CALLBACK (on_assistant_close_cancel), data); g_signal_connect (G_OBJECT (assistant), "close", G_CALLBACK (on_assistant_close_cancel), data); g_signal_connect (G_OBJECT (assistant), "apply", G_CALLBACK (on_assistant_apply), data); g_signal_connect (G_OBJECT (assistant), "prepare", G_CALLBACK (on_assistant_prepare), data); gtk_widget_show (assistant); return assistant; } homebank-5.3.2/src/hb-preferences.h0000644000175000017500000001064413604720371014066 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_PREFERENCES_H__ #define __HB_PREFERENCES_H__ #include "hb-currency.h" #define DEFAULT_FORMAT_DATE "%x" #define MAX_FRAC_DIGIT 6 //Tango light #define LIGHT_EXP_COLOR "#fcaf3e" //Orange #define LIGHT_INC_COLOR "#8ae234" //Chameleon #define LIGHT_WARN_COLOR "#ef2929" //Scarlett Red //Tango medium #define MEDIUM_EXP_COLOR "#f57900" //Orange #define MEDIUM_INC_COLOR "#73d216" //Chameleon #define MEDIUM_WARN_COLOR "#cc0000" //Scarlett Red //Tango dark #define DEFAULT_EXP_COLOR "#ce5c00" //Orange #define DEFAULT_INC_COLOR "#4e9a36" //Chameleon #define DEFAULT_WARN_COLOR "#a40000" //Scarlett Red #define PRF_DTEX_CSVSEP_BUFFER "\t,; " enum { PRF_DTEX_CSVSEP_TAB, PRF_DTEX_CSVSEP_COMMA, PRF_DTEX_CSVSEP_SEMICOLON, PRF_DTEX_CSVSEP_SPACE, }; /* ** Preference datas */ struct WinGeometry { gint l, t, w, h, s; }; struct Preferences { //general gboolean showsplash; gboolean loadlast; gboolean appendscheduled; gboolean do_update_currency; gint date_range_wal; //interface gshort toolbar_style; gboolean icon_symbolic; gshort grid_lines; gboolean custom_colors; gchar *color_exp; gchar *color_inc; gchar *color_warn; //locale gchar *language; gchar *date_format; gshort fisc_year_day; gshort fisc_year_month; gboolean vehicle_unit_ismile; // true if unit is mile, default Km gboolean vehicle_unit_isgal; // true if unit is gallon, default Liter //transactions gint date_range_txn; gint date_future_nbdays; gboolean hidereconciled; gboolean showremind; gboolean showvoid; gboolean includeremind; gboolean txn_showconfirm; gboolean heritdate; gboolean txn_memoacp; gshort txn_memoacp_days; //import/export gint dtex_datefmt; gint dtex_ofxname; gint dtex_ofxmemo; gboolean dtex_qifmemo; gboolean dtex_qifswap; gboolean dtex_ucfirst; gint dtex_csvsep; //report options gint date_range_rep; gint report_color_scheme; gboolean stat_byamount; gboolean stat_showrate; gboolean stat_showdetail; gboolean budg_showdetail; //backup option gboolean bak_is_automatic; gshort bak_max_num_copies; //folders gchar *path_hbfile; gchar *path_hbbak; gchar *path_import; gchar *path_export; gchar *path_attach; //euro zone gboolean euro_active; gint euro_country; gdouble euro_value; Currency minor_cur; //---- others data (not in pref dialog) ----- gboolean dtex_nointro; gboolean dtex_dodefpayee; gboolean dtex_doautoassign; gchar IntCurrSymbol[8]; gint lst_impope_columns[NUM_LST_DSPOPE+1]; gint lst_ope_columns[NUM_LST_DSPOPE+1]; gint lst_ope_col_width[NUM_LST_DSPOPE+1]; gint lst_ope_sort_id; // -- implicit -- gint lst_ope_sort_order; // -- implicit -- /* windows/dialogs size an position */ struct WinGeometry wal_wg; struct WinGeometry acc_wg; struct WinGeometry sta_wg; struct WinGeometry tme_wg; struct WinGeometry ove_wg; struct WinGeometry bud_wg; struct WinGeometry cst_wg; struct WinGeometry txn_wg; // main window stuffs gboolean wal_toolbar; gboolean wal_spending; gboolean wal_upcoming; gint wal_vpaned; gint wal_hpaned; //home panel gshort pnl_acc_col_acc_width; gshort pnl_acc_show_by; gshort pnl_upc_col_pay_width; gshort pnl_upc_col_mem_width; gchar *pnl_list_tab; //vehiclecost units (mile/gal or km/liters) gchar *vehicle_unit_dist; gchar *vehicle_unit_vol; gchar *vehicle_unit_100; gchar *vehicle_unit_distbyvol; }; void homebank_prefs_set_default(void); void homebank_pref_free(void); void homebank_pref_createformat(void); void homebank_pref_init_measurement_units(void); gboolean homebank_pref_load(void); gboolean homebank_pref_save(void); void homebank_pref_setdefault(void); #endif homebank-5.3.2/src/list-scheduled.c0000644000175000017500000003447113604720365014111 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "list-scheduled.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; static void list_sch_lateicon_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gchar *iconname = NULL; gint nblate; gtk_tree_model_get(model, iter, LST_DSPUPC_NB_LATE, &nblate, -1); iconname = ( nblate > 0 ) ? ICONNAME_WARNING : NULL; g_object_set(renderer, "icon-name", iconname, NULL); } static void list_sch_latetext_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Archive *arc; gchar *markuptxt; gchar *color; gint nblate; //gint weight; gtk_tree_model_get(model, iter, LST_DSPUPC_DATAS, &arc, LST_DSPUPC_NB_LATE, &nblate, -1); if(arc && nblate > 0) { markuptxt = g_strdup_printf(nblate < 10 ? "%d" : "+10", nblate); color = NULL; //weight = PANGO_WEIGHT_NORMAL; if(nblate > 0 && PREFS->custom_colors == TRUE) { color = PREFS->color_warn; } g_object_set(renderer, //"weight", weight, "foreground", color, "text", markuptxt, NULL); g_free(markuptxt); } else g_object_set(renderer, "text", NULL, NULL); } static void list_sch_date_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Archive *arc; gchar buffer[256]; GDate *date; gtk_tree_model_get(model, iter, LST_DSPUPC_DATAS, &arc, -1); if(arc) { date = g_date_new_julian (arc->nextdate); g_date_strftime (buffer, 256-1, PREFS->date_format, date); g_date_free(date); //g_snprintf(buf, sizeof(buf), "%d", ope->ope_Date); g_object_set(renderer, "text", buffer, NULL); } else g_object_set(renderer, "text", NULL, NULL); } static void list_sch_still_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Archive *arc; gchar *markuptxt; gtk_tree_model_get(model, iter, LST_DSPUPC_DATAS, &arc, -1); if(arc && (arc->flags & OF_LIMIT) ) { markuptxt = g_strdup_printf("%d", arc->limit); g_object_set(renderer, "markup", markuptxt, NULL); g_free(markuptxt); } else g_object_set(renderer, "text", NULL, NULL); } static void list_sch_payee_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Archive *arc; Payee *pay; gtk_tree_model_get(model, iter, LST_DSPUPC_DATAS, &arc, -1); if(arc) { pay = da_pay_get(arc->kpay); if(pay != NULL) g_object_set(renderer, "text", pay->name, NULL); } else g_object_set(renderer, "text", NULL, NULL); } static void list_sch_memo_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Archive *arc; gchar *memo; gint weight; gtk_tree_model_get(model, iter, LST_DSPUPC_DATAS, &arc, LST_DSPUPC_MEMO, &memo, -1); weight = arc == NULL ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL; g_object_set(renderer, "weight", weight, "text", memo, NULL); //leak g_free(memo); } static void list_sch_amount_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Archive *arc; gdouble expense, income, amount; gchar buf[G_ASCII_DTOSTR_BUF_SIZE]; gint column = GPOINTER_TO_INT(user_data); Account *acc; gchar *color; gint weight; gtk_tree_model_get(model, iter, LST_DSPUPC_DATAS, &arc, LST_DSPUPC_ACCOUNT, &acc, LST_DSPUPC_EXPENSE, &expense, LST_DSPUPC_INCOME, &income, -1); amount = column == -1 ? expense : income; if( amount != 0.0) { if( acc != NULL ) hb_strfmon(buf, G_ASCII_DTOSTR_BUF_SIZE-1, amount, acc->kcur, GLOBALS->minor); else hb_strfmon(buf, G_ASCII_DTOSTR_BUF_SIZE-1, amount, GLOBALS->kcur, GLOBALS->minor); color = get_normal_color_amount(amount); weight = arc == NULL ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL; g_object_set(renderer, "weight", weight, "foreground", color, "text", buf, NULL); } else { g_object_set(renderer, "text", NULL, NULL); } } static void list_sch_account_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Account *acc; gchar *name = NULL; gtk_tree_model_get(model, iter, LST_DSPUPC_ACCOUNT, &acc, -1); /* 1378836 display acc or dstacc */ if( acc != NULL ) { name = acc->name; } g_object_set(renderer, "text", name, NULL); } static gboolean list_account_selectionfunc(GtkTreeSelection *selection, GtkTreeModel *model, GtkTreePath *path, gboolean path_currently_selected, gpointer data) { GtkTreeIter iter; Archive *arc; if(gtk_tree_model_get_iter(model, &iter, path)) { gtk_tree_model_get(model, &iter, LST_DSPUPC_DATAS, &arc, -1); if( arc == NULL ) return FALSE; } return TRUE; } static GtkTreeViewColumn * list_upcoming_get_column(GtkTreeView *treeview, gint uid) { GtkTreeViewColumn *retval = NULL; guint i; for(i=0;ipnl_upc_col_pay_width = gtk_tree_view_column_get_fixed_width(column); } column = list_upcoming_get_column(treeview, COL_DSPUPC_MEMO); if( column ) { PREFS->pnl_upc_col_mem_width = gtk_tree_view_column_get_fixed_width(column); } DB( g_print(" width payee:%d, memo:%d\n", PREFS->pnl_upc_col_pay_width, PREFS->pnl_upc_col_mem_width) ); } GtkWidget * create_list_upcoming(void) { GtkListStore *store; GtkWidget *view; GtkCellRenderer *renderer; GtkTreeViewColumn *column; DB( g_print ("\n[list_upcoming] create\n") ); /* create list store */ store = gtk_list_store_new( NUM_LST_DSPUPC, G_TYPE_POINTER, /* scheduled */ G_TYPE_INT, /* next (sort) */ G_TYPE_POINTER, /* account */ G_TYPE_STRING, /* memo/total */ G_TYPE_DOUBLE, /* expense */ G_TYPE_DOUBLE, /* income */ G_TYPE_INT /* nb late */ ); //treeview view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); g_object_unref(store); gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (view), PREFS->grid_lines); gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(view)), GTK_SELECTION_SINGLE); /* column : Late */ column = gtk_tree_view_column_new(); //TRANSLATORS: title of list column to inform the scheduled transaction is Late gtk_tree_view_column_set_title(column, _("Late")); renderer = gtk_cell_renderer_pixbuf_new (); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_sch_lateicon_cell_data_function, NULL, NULL); renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 1.0, NULL); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_sch_latetext_cell_data_function, NULL, NULL); //gtk_tree_view_column_set_sort_column_id (column, LST_DSPUPC_NB_LATE); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column : Still (for limited scheduled) */ column = gtk_tree_view_column_new(); //TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn gtk_tree_view_column_set_title(column, _("Still")); renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 1.0, NULL); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_sch_still_cell_data_function, NULL, NULL); //gtk_tree_view_column_set_sort_column_id (column, LST_DSPUPC_REMAINING); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Next on */ renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 1.0, NULL); column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Next date")); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_sch_date_cell_data_function, NULL, NULL); //gtk_tree_view_column_set_sort_column_id (column, LST_DSPUPC_DATE); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Payee */ renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "ellipsize", PANGO_ELLIPSIZE_END, "ellipsize-set", TRUE, //taken from nemo, not exactly a resize to content, but good compromise "width-chars", 40, NULL); column = gtk_tree_view_column_new(); g_object_set_data(G_OBJECT(column), "uid", GUINT_TO_POINTER(COL_DSPUPC_PAYEE)); gtk_tree_view_column_set_title(column, _("Payee")); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_sch_payee_cell_data_function, NULL, NULL); gtk_tree_view_column_set_resizable(column, TRUE); //gtk_tree_view_column_add_attribute(column, renderer, "text", 1); //gtk_tree_view_column_set_sort_column_id (column, LST_DSPACC_NAME); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_column_set_min_width(column, HB_MINWIDTH_LIST/2); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); gtk_tree_view_column_set_fixed_width(column, PREFS->pnl_upc_col_pay_width); /* column: Memo */ renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "ellipsize", PANGO_ELLIPSIZE_END, "ellipsize-set", TRUE, //taken from nemo, not exactly a resize to content, but good compromise "width-chars", 40, NULL); column = gtk_tree_view_column_new(); g_object_set_data(G_OBJECT(column), "uid", GUINT_TO_POINTER(COL_DSPUPC_MEMO)); gtk_tree_view_column_set_title(column, _("Memo")); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_sch_memo_cell_data_function, NULL, NULL); gtk_tree_view_column_set_resizable(column, TRUE); //gtk_tree_view_column_add_attribute(column, renderer, "text", 2); //gtk_tree_view_column_set_sort_column_id (column, LST_DSPACC_NAME); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_column_set_min_width(column, HB_MINWIDTH_LIST/2); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); gtk_tree_view_column_set_fixed_width(column, PREFS->pnl_upc_col_mem_width); /* column: Amount */ column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Expense")); renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 1.0, NULL); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_sch_amount_cell_data_function, GINT_TO_POINTER(-1), NULL); //gtk_tree_view_column_set_sort_column_id (column, LST_DSPACC_NAME); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Amount */ column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Income")); renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 1.0, NULL); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_sch_amount_cell_data_function, GINT_TO_POINTER(1), NULL); //gtk_tree_view_column_set_sort_column_id (column, LST_DSPACC_NAME); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Account */ renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "ellipsize", PANGO_ELLIPSIZE_END, "ellipsize-set", TRUE, //taken from nemo, not exactly a resize to content, but good compromise "width-chars", 40, NULL); column = gtk_tree_view_column_new(); g_object_set_data(G_OBJECT(column), "uid", GUINT_TO_POINTER(COL_DSPUPC_ACCOUNT)); gtk_tree_view_column_set_title(column, _("Account")); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_sch_account_cell_data_function, NULL, NULL); gtk_tree_view_column_set_resizable(column, TRUE); //gtk_tree_view_column_set_sort_column_id (column, LST_DSPOPE_DATE); gtk_tree_view_column_set_alignment (column, 0.5); //gtk_tree_view_column_set_min_width(column, HB_MINWIDTH_LIST); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: empty */ column = gtk_tree_view_column_new(); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); gtk_tree_selection_set_select_function(gtk_tree_view_get_selection(GTK_TREE_VIEW(view)), list_account_selectionfunc, NULL, NULL); /* set initial sort order */ gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), LST_DSPUPC_NEXT, GTK_SORT_ASCENDING); g_signal_connect (view, "destroy", G_CALLBACK (list_upcoming_destroy), NULL); return(view); } homebank-5.3.2/src/list-operation.c0000644000175000017500000012457613617531051014153 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "list-operation.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; //debug //extern gboolean minor_active; /* This is not pretty. Of course you can also use a * separate compare function for each sort ID value */ static gint list_txn_sort_iter_compare_strings(gchar *s1, gchar *s2) { return hb_string_utf8_compare(s1, s2); } static gint list_txn_sort_iter_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { gint sortcol = GPOINTER_TO_INT(userdata); gint retval = 0; Transaction *ope1, *ope2; gdouble tmpval = 0; gtk_tree_model_get(model, a, MODEL_TXN_POINTER, &ope1, -1); gtk_tree_model_get(model, b, MODEL_TXN_POINTER, &ope2, -1); switch (sortcol) { case LST_DSPOPE_STATUS: if(!(retval = (ope1->flags & OF_ADDED) - (ope2->flags & OF_ADDED) ) ) { retval = (ope1->flags & OF_CHANGED) - (ope2->flags & OF_CHANGED); } break; case LST_DSPOPE_DATE: if(! (retval = ope1->date - ope2->date) ) { //g_print("sort on balance d1=%d, d2=%d %f %f\n", ope1->date, ope2->date, ope1->balance , ope2->balance); tmpval = ope1->pos - ope2->pos; retval = tmpval > 0 ? 1 : -1; } //g_print("ret=%d\n", ret); break; case LST_DSPOPE_ACCOUNT: { Account *a1, *a2; a1 = da_acc_get(ope1->kacc); a2 = da_acc_get(ope2->kacc); retval = list_txn_sort_iter_compare_strings((a1 != NULL) ? a1->name : NULL, (a2 != NULL) ? a2->name : NULL); } break; case LST_DSPOPE_INFO: if(!(retval = ope1->paymode - ope2->paymode)) { retval = list_txn_sort_iter_compare_strings(ope1->info, ope2->info); } break; case LST_DSPOPE_PAYEE: { //#1721980 gchar *name1 = NULL; gchar *name2 = NULL; if( ope1->flags & OF_INTXFER ) { Account *acc = da_acc_get(ope1->kxferacc); name1 = (acc != NULL) ? acc->name : NULL; } else { Payee *pay = da_pay_get(ope1->kpay); name1 = (pay != NULL) ? pay->name : NULL; } if( ope2->flags & OF_INTXFER ) { Account *acc = da_acc_get(ope2->kxferacc); name2 = (acc != NULL) ? acc->name : NULL; } else { Payee *pay = da_pay_get(ope2->kpay); name2 = (pay != NULL) ? pay->name : NULL; } retval = list_txn_sort_iter_compare_strings(name1, name2); } break; case LST_DSPOPE_MEMO: retval = list_txn_sort_iter_compare_strings(ope1->memo, ope2->memo); break; case LST_DSPOPE_CLR: retval = ope1->status - ope2->status; break; case LST_DSPOPE_AMOUNT: case LST_DSPOPE_EXPENSE: case LST_DSPOPE_INCOME: tmpval = ope1->amount - ope2->amount; retval = tmpval > 0 ? 1 : -1; break; case LST_DSPOPE_CATEGORY: { Category *c1, *c2; c1 = da_cat_get(ope1->kcat); c2 = da_cat_get(ope2->kcat); if( c1 != NULL && c2 != NULL ) { retval = list_txn_sort_iter_compare_strings(c1->fullname, c2->fullname); } } break; case LST_DSPOPE_TAGS: { gchar *t1, *t2; t1 = tags_tostring(ope1->tags); t2 = tags_tostring(ope2->tags); retval = list_txn_sort_iter_compare_strings(t1, t2); g_free(t2); g_free(t1); } break; default: g_return_val_if_reached(0); } return retval; } static void list_txn_eval_future(GtkCellRenderer *renderer, Transaction *txn) { if(txn->date > GLOBALS->today) { g_object_set(renderer, // "scale-set", TRUE, "scale", 0.8, // "style-set", TRUE, "style", PANGO_STYLE_OBLIQUE, NULL); } else { g_object_set(renderer, "scale-set", FALSE, "style-set", FALSE, NULL); } //if( txn->marker == TXN_MARK_DUPDST ) if( txn->dspflags & TXN_DSPFLG_DUPDST ) { g_object_set(renderer, // "strikethrough-set", TRUE, "strikethrough", TRUE, NULL); } else { g_object_set(renderer, "strikethrough-set", FALSE, NULL); } //if( txn->marker == TXN_MARK_DUPSRC ) if( txn->dspflags & TXN_DSPFLG_DUPSRC ) { g_object_set(renderer, // "weight-set", TRUE, "weight", PANGO_WEIGHT_BOLD, NULL); } else { g_object_set(renderer, "weight-set", FALSE, NULL); } } /* ** date cell function */ static void list_txn_status_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Transaction *txn; gchar *iconname = NULL; gtk_tree_model_get(model, iter, MODEL_TXN_POINTER, &txn, -1); /* stat[0] = ( entry->ope_Flags & OF_ADDED ) ? data->istatus[2] : data->istatus[0]; stat[1] = ( entry->ope_Flags & OF_CHANGED) ? data->istatus[3] : data->istatus[0]; stat[2] = ( entry->ope_Flags & OF_VALID ) ? data->istatus[4] : data->istatus[0]; if( entry->ope_Flags & OF_REMIND ) stat[2] = data->istatus[1]; */ switch(GPOINTER_TO_INT(user_data)) { case 1: iconname = ( txn->flags & OF_AUTO ) ? ICONNAME_HB_OPE_AUTO : ( txn->flags & OF_ADDED ) ? ICONNAME_HB_OPE_NEW : NULL; break; case 2: iconname = ( txn->flags & OF_CHANGED ) ? ICONNAME_HB_OPE_EDIT : NULL; break; case 3: //iconname = ( txn->marker == TXN_MARK_DUPDST ) ? ICONNAME_HB_OPE_SIMILAR : NULL; iconname = ( txn->dspflags & TXN_DSPFLG_DUPDST ) ? ICONNAME_HB_OPE_SIMILAR : NULL; break; /*case 3: if( entry->flags & OF_VALID ) iconname = ICONNAME_HB_OPE_VALID; else { if( entry->flags & OF_REMIND ) iconname = ICONNAME_HB_OPE_REMIND; } break;*/ } g_object_set(renderer, "icon-name", iconname, NULL); } /* ** account cell function */ static void list_txn_account_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Transaction *ope; Account *acc; gtk_tree_model_get(model, iter, MODEL_TXN_POINTER, &ope, -1); acc = da_acc_get(ope->kacc); if( acc ) { g_object_set(renderer, "text", acc->name, NULL); } else g_object_set(renderer, "text", "", NULL); } /* ** date cell function */ static void list_txn_date_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Transaction *ope; gchar buffer[256]; GDate date; gtk_tree_model_get(model, iter, MODEL_TXN_POINTER, &ope, -1); list_txn_eval_future(renderer, ope); if(ope->date > 0) { g_date_set_julian (&date, ope->date); g_date_strftime (buffer, 256-1, PREFS->date_format, &date); #if MYDEBUG gchar *ds = g_strdup_printf ("%s [%02d]", buffer, ope->pos ); g_object_set(renderer, "text", ds, NULL); g_free(ds); #else g_object_set(renderer, "text", buffer, NULL); #endif } else g_object_set(renderer, "text", "????", NULL); } /* ** info cell function */ static void list_txn_info_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Transaction *ope; gtk_tree_model_get(model, iter, MODEL_TXN_POINTER, &ope, -1); switch(GPOINTER_TO_INT(user_data)) { case 1: if(ope->flags & OF_INTXFER) g_object_set(renderer, "icon-name", ICONNAME_HB_PM_INTXFER, NULL); else g_object_set(renderer, "icon-name", get_paymode_icon_name(ope->paymode), NULL); break; case 2: list_txn_eval_future(renderer, ope); g_object_set(renderer, "text", ope->info, NULL); break; } } static void list_txn_payeexfer_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Transaction *ope; gchar *direction = ""; gtk_tree_model_get(model, iter, MODEL_TXN_POINTER, &ope, -1); list_txn_eval_future(renderer, ope); if(ope->flags & OF_INTXFER) { direction = ( ope->flags & OF_INCOME ) ? "<" : ">"; } g_object_set(renderer, "text", direction, NULL); } /* ** payee cell function */ static void list_txn_payee_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Transaction *ope; gtk_tree_model_get(model, iter, MODEL_TXN_POINTER, &ope, -1); list_txn_eval_future(renderer, ope); //#926782 if(ope->flags & OF_INTXFER) { Account *acc = da_acc_get(ope->kxferacc); g_object_set(renderer, "text", (acc != NULL) ? acc->name : "", NULL); } else { Payee *pay = da_pay_get(ope->kpay); g_object_set(renderer, "text", pay != NULL ? pay->name : "", NULL); } } /* ** tags cell function */ static void list_txn_tags_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Transaction *ope; gchar *str; gtk_tree_model_get(model, iter, MODEL_TXN_POINTER, &ope, -1); list_txn_eval_future(renderer, ope); if(ope->tags != NULL) { str = tags_tostring(ope->tags); g_object_set(renderer, "text", str, NULL); g_free(str); } else g_object_set(renderer, "text", "", NULL); } /* ** memo cell function */ static void list_txn_memo_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Transaction *ope; gtk_tree_model_get(model, iter, MODEL_TXN_POINTER, &ope, -1); list_txn_eval_future(renderer, ope); g_object_set(renderer, "text", ope->memo, NULL); } static void list_txn_account_icon_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Transaction *ope; Account *acc; gchar *iconname = NULL; gtk_tree_model_get(model, iter, MODEL_TXN_POINTER, &ope, -1); acc = da_acc_get(ope->kacc); if( acc && (acc->flags & AF_CLOSED) ) { iconname = ICONNAME_CHANGES_PREVENT; } g_object_set(renderer, "icon-name", iconname, NULL); } /* ** clr cell function */ static void list_txn_clr_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Transaction *ope; gchar *iconname = NULL; //const gchar *c = ""; gtk_tree_model_get(model, iter, MODEL_TXN_POINTER, &ope, -1); switch(ope->status) { /*case TXN_STATUS_CLEARED: c = "c"; break; case TXN_STATUS_RECONCILED: c = "R"; break; case TXN_STATUS_REMIND: c = "!"; break;*/ case TXN_STATUS_CLEARED: iconname = ICONNAME_HB_OPE_CLEARED; break; case TXN_STATUS_RECONCILED: iconname = ICONNAME_HB_OPE_RECONCILED; break; case TXN_STATUS_REMIND: iconname = ICONNAME_HB_OPE_REMIND; break; case TXN_STATUS_VOID: iconname = ICONNAME_HB_OPE_VOID; break; } //g_object_set(renderer, "text", c, NULL); g_object_set(renderer, "icon-name", iconname, NULL); } /* ** amount cell function */ static void list_txn_amount_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { struct list_txn_data *data = NULL; GtkWidget *widget; Transaction *ope; gint column = GPOINTER_TO_INT(user_data); gchar buf[G_ASCII_DTOSTR_BUF_SIZE]; gint type; gdouble amount, samount; gchar *color; widget = gtk_tree_view_column_get_tree_view(col); if( widget ) data = g_object_get_data(G_OBJECT(widget), "inst_data"); // get the transaction gtk_tree_model_get(model, iter, MODEL_TXN_POINTER, &ope, MODEL_TXN_SPLITAMT, &samount, -1); list_txn_eval_future(renderer, ope); if(column == LST_DSPOPE_BALANCE) amount = ope->balance; else amount = ope->amount; //for detail display the split part (if any) if( data && (data->list_type == LIST_TXN_TYPE_DETAIL) ) amount = samount; if(column == LST_DSPOPE_INCOME || column == LST_DSPOPE_EXPENSE) { type = (ope->flags & OF_INCOME) ? LST_DSPOPE_INCOME : LST_DSPOPE_EXPENSE; if( type != column) { g_object_set(renderer, "markup", NULL, NULL); return; } } //if(amount != 0) //{ hb_strfmon(buf, G_ASCII_DTOSTR_BUF_SIZE-1, amount, ope->kcur, GLOBALS->minor); color = get_normal_color_amount(amount); //if( (column == LST_DSPOPE_BALANCE) && (ope->overdraft == TRUE) && (PREFS->custom_colors == TRUE) ) if( (column == LST_DSPOPE_BALANCE) && (PREFS->custom_colors == TRUE) && (ope->dspflags & TXN_DSPFLG_OVER) ) { color = PREFS->color_warn; } g_object_set(renderer, "foreground", color, "text", buf, NULL); //} //test if( (column == LST_DSPOPE_BALANCE) && (ope->dspflags & TXN_DSPFLG_LOWBAL)) g_object_set(renderer, "weight", PANGO_WEIGHT_BOLD, NULL); else g_object_set(renderer, "weight", PANGO_WEIGHT_NORMAL, NULL); } /* ** category cell function */ static void list_txn_category_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { struct list_txn_data *data = NULL; GtkWidget *widget; Transaction *ope; Category *cat; gchar *color, *text; widget = gtk_tree_view_column_get_tree_view(col); if( widget ) data = g_object_get_data(G_OBJECT(widget), "inst_data"); gtk_tree_model_get(model, iter, MODEL_TXN_POINTER, &ope, -1); list_txn_eval_future(renderer, ope); color = NULL; text = ""; if(ope->flags & OF_SPLIT) { text = _("- split -"); } else { if( ope->kcat > 0 ) { cat = da_cat_get(ope->kcat); text = (cat != NULL) ? cat->fullname : ""; } else { //#1673902 add a visual marker for uncategorized txn //#1844881 but not for internal xfer if( (data->warnnocategory == TRUE) && !(ope->flags & OF_INTXFER) ) { color = PREFS->color_warn; text = _("- this needs a category -"); } } } g_object_set(renderer, "foreground", color, "text", text, NULL); } /* = = = = = = = = = = = = = = = = */ //#1847907 v 5.3.2 add reconcile as c column like in pdf export GString *list_txn_to_string(GtkTreeView *treeview, gboolean clipboard) { struct list_txn_data *data = NULL; GtkTreeModel *model; GtkTreeIter iter; gboolean valid; GString *node; const gchar *format; Transaction *ope; gchar datebuf[16]; gchar *payeename, *categoryname; gdouble amount, samount; Payee *payee; Category *category; gchar *tags; char amountbuf[G_ASCII_DTOSTR_BUF_SIZE]; data = g_object_get_data(G_OBJECT(treeview), "inst_data"); node = g_string_new(NULL); if(clipboard) { g_string_append (node, "date\tpaymode\tinfo\tpayee\tmemo\tamount\tc\tcategory\ttags\n"); format = "%s\t%d\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n"; } else { g_string_append (node, "date;paymode;info;payee;memo;amount;c;category;tags\n"); format = "%s;%d;%s;%s;%s;%s;%s;%s;%s\n"; } model = gtk_tree_view_get_model(treeview); valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { gtk_tree_model_get (model, &iter, MODEL_TXN_POINTER, &ope, MODEL_TXN_SPLITAMT, &samount, -1); hb_sprint_date(datebuf, ope->date); payee = da_pay_get(ope->kpay); payeename = (payee->name == NULL) ? "" : payee->name; category = da_cat_get(ope->kcat); categoryname = (category->name == NULL) ? NULL : category->fullname; tags = tags_tostring(ope->tags); amount = ope->amount; //for detail display the split part (if any) if( data && (data->list_type == LIST_TXN_TYPE_DETAIL) ) amount = samount; //#793719 //g_ascii_dtostr (amountbuf, sizeof (amountbuf), ope->amount); //#1750257 use locale numdigit //g_ascii_formatd (amountbuf, sizeof (amountbuf), "%.2f", ope->amount); //TODO: we should use the currency fmt here g_snprintf(amountbuf, sizeof (amountbuf), "%.2f", amount); DB( g_print("amount = %f '%s'\n", amount, amountbuf) ); g_string_append_printf(node, format, datebuf, ope->paymode, ope->info != NULL ? ope->info : "", payeename, ope->memo != NULL ? ope->memo : "", amountbuf, transaction_get_status_string(ope), categoryname != NULL ? categoryname : "", tags != NULL ? tags : "" ); //leak g_free(tags); valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } //DB( g_print("text is:\n%s", node->str) ); return node; } gboolean list_txn_column_id_isvisible(GtkTreeView *treeview, gint sort_id) { GtkTreeViewColumn *column; gint n, id; for(n=0; n < NUM_LST_DSPOPE-1 ; n++ ) // -1 cause account not to be processed { column = gtk_tree_view_get_column (treeview, n); if(column == NULL) continue; if( gtk_tree_view_column_get_visible(column) ) { id = gtk_tree_view_column_get_sort_column_id (column); if( sort_id == id ) return TRUE; } } return FALSE; } static GtkTreeViewColumn *list_txn_get_column(GList *list, gint search_id) { GtkTreeViewColumn *column = NULL; GList *tmp; gint id; tmp = g_list_first(list); while (tmp != NULL) { id = gtk_tree_view_column_get_sort_column_id(tmp->data); if( search_id == id ) { column = tmp->data; break; } tmp = g_list_next(tmp); } return column; } guint list_txn_get_quicksearch_column_mask(GtkTreeView *treeview) { GtkTreeViewColumn *column; guint n, mask; gint id; mask = 0; for(n=0; n < NUM_LST_DSPOPE-1 ; n++ ) // -1 cause account not to be processed { column = gtk_tree_view_get_column (treeview, n); if(column == NULL) continue; if( gtk_tree_view_column_get_visible(column) ) { id = gtk_tree_view_column_get_sort_column_id (column); switch(id) { case LST_DSPOPE_MEMO: mask |= FLT_QSEARCH_MEMO; break; case LST_DSPOPE_INFO: mask |= FLT_QSEARCH_INFO; break; case LST_DSPOPE_PAYEE: mask |= FLT_QSEARCH_PAYEE; break; case LST_DSPOPE_CATEGORY: mask |= FLT_QSEARCH_CATEGORY; break; case LST_DSPOPE_TAGS: mask |= FLT_QSEARCH_TAGS; break; case LST_DSPOPE_AMOUNT: case LST_DSPOPE_EXPENSE: case LST_DSPOPE_INCOME: mask |= FLT_QSEARCH_AMOUNT; break; } } } return mask; } void list_txn_set_save_column_width(GtkTreeView *treeview, gboolean save_column_width) { struct list_txn_data *data; data = g_object_get_data(G_OBJECT(treeview), "inst_data"); if( data ) { data->save_column_width = save_column_width; } } void list_txn_set_warn_nocategory(GtkTreeView *treeview, gboolean warn) { struct list_txn_data *data; data = g_object_get_data(G_OBJECT(treeview), "inst_data"); data->warnnocategory = warn; } void list_txn_set_column_acc_visible(GtkTreeView *treeview, gboolean visible) { struct list_txn_data *data; GList *list; GtkTreeViewColumn *column; data = g_object_get_data(G_OBJECT(treeview), "inst_data"); data->showall = visible; list = gtk_tree_view_get_columns( treeview ); //if acc visible: balance must be invisible column = list_txn_get_column(list, LST_DSPOPE_ACCOUNT); if(column) gtk_tree_view_column_set_visible (column, visible); column = list_txn_get_column(list, LST_DSPOPE_BALANCE); if(column) gtk_tree_view_column_set_visible (column, !visible); g_list_free(list); } void list_txn_sort_force(GtkTreeSortable *sortable, gpointer user_data) { gint sort_column_id; GtkSortType order; DB( g_print("list_txn_sort_force\n") ); gtk_tree_sortable_get_sort_column_id(sortable, &sort_column_id, &order); DB( g_print(" - id %d order %d\n", sort_column_id, order) ); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(sortable), GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID, order); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(sortable), sort_column_id, order); } static void list_txn_get_columns(GtkTreeView *treeview) { struct list_txn_data *data; GtkTreeViewColumn *column; gint i, col_id; DB( g_print("\n[list_txn] get columns position/width\n") ); data = g_object_get_data(G_OBJECT(treeview), "inst_data"); DB( g_print(" nbcol=%d, nbsortid=%d\n", NUM_LST_DSPOPE, gtk_tree_view_get_n_columns (treeview)) ); for(i=0 ; i < NUM_LST_DSPOPE-1 ; i++ ) // -1 'caus: account and blank column { column = gtk_tree_view_get_column(treeview, i); if(column != NULL) { col_id = gtk_tree_view_column_get_sort_column_id (column); if( col_id >= 0 ) { gboolean visible; visible = gtk_tree_view_column_get_visible (column); if( col_id == LST_DSPOPE_BALANCE) //keep initial state of balance visible = data->tvc_is_visible; if( visible ) { PREFS->lst_ope_columns[i] = col_id; //5.2 moved here to keep old width in case not visible PREFS->lst_ope_col_width[col_id-1] = gtk_tree_view_column_get_width(column); } else PREFS->lst_ope_columns[i] = -col_id; DB( g_print(" col-%2d => %2d '%s' w=%d\n", i, col_id, gtk_tree_view_column_get_title(column), PREFS->lst_ope_col_width[col_id-1] ) ); } else //should not occurs PREFS->lst_ope_columns[i] = 0; } } } static void list_txn_set_columns(GtkTreeView *treeview, gint *col_id) { struct list_txn_data *data; GtkTreeViewColumn *column, *base; gboolean visible; GList *list; gint i = 0; gint id; DB( g_print("\n[list_txn] set columns order/width\n") ); data = g_object_get_data(G_OBJECT(treeview), "inst_data"); #if MYDEBUG == 1 DB( g_print("\n debug column sortid\n") ); for(i=0; i < NUM_LST_DSPOPE-1 ; i++ ) // -1 cause account not to be processed { DB( g_print(" - pos:%2d sortid:%2d\n", i, col_id[i]) ); } #endif DB( g_print("\n apply column prefs\n") ); list = gtk_tree_view_get_columns( treeview ); base = NULL; for(i=0; i < NUM_LST_DSPOPE-1 ; i++ ) // -1 cause account not to be processed { /* hidden are stored as col_id negative */ id = ABS(col_id[i]); column = list_txn_get_column(list, id); //DB( g_print(" - get column %d %p\n", id, column) ); if( column != NULL ) { DB( g_print(" - pos:%2d sortid:%2d (%s)\n", i, col_id[i], gtk_tree_view_column_get_title(column)) ); gtk_tree_view_move_column_after(treeview, column, base); base = column; visible = col_id[i] < 0 ? FALSE : TRUE; /* display exception for detail/import list */ if(data->list_type != LIST_TXN_TYPE_BOOK) { if( id == LST_DSPOPE_AMOUNT ) visible = TRUE; if( id == LST_DSPOPE_STATUS || id == LST_DSPOPE_EXPENSE || id == LST_DSPOPE_INCOME ) visible = FALSE; } gtk_tree_view_column_set_visible (column, visible); if( id == LST_DSPOPE_BALANCE ) { data->tvc_is_visible = visible; } if( id == LST_DSPOPE_INFO || id == LST_DSPOPE_PAYEE || id == LST_DSPOPE_MEMO || id == LST_DSPOPE_CATEGORY || id == LST_DSPOPE_TAGS || id == LST_DSPOPE_ACCOUNT ) { gtk_tree_view_column_set_fixed_width( column, PREFS->lst_ope_col_width[id - 1]); } } } g_list_free(list ); } static void list_txn_sort_column_changed(GtkTreeSortable *sortable, gpointer user_data) { struct list_txn_data *data = user_data; gint id; GtkSortType order; gboolean showBalance; gtk_tree_sortable_get_sort_column_id(sortable, &id, &order); DB( g_print("list_txn_columns_changed %d %d\n", id, order) ); //here save the transaction list columnid and sort order PREFS->lst_ope_sort_id = id; PREFS->lst_ope_sort_order = order; //manage visibility of balance column //showBalance = (id == LST_DSPOPE_DATE && order == GTK_SORT_ASCENDING) ? data->tvc_is_visible : FALSE; showBalance = (id == LST_DSPOPE_DATE) ? data->tvc_is_visible : FALSE; if(data->showall == TRUE) showBalance = FALSE; gtk_tree_view_column_set_visible (data->tvc_balance, showBalance); } static void list_txn_column_popup_menuitem_on_activate (GtkCheckMenuItem *checkmenuitem, gpointer user_data) { GtkTreeViewColumn *column = user_data; DB( g_print("toggled\n") ); gtk_tree_view_column_set_visible(column, gtk_check_menu_item_get_active(checkmenuitem) ); } static gboolean list_txn_column_popup_callback ( GtkWidget *button, GdkEventButton *ev, gpointer user_data ) { struct list_txn_data *data = user_data; GtkWidget *menu, *menuitem; GtkTreeViewColumn *column; gint i, col_id; if( ev->button == 3 ) { DB( g_print("should popup\n") ); menu = gtk_menu_new (); //note: deactive this disable any menuitem action g_signal_connect (menu, "selection-done", G_CALLBACK (gtk_widget_destroy), NULL); for(i=0 ; i < NUM_LST_DSPOPE-1 ; i++ ) // -1 'caus: account and blank column { column = gtk_tree_view_get_column(GTK_TREE_VIEW(data->treeview), i); if( column != NULL ) { col_id = gtk_tree_view_column_get_sort_column_id (column); if( (col_id == -1) || (col_id == LST_DSPOPE_STATUS) || (col_id == LST_DSPOPE_ACCOUNT) || (col_id == LST_DSPOPE_DATE) || (col_id == LST_DSPOPE_BALANCE) ) continue; //if( (data->tvc_is_visible == FALSE) && (col_id == LST_DSPOPE_BALANCE) ) // continue; if( (data->list_type == LIST_TXN_TYPE_DETAIL) && ( (col_id == LST_DSPOPE_AMOUNT) || (col_id == LST_DSPOPE_EXPENSE) || (col_id == LST_DSPOPE_INCOME) ) ) continue; menuitem = gtk_check_menu_item_new_with_label ( gtk_tree_view_column_get_title (column) ); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), gtk_tree_view_column_get_visible (column) ); gtk_widget_show (menuitem); g_signal_connect (menuitem, "activate", G_CALLBACK (list_txn_column_popup_menuitem_on_activate), column); } } gtk_menu_attach_to_widget (GTK_MENU (menu), button, NULL); #if( (GTK_MAJOR_VERSION == 3) && (GTK_MINOR_VERSION >= 22) ) gtk_menu_popup_at_pointer(GTK_MENU (menu), NULL); #else gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, ev->button, ev->time); #endif } return FALSE; } static GtkTreeViewColumn * list_txn_column_amount_create(gint list_type, gchar *title, gint sortcolumnid, GtkTreeCellDataFunc func) { GtkTreeViewColumn *column; GtkCellRenderer *renderer; renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 1.0, NULL); column = gtk_tree_view_column_new_with_attributes(title, renderer, NULL); gtk_tree_view_column_set_alignment (column, 0.5); //gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_column_set_sort_column_id (column, sortcolumnid); if(list_type == LIST_TXN_TYPE_BOOK) { gtk_tree_view_column_set_reorderable(column, TRUE); } gtk_tree_view_column_set_cell_data_func(column, renderer, func, GINT_TO_POINTER(sortcolumnid), NULL); return column; } static GtkTreeViewColumn * list_txn_column_text_create(gint list_type, gchar *title, gint sortcolumnid, GtkTreeCellDataFunc func, gpointer user_data) { GtkTreeViewColumn *column; GtkCellRenderer *renderer; column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, title); //5.3 add > < for internal xfer if( sortcolumnid == LST_DSPOPE_PAYEE ) { renderer = gtk_cell_renderer_text_new (); gtk_tree_view_column_pack_start(column, renderer, FALSE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_txn_payeexfer_cell_data_function, NULL, NULL); } //#1861337 add icon for closed account if( sortcolumnid == LST_DSPOPE_ACCOUNT ) { renderer = gtk_cell_renderer_pixbuf_new (); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_txn_account_icon_cell_data_function, NULL, NULL); } renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "ellipsize", PANGO_ELLIPSIZE_END, "ellipsize-set", TRUE, //taken from nemo, not exactly a resize to content, but good compromise "width-chars", 40, NULL); gtk_tree_view_column_pack_start(column, renderer, FALSE); gtk_tree_view_column_set_cell_data_func(column, renderer, func, user_data, NULL); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_column_set_sort_column_id (column, sortcolumnid); if(list_type == LIST_TXN_TYPE_BOOK) { gtk_tree_view_column_set_reorderable(column, TRUE); gtk_tree_view_column_set_min_width (column, HB_MINWIDTH_COLUMN); gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_FIXED); } return column; } static GtkTreeViewColumn * list_txn_column_info_create(gint list_type) { GtkTreeViewColumn *column; GtkCellRenderer *renderer; column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Info")); renderer = gtk_cell_renderer_pixbuf_new (); gtk_tree_view_column_pack_start(column, renderer, FALSE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_txn_info_cell_data_function, GINT_TO_POINTER(1), NULL); renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "ellipsize", PANGO_ELLIPSIZE_END, "ellipsize-set", TRUE, //taken from nemo, not exactly a resize to content, but good compromise "width-chars", 40, NULL); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_txn_info_cell_data_function, GINT_TO_POINTER(2), NULL); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_column_set_sort_column_id (column, LST_DSPOPE_INFO); if(list_type == LIST_TXN_TYPE_BOOK) { gtk_tree_view_column_set_reorderable(column, TRUE); gtk_tree_view_column_set_min_width (column, HB_MINWIDTH_COLUMN); gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_FIXED); } return column; } static void list_txn_destroy( GtkWidget *widget, gpointer user_data ) { struct list_txn_data *data; data = g_object_get_data(G_OBJECT(widget), "inst_data"); DB( g_print ("\n[list_transaction] destroy event occurred\n") ); if( data->save_column_width ) { list_txn_get_columns(GTK_TREE_VIEW(data->treeview)); } DB( g_print(" - view=%p, inst_data=%p\n", widget, data) ); g_free(data); } Transaction *list_txn_get_surround_transaction(GtkTreeView *treeview, Transaction **prev, Transaction **next) { GtkTreeModel *model; GtkTreeIter iter; GtkTreeIter *previter, *nextiter; GList *list; Transaction *ope; ope = NULL; model = gtk_tree_view_get_model(treeview); list = gtk_tree_selection_get_selected_rows(gtk_tree_view_get_selection(treeview), &model); if(list != NULL) { gtk_tree_model_get_iter(model, &iter, list->data); gtk_tree_model_get(model, &iter, MODEL_TXN_POINTER, &ope, -1); if(prev != NULL) { previter = gtk_tree_iter_copy(&iter); if( gtk_tree_model_iter_previous(model, previter) ) { gtk_tree_model_get(model, previter, MODEL_TXN_POINTER, prev, -1); } gtk_tree_iter_free(previter); } if(next != NULL) { nextiter = gtk_tree_iter_copy(&iter); if( gtk_tree_model_iter_next(model, nextiter) ) { gtk_tree_model_get(model, nextiter, MODEL_TXN_POINTER, next, -1); } gtk_tree_iter_free(nextiter); } } g_list_foreach(list, (GFunc)gtk_tree_path_free, NULL); g_list_free(list); return ope; } Transaction *list_txn_get_active_transaction(GtkTreeView *treeview) { GtkTreeModel *model; GList *list; Transaction *ope; ope = NULL; model = gtk_tree_view_get_model(treeview); list = gtk_tree_selection_get_selected_rows(gtk_tree_view_get_selection(treeview), &model); if(list != NULL) { GtkTreeIter iter; gtk_tree_model_get_iter(model, &iter, list->data); gtk_tree_model_get(model, &iter, MODEL_TXN_POINTER, &ope, -1); } g_list_foreach(list, (GFunc)gtk_tree_path_free, NULL); g_list_free(list); return ope; } /* ** create our transaction list ** Status, Date, Info, Payee, Memo, (Amount), Expense, Income, Category */ GtkWidget *create_list_transaction(gint list_type, gboolean *pref_columns) { struct list_txn_data *data; GtkListStore *store; GtkWidget *treeview; GtkCellRenderer *renderer; GtkTreeViewColumn *column, *col_acc = NULL, *col_status = NULL; data = g_malloc0(sizeof(struct list_txn_data)); if(!data) return NULL; data->list_type = list_type; data->warnnocategory = FALSE; data->save_column_width = FALSE; /* create list store */ store = gtk_list_store_new( 2, G_TYPE_POINTER, // MODEL_TXN_POINTER G_TYPE_DOUBLE // MODEL_TXN_SPLITAMT amount part of split for detail only ); //treeview treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); data->treeview = treeview; g_object_unref(store); //store our window private data g_object_set_data(G_OBJECT(treeview), "inst_data", (gpointer)data); DB( g_print(" - treeview=%p, inst_data=%p\n", treeview, data) ); // connect our dispose function g_signal_connect (treeview, "destroy", G_CALLBACK (list_txn_destroy), (gpointer)data); gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (treeview), PREFS->grid_lines); //gtk_tree_view_set_search_column (GTK_TREE_VIEW (treeview), // COLUMN_DESCRIPTION); if(list_type == LIST_TXN_TYPE_BOOK) gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)), GTK_SELECTION_MULTIPLE); /* column 1: Changes */ column = gtk_tree_view_column_new(); //gtk_tree_view_column_set_title(column, _("Status")); col_status = column; renderer = gtk_cell_renderer_pixbuf_new (); //gtk_cell_renderer_set_fixed_size(renderer, GLOBALS->lst_pixbuf_maxwidth, -1); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_txn_status_cell_data_function, GINT_TO_POINTER(1), NULL); renderer = gtk_cell_renderer_pixbuf_new (); //gtk_cell_renderer_set_fixed_size(renderer, GLOBALS->lst_pixbuf_maxwidth, -1); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_txn_status_cell_data_function, GINT_TO_POINTER(2), NULL); renderer = gtk_cell_renderer_pixbuf_new (); //gtk_cell_renderer_set_fixed_size(renderer, GLOBALS->lst_pixbuf_maxwidth, -1); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_txn_status_cell_data_function, GINT_TO_POINTER(3), NULL); gtk_tree_view_column_set_sort_column_id (column, LST_DSPOPE_STATUS); //gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); //5.2 we always create the column and set it not visible column = list_txn_column_text_create(list_type, _("Account"), LST_DSPOPE_ACCOUNT, list_txn_account_cell_data_function, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); col_acc = column; // add column popup g_signal_connect ( G_OBJECT (gtk_tree_view_column_get_button (column)), "button-press-event", G_CALLBACK ( list_txn_column_popup_callback ), data ); /* column 2: Date */ column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Date")); renderer = gtk_cell_renderer_text_new (); gtk_tree_view_column_pack_start(column, renderer, TRUE); g_object_set(renderer, "xalign", 1.0, NULL); gtk_tree_view_column_set_cell_data_func(column, renderer, list_txn_date_cell_data_function, NULL, NULL); gtk_tree_view_column_set_sort_column_id (column, LST_DSPOPE_DATE); //gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // add column popup g_signal_connect ( G_OBJECT (gtk_tree_view_column_get_button (column)), "button-press-event", G_CALLBACK ( list_txn_column_popup_callback ), data ); column = list_txn_column_info_create(list_type); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // add column popup g_signal_connect ( G_OBJECT (gtk_tree_view_column_get_button (column)), "button-press-event", G_CALLBACK ( list_txn_column_popup_callback ), data ); column = list_txn_column_text_create(list_type, _("Payee"), LST_DSPOPE_PAYEE, list_txn_payee_cell_data_function, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // add column popup g_signal_connect ( G_OBJECT (gtk_tree_view_column_get_button (column)), "button-press-event", G_CALLBACK ( list_txn_column_popup_callback ), data ); column = list_txn_column_text_create(list_type, _("Memo"), LST_DSPOPE_MEMO, list_txn_memo_cell_data_function, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // add column popup g_signal_connect ( G_OBJECT (gtk_tree_view_column_get_button (column)), "button-press-event", G_CALLBACK ( list_txn_column_popup_callback ), data ); /* column status CLR */ column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Status")); //renderer = gtk_cell_renderer_text_new (); renderer = gtk_cell_renderer_pixbuf_new(); gtk_tree_view_column_pack_start(column, renderer, TRUE); g_object_set(renderer, "xalign", 1.0, NULL); gtk_tree_view_column_set_cell_data_func(column, renderer, list_txn_clr_cell_data_function, NULL, NULL); gtk_tree_view_column_set_reorderable(column, TRUE); gtk_tree_view_column_set_sort_column_id (column, LST_DSPOPE_CLR); //gtk_tree_view_column_set_sort_indicator (column, FALSE); //gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // add column popup g_signal_connect ( G_OBJECT (gtk_tree_view_column_get_button (column)), "button-press-event", G_CALLBACK ( list_txn_column_popup_callback ), data ); column = list_txn_column_amount_create(list_type, _("Amount"), LST_DSPOPE_AMOUNT, list_txn_amount_cell_data_function); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // add column popup g_signal_connect ( G_OBJECT (gtk_tree_view_column_get_button (column)), "button-press-event", G_CALLBACK ( list_txn_column_popup_callback ), data ); column = list_txn_column_amount_create(list_type, _("Expense"), LST_DSPOPE_EXPENSE, list_txn_amount_cell_data_function); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // add column popup g_signal_connect ( G_OBJECT (gtk_tree_view_column_get_button (column)), "button-press-event", G_CALLBACK ( list_txn_column_popup_callback ), data ); column = list_txn_column_amount_create(list_type, _("Income"), LST_DSPOPE_INCOME, list_txn_amount_cell_data_function); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // add column popup g_signal_connect ( G_OBJECT (gtk_tree_view_column_get_button (column)), "button-press-event", G_CALLBACK ( list_txn_column_popup_callback ), data ); column = list_txn_column_text_create(list_type, _("Category"), LST_DSPOPE_CATEGORY, list_txn_category_cell_data_function, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // add column popup g_signal_connect ( G_OBJECT (gtk_tree_view_column_get_button (column)), "button-press-event", G_CALLBACK ( list_txn_column_popup_callback ), data ); column = list_txn_column_text_create(list_type, _("Tags"), LST_DSPOPE_TAGS, list_txn_tags_cell_data_function, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // add column popup g_signal_connect ( G_OBJECT (gtk_tree_view_column_get_button (column)), "button-press-event", G_CALLBACK ( list_txn_column_popup_callback ), data ); if(list_type == LIST_TXN_TYPE_BOOK) { column = list_txn_column_amount_create(list_type, _("Balance"), LST_DSPOPE_BALANCE, list_txn_amount_cell_data_function); data->tvc_balance = column; gtk_tree_view_column_set_clickable(column, FALSE); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // add column popup g_signal_connect ( G_OBJECT (gtk_tree_view_column_get_button (column)), "button-press-event", G_CALLBACK ( list_txn_column_popup_callback ), data ); } /* column 9: empty */ column = gtk_tree_view_column_new(); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); /* sort */ gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DSPOPE_STATUS , list_txn_sort_iter_compare_func, GINT_TO_POINTER(LST_DSPOPE_STATUS), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DSPOPE_DATE , list_txn_sort_iter_compare_func, GINT_TO_POINTER(LST_DSPOPE_DATE), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DSPOPE_INFO , list_txn_sort_iter_compare_func, GINT_TO_POINTER(LST_DSPOPE_INFO), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DSPOPE_PAYEE , list_txn_sort_iter_compare_func, GINT_TO_POINTER(LST_DSPOPE_PAYEE), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DSPOPE_MEMO , list_txn_sort_iter_compare_func, GINT_TO_POINTER(LST_DSPOPE_MEMO), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DSPOPE_AMOUNT , list_txn_sort_iter_compare_func, GINT_TO_POINTER(LST_DSPOPE_AMOUNT), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DSPOPE_EXPENSE , list_txn_sort_iter_compare_func, GINT_TO_POINTER(LST_DSPOPE_EXPENSE), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DSPOPE_INCOME , list_txn_sort_iter_compare_func, GINT_TO_POINTER(LST_DSPOPE_INCOME), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DSPOPE_CATEGORY, list_txn_sort_iter_compare_func, GINT_TO_POINTER(LST_DSPOPE_CATEGORY), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DSPOPE_TAGS , list_txn_sort_iter_compare_func, GINT_TO_POINTER(LST_DSPOPE_TAGS), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DSPOPE_CLR , list_txn_sort_iter_compare_func, GINT_TO_POINTER(LST_DSPOPE_CLR), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DSPOPE_ACCOUNT , list_txn_sort_iter_compare_func, GINT_TO_POINTER(LST_DSPOPE_ACCOUNT), NULL); /* apply user preference for columns */ list_txn_set_columns(GTK_TREE_VIEW(treeview), pref_columns); /* force account column for detail treeview */ gtk_tree_view_move_column_after(GTK_TREE_VIEW(treeview), col_acc, col_status); /* by default book don't display acc column, except shoall */ //#1821850 detail account column visible gboolean visible = (list_type == LIST_TXN_TYPE_BOOK) ? FALSE: TRUE; gtk_tree_view_column_set_visible (col_acc, visible); /* set initial sort order */ DB( g_print("set sort to %d %d\n", PREFS->lst_ope_sort_id, PREFS->lst_ope_sort_order) ); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), PREFS->lst_ope_sort_id, PREFS->lst_ope_sort_order); /* signals */ if(list_type == LIST_TXN_TYPE_BOOK) g_signal_connect (GTK_TREE_SORTABLE(store), "sort-column-changed", G_CALLBACK (list_txn_sort_column_changed), data); return(treeview); } homebank-5.3.2/src/ui-widgets-data.c0000664000175000017500000001047213604720365014165 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" /* = = = = = = = = = = = = = = = = = = = = */ gchar *RA_ARC_TYPE[] = { N_("Scheduled"), N_("Template"), NULL }; gchar *CYA_ASG_FIELD[] = { N_("Memo"), N_("Payee"), NULL }; gchar *CYA_CAT_TYPE[] = { N_("Expense"), N_("Income"), NULL }; gchar *CYA_CATSUBCAT[] = { N_("Category"), N_("Subcategory"), NULL }; gchar *CYA_REPORT_MODE[] = { N_("Total"), N_("Time"), NULL }; gchar *RA_REPORT_TIME_MODE[] = { N_("Total"), N_("Trend"), N_("Balance"), NULL }; gchar *nainex_label_names[] = { // N_("Inactive"), N_("Off"), N_("Include"), N_("Exclude"), NULL }; /* = = = = = = = = = = = = = = = = = = = = */ HbKvData CYA_ACC_TYPE[] = { { ACC_TYPE_NONE, N_("(no type)") }, { ACC_TYPE_BANK, N_("Bank") }, { ACC_TYPE_CASH, N_("Cash") }, { ACC_TYPE_ASSET, N_("Asset") }, { ACC_TYPE_CREDITCARD, N_("Credit card") }, { ACC_TYPE_LIABILITY, N_("Liability") }, // { ACC_TYPE_CHECKING, N_("Checkings") }, // { ACC_TYPE_SAVINGS, N_("Savings") }, // { ACC_TYPE_MUTUALFUND, N_("Mutual Fund") }, // { ACC_TYPE_INCOME, N_("Income") }, // { ACC_TYPE_EXPENSE, N_("Expense") }, // { ACC_TYPE_EQUITY, N_("Equity") }, { 0, NULL } }; HbKvData CYA_FLT_RANGE[] = { { FLT_RANGE_THISMONTH, N_("This month") }, { FLT_RANGE_LASTMONTH, N_("Last month") }, { FLT_RANGE_THISQUARTER, N_("This quarter") }, { FLT_RANGE_LASTQUARTER, N_("Last quarter") }, { FLT_RANGE_THISYEAR, N_("This year") }, { FLT_RANGE_LASTYEAR, N_("Last year") }, { HBTK_IS_SEPARATOR, "" }, { FLT_RANGE_LAST30DAYS, N_("Last 30 days") }, { FLT_RANGE_LAST60DAYS, N_("Last 60 days") }, { FLT_RANGE_LAST90DAYS, N_("Last 90 days") }, { FLT_RANGE_LAST12MONTHS, N_("Last 12 months") }, { HBTK_IS_SEPARATOR, "" }, // { FLT_RANGE_OTHER, N_("Other...") }, { FLT_RANGE_OTHER, N_("custom") }, { HBTK_IS_SEPARATOR, "" }, { FLT_RANGE_ALLDATE, N_("All date") }, { 0, NULL } }; HbKvData CYA_TXN_STATUS[] = { { TXN_STATUS_NONE, N_("None") }, { TXN_STATUS_CLEARED, N_("Cleared") }, { TXN_STATUS_RECONCILED, N_("Reconciled") }, { TXN_STATUS_REMIND, N_("Remind") }, { TXN_STATUS_VOID, N_("Void") }, { 0, NULL } }; gchar *CYA_ARC_UNIT[] = { N_("Day"), N_("Week"), N_("Month"), N_("Year"), NULL }; gchar *RA_ARC_WEEKEND[] = { N_("Possible"), N_("Before"), N_("After"), NULL }; gchar *CYA_KIND[] = { N_("Exp. & Inc."), N_("Expense"), N_("Income"), NULL }; gchar *CYA_FLT_TYPE[] = { N_("Any Type"), "", N_("Expense"), N_("Income"), N_("Transfer"), NULL }; gchar *CYA_FLT_STATUS[] = { N_("Any Status"), "", N_("Cleared"), N_("Uncleared"), N_("Reconciled"), N_("Unreconciled"), "", N_("Uncategorized"), NULL }; /*gchar *OLD_CYA_FLT_RANGE[] = { N_("This month"), N_("Last month"), N_("This quarter"), N_("Last quarter"), N_("This year"), N_("Last year"), "", N_("Last 30 days"), N_("Last 60 days"), N_("Last 90 days"), N_("Last 12 months"), "", N_("Other..."), "", N_("All date"), NULL };*/ gchar *CYA_WEEKDAY[] = { "", N_("Mon"), N_("Tue"), N_("Wed"), N_("Thu"), N_("Fri"), N_("Sat"), N_("Sun"), }; /* = = = = = = = = = = = = = = = = = = = = */ //in prefs.c only gchar *CYA_MONTHS[] = { N_("January"), N_("February"), N_("March"), N_("April"), N_("May"), N_("June"), N_("July"), N_("August"), N_("September"), N_("October"), N_("November"), N_("December"), NULL }; //hb_report.c rep_time.c ui_budget gchar *CYA_ABMONTHS[] = { NULL, N_("Jan"), N_("Feb"), N_("Mar"), N_("Apr"), N_("May"), N_("Jun"), N_("Jul"), N_("Aug"), N_("Sep"), N_("Oct"), N_("Nov"), N_("Dec"), NULL }; homebank-5.3.2/src/hub-transaction.h0000664000175000017500000000215613604720371014300 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "dsp-mainwindow.h" #ifndef __HUB_TRANSACTION_H__ #define __HUB_TRANSACTION_H__ typedef enum { HUB_TXN_TYPE_NONE, HUB_TXN_TYPE_FUTURE, HUB_TXN_TYPE_REMIND } HbHubTxnType; void ui_hub_transaction_populate(struct hbfile_data *data); GtkWidget *ui_hub_transaction_create(struct hbfile_data *data, HbHubTxnType type); #endifhomebank-5.3.2/src/rep-stats.h0000644000175000017500000000457613604720371013127 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HOMEBANK_REPDIST_H__ #define __HOMEBANK_REPDIST_H__ enum { HID_REPDIST_MINDATE, HID_REPDIST_MAXDATE, HID_REPDIST_RANGE, HID_REPDIST_VIEW, MAX_REPDIST_HID }; enum { LST_REPDIST_POS, //keep for compatibility with chart LST_REPDIST_KEY, LST_REPDIST_NAME, LST_REPDIST_EXPENSE, LST_REPDIST_EXPRATE, LST_REPDIST_INCOME, LST_REPDIST_INCRATE, LST_REPDIST_BALANCE, LST_REPDIST_BALRATE, NUM_LST_REPDIST }; //test enum { LST_REPDIST2_POS, LST_REPDIST2_TYPE, LST_REPDIST2_ROW, LST_REPDIST2_LABEL, NUM_LST_REPDIST2 }; struct ui_repdist_data { DataTable *trend; GQueue *txn_queue; Filter *filter; gboolean detail; gboolean legend; gboolean rate; gdouble total_expense; gdouble total_income; GtkWidget *window; GtkUIManager *ui; GtkActionGroup *actions; GtkWidget *TB_bar; GtkWidget *BT_list; GtkWidget *BT_column; GtkWidget *BT_donut; GtkWidget *BT_detail; GtkWidget *BT_legend; GtkWidget *BT_rate; GtkWidget *BT_filter; GtkWidget *BT_refresh; GtkWidget *BT_export; GtkWidget *MI_detailtoclip; GtkWidget *MI_detailtocsv; GtkWidget *TX_info; GtkWidget *CM_minor; GtkWidget *RA_mode; GtkWidget *CY_src; GtkWidget *CY_type, *LB_type; GtkWidget *CY_intvl, *LB_intvl; GtkWidget *RG_zoomx, *LB_zoomx; GtkWidget *LV_report; GtkWidget *LV_report2; GtkWidget *CM_byamount; GtkWidget *PO_mindate, *PO_maxdate; GtkWidget *CY_range; GtkWidget *GR_result; GtkWidget *TX_daterange; GtkWidget *TX_total[3]; GtkWidget *RE_chart; GtkWidget *GR_detail; GtkWidget *LV_detail; gulong handler_id[MAX_REPDIST_HID]; }; GtkWidget *ui_repdist_window_new(void); #endif homebank-5.3.2/src/dsp-mainwindow.c0000644000175000017500000021270613610632053014130 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hub-account.h" #include "dsp-mainwindow.h" #include "list-account.h" #include "hub-scheduled.h" #include "hub-spending.h" #include "hub-transaction.h" #include "dsp-account.h" #include "ui-assist-import.h" #include "ui-assist-start.h" #include "ui-account.h" #include "ui-currency.h" #include "ui-payee.h" #include "ui-category.h" #include "ui-archive.h" #include "ui-assign.h" #include "ui-budget.h" #include "ui-budget-tabview.h" #include "ui-pref.h" #include "ui-hbfile.h" #include "ui-transaction.h" #include "ui-tag.h" #include "rep-balance.h" #include "rep-budget.h" #include "rep-stats.h" #include "rep-time.h" #include "rep-vehicle.h" #include "gtk-chart.h" //old url prior 2019 //#define HOMEBANK_URL_HELP "http://homebank.free.fr/help/" //#define HOMEBANK_URL_HELP_ONLINE "https://launchpad.net/homebank/+addquestion" //#define HOMEBANK_URL_HELP_PROBLEM "https://launchpad.net/homebank/+filebug" //#define HOMEBANK_URL_HELP_TRANSLATE "https://launchpad.net/homebank/+translations" #define HOMEBANK_URL_HELP "index.html" #define HOMEBANK_URL_HELP_ONLINE "http://homebank.free.fr/support.php" #define HOMEBANK_URL_HELP_DONATE "http://homebank.free.fr/donate.php" #define HOMEBANK_URL_HELP_UPDATES "http://homebank.free.fr/downloads.php" #define HOMEBANK_URL_HELP_PROBLEM "http://homebank.free.fr/development.php#bug" #define HOMEBANK_URL_HELP_TRANSLATE "http://homebank.free.fr/development.php#translate" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; /* our functions prototype */ void ui_mainwindow_open(GtkWidget *widget, gpointer user_data); void ui_mainwindow_save(GtkWidget *widget, gpointer user_data); void ui_mainwindow_revert(GtkWidget *widget, gpointer user_data); void ui_mainwindow_action(GtkWidget *widget, gpointer user_data); void ui_mainwindow_toggle_minor(GtkWidget *widget, gpointer user_data); void ui_mainwindow_clear(GtkWidget *widget, gpointer user_data); void ui_mainwindow_update(GtkWidget *widget, gpointer user_data); void ui_mainwindow_addtransactions(GtkWidget *widget, gpointer user_data); void ui_mainwindow_recent_add (struct hbfile_data *data, const gchar *path); void ui_mainwindow_recent_add (struct hbfile_data *data, const gchar *path); static void ui_mainwindow_action_toggle_minor(GtkCheckMenuItem *menuitem, gpointer user_data); /* TODO: a bouger */ /* ** */ void ui_mainwindow_revert(GtkWidget *widget, gpointer user_data) { //struct hbfile_data *data; gchar *basename; gchar *title; gchar *secondtext; gint result; DB( g_print("\n[ui-mainwindow] revert\n") ); //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); basename = g_path_get_basename(GLOBALS->xhb_filepath); title = g_strdup_printf ( _("Revert unsaved changes to file '%s'?"), basename); secondtext = _("- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)"); result = ui_dialog_msg_confirm_alert( GTK_WINDOW(GLOBALS->mainwindow), title, secondtext, _("_Revert") ); g_free(title); g_free(basename); if( result == GTK_RESPONSE_OK ) { DB( g_print(" - should revert\n") ); hbfile_change_filepath(hb_filename_new_with_extension(GLOBALS->xhb_filepath, "xhb~")); ui_mainwindow_open_internal(widget, NULL); hbfile_change_filepath(hb_filename_new_with_extension(GLOBALS->xhb_filepath, "xhb")); } } static void activate_url (GtkAboutDialog *about, const gchar *link, gpointer data) { DB( g_print("activate url %s\n", link) ); homebank_util_url_show (link); } static void hbfile_about(void) { GtkWidget *dialog; GdkPixbuf *pixbuf; gchar *pathfilename; gchar *version; static const gchar *artists[] = { "Maxime DOYEN", NULL }; static const gchar *authors[] = { "Lead developer:\n" \ "Maxime DOYEN", "\nContributor:\n" \ "Ga\xc3\xabtan LORIDANT (Maths formulas for charts)\n", NULL }; /* const gchar *documenters[] = { "Maxime DOYEN", NULL }; */ static const gchar *copyright = "Copyright \xc2\xa9 1995-2020 - Maxime DOYEN"; version = g_strdup_printf (PACKAGE_VERSION "\nRunning against GTK+ %d.%d.%d", gtk_get_major_version (), gtk_get_minor_version (), gtk_get_micro_version ()); dialog = gtk_about_dialog_new(); gtk_window_set_transient_for (GTK_WINDOW(dialog), GTK_WINDOW(GLOBALS->mainwindow)); gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); gtk_about_dialog_set_program_name (GTK_ABOUT_DIALOG(dialog), g_get_application_name ()); gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(dialog), version); gtk_about_dialog_set_copyright(GTK_ABOUT_DIALOG(dialog), copyright); gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(dialog), _("Free, easy, personal accounting for everyone")); gtk_about_dialog_set_license_type (GTK_ABOUT_DIALOG(dialog), GTK_LICENSE_GPL_2_0); //gtk_about_dialog_set_wrap_license(GTK_ABOUT_DIALOG(dialog), ); gtk_about_dialog_set_website(GTK_ABOUT_DIALOG(dialog), "http://homebank.free.fr"); gtk_about_dialog_set_website_label(GTK_ABOUT_DIALOG(dialog), "Visit the HomeBank website"); gtk_about_dialog_set_logo_icon_name(GTK_ABOUT_DIALOG(dialog), "homebank"); pathfilename = g_build_filename(homebank_app_get_images_dir(), "splash.png", NULL); pixbuf = gdk_pixbuf_new_from_file(pathfilename, NULL); g_free(pathfilename); if( pixbuf ) { gtk_about_dialog_set_logo(GTK_ABOUT_DIALOG(dialog), pixbuf); g_object_unref (pixbuf); } gtk_about_dialog_set_authors(GTK_ABOUT_DIALOG(dialog), authors); gtk_about_dialog_set_artists(GTK_ABOUT_DIALOG(dialog), artists); //gtk_about_dialog_set_documenters(GTK_ABOUT_DIALOG(dialog), ); //gtk_about_dialog_set_translator_credits(GTK_ABOUT_DIALOG(dialog), ); g_signal_connect (dialog, "activate-link", G_CALLBACK (activate_url), NULL); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); g_free(version); } /* hbfile action functions -------------------- */ static void ui_mainwindow_action_new(void) { GtkWidget *widget = GLOBALS->mainwindow; if( ui_dialog_msg_savechanges(widget,NULL) == TRUE ) { //clear all, and init GLOBALS->xhb_filepath to default ui_mainwindow_clear(widget, GINT_TO_POINTER(TRUE)); // GPOINTER_TO_INT( ui_mainwindow_update(widget, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE+UF_REFRESHALL)); ui_start_assistant(); } } static void ui_mainwindow_action_open(void) { ui_mainwindow_open(GLOBALS->mainwindow, GINT_TO_POINTER(FALSE)); } static void ui_mainwindow_action_openbak(void) { ui_mainwindow_open(GLOBALS->mainwindow, GINT_TO_POINTER(TRUE)); } static void ui_mainwindow_action_save(void) { ui_mainwindow_save(GLOBALS->mainwindow, GINT_TO_POINTER(FALSE)); } static void ui_mainwindow_action_saveas(void) { ui_mainwindow_save(GLOBALS->mainwindow, GINT_TO_POINTER(TRUE)); } static void ui_mainwindow_action_revert(void) { ui_mainwindow_revert(GLOBALS->mainwindow, NULL); } static void ui_mainwindow_action_close(void) { GtkWidget *widget = GLOBALS->mainwindow; if( ui_dialog_msg_savechanges(widget,NULL) == TRUE ) { //clear all, and init GLOBALS->xhb_filepath to default ui_mainwindow_clear(widget, GINT_TO_POINTER(TRUE)); ui_mainwindow_update(widget, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE+UF_BALANCE+UF_REFRESHALL)); } } static void ui_mainwindow_action_quit(void) { gboolean result; //emulate the wm close button g_signal_emit_by_name(GLOBALS->mainwindow, "delete-event", NULL, &result); } static void ui_mainwindow_action_file_statistics(void) { ui_dialog_file_statistics(); } static void ui_mainwindow_action_properties(void) { create_defhbfile_dialog(); ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE+UF_REFRESHALL)); } static void ui_mainwindow_action_anonymize(void) { gint result; gchar *title; gchar *secondtext; title = _("Are you sure you want to anonymize the file?"); secondtext = _("Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..."); result = ui_dialog_msg_confirm_alert( GTK_WINDOW(GLOBALS->mainwindow), title, secondtext, _("_Anonymize") ); //#1707201 //if( result == GTK_RESPONSE_CANCEL ) // return; if( result == GTK_RESPONSE_OK ) { hbfile_anonymize(); ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE+UF_REFRESHALL)); } } static void ui_mainwindow_action_defcurrency(void) { ui_cur_manage_dialog(); ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE+UF_REFRESHALL)); } static void ui_mainwindow_action_defaccount(void) { ui_acc_manage_dialog(); //our global list has changed, so update the treeview //todo: optimize this, should not call compute balance here account_compute_balances (); ui_hub_account_populate(GLOBALS->mainwindow, NULL); ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE+UF_BALANCE)); } static void ui_mainwindow_action_defpayee(void) { ui_pay_manage_dialog(); ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE)); } static void ui_mainwindow_action_defcategory(void) { ui_cat_manage_dialog(); //todo:why refresh upcoming here?? //ui_mainwindow_populate_upcoming(GLOBALS->mainwindow, NULL); ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE+UF_REFRESHALL)); } //TODO: not ideal to do this void ui_mainwindow_defarchive(Archive *arc) { struct hbfile_data *data; GtkTreeModel *model; data = g_object_get_data(G_OBJECT(GLOBALS->mainwindow), "inst_data"); // upcoming list have direct pointer to the arc (which may change during edit) model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_upc)); gtk_list_store_clear (GTK_LIST_STORE(model)); ui_arc_manage_dialog(arc); ui_hub_scheduled_populate(GLOBALS->mainwindow, NULL); ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE)); } static void ui_mainwindow_action_defarchive(void) { ui_mainwindow_defarchive(NULL); } static void ui_mainwindow_action_defbudget(void) { ui_bud_manage_dialog(); ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE)); } static void ui_mainwindow_action_defbudgettable(void) { ui_bud_tabview_manage_dialog(); ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE)); } static void ui_mainwindow_action_defassign(void) { ui_asg_manage_dialog(); ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE)); } static void ui_mainwindow_action_deftag(void) { ui_tag_manage_dialog(); //ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE)); } static void ui_mainwindow_action_preferences(void) { struct hbfile_data *data = g_object_get_data(G_OBJECT(GLOBALS->mainwindow), "inst_data"); defpref_dialog_new(); if(!PREFS->euro_active) { gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(data->MI_eurominor), FALSE); //gtk_toggle_action_set_active(action, FALSE); //ui_mainwindow_action_toggle_minor(GTK_CHECK_MENU_ITEM(data->MI_eurominor), NULL); } ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_VISUAL+UF_REFRESHALL)); } /* display action */ static void ui_mainwindow_action_toggle_toolbar(GtkCheckMenuItem *menuitem, gpointer user_data) { //struct hbfile_data *data = g_object_get_data(G_OBJECT(GLOBALS->mainwindow), "inst_data"); PREFS->wal_toolbar = gtk_check_menu_item_get_active(menuitem); ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_VISUAL)); } static void ui_mainwindow_action_toggle_upcoming(GtkCheckMenuItem *menuitem, gpointer user_data) { //struct hbfile_data *data = g_object_get_data(G_OBJECT(GLOBALS->mainwindow), "inst_data"); PREFS->wal_upcoming = gtk_check_menu_item_get_active(menuitem); ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_VISUAL)); } static void ui_mainwindow_action_toggle_topspending(GtkCheckMenuItem *menuitem, gpointer user_data) { //struct hbfile_data *data = g_object_get_data(G_OBJECT(GLOBALS->mainwindow), "inst_data"); PREFS->wal_spending = gtk_check_menu_item_get_active(menuitem); ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_VISUAL)); } static void ui_mainwindow_action_toggle_minor(GtkCheckMenuItem *menuitem, gpointer user_data) { struct hbfile_data *data = g_object_get_data(G_OBJECT(GLOBALS->mainwindow), "inst_data"); GLOBALS->minor = gtk_check_menu_item_get_active(menuitem); gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_acc)); gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_upc)); // top spending gtk_chart_show_minor(GTK_CHART(data->RE_pie), GLOBALS->minor); ui_hub_spending_update(data->window, data); } static void ui_mainwindow_action_showalltransactions(GtkMenuItem *menuitem, gpointer user_data) { GtkWidget *window; if( GLOBALS->alltxnwindow == NULL ) { window = register_panel_window_new(NULL); register_panel_window_init(window, NULL); } else { if(GTK_IS_WINDOW(GLOBALS->alltxnwindow)) gtk_window_present(GTK_WINDOW(GLOBALS->alltxnwindow)); } } static void ui_mainwindow_action_showtransactions(GtkMenuItem *menuitem, gpointer user_data) { struct hbfile_data *data = g_object_get_data(G_OBJECT(GLOBALS->mainwindow), "inst_data"); GtkWidget *window; //TODO: change this if( data->acc && data->acc->window == NULL ) { window = register_panel_window_new(data->acc); register_panel_window_init(window, NULL); } else { if(GTK_IS_WINDOW(data->acc->window)) gtk_window_present(GTK_WINDOW(data->acc->window)); } } static void ui_mainwindow_action_addtransactions(void) { ui_mainwindow_addtransactions(GLOBALS->mainwindow, NULL); } static void ui_mainwindow_action_checkscheduled(void) { ui_hub_scheduled_postall(GLOBALS->mainwindow, GINT_TO_POINTER(TRUE)); } static void ui_mainwindow_action_statistic(void) { ui_repdist_window_new(); } static void ui_mainwindow_action_trendtime(void) { struct hbfile_data *data = g_object_get_data(G_OBJECT(GLOBALS->mainwindow), "inst_data"); ui_reptime_window_new(data->acc != NULL ? data->acc->key : 0); } static void ui_mainwindow_action_budget(void) { repbudget_window_new(); } static void ui_mainwindow_action_balance(void) { struct hbfile_data *data = g_object_get_data(G_OBJECT(GLOBALS->mainwindow), "inst_data"); repbalance_window_new(data->acc != NULL ? data->acc->key : 0); } static void ui_mainwindow_action_vehiclecost(void) { repcost_window_new(); } static void ui_mainwindow_action_import(GtkAction *action) { /*const gchar *name; gint filetype = FILETYPE_UNKNOWN; name = gtk_action_get_name(action); if( g_str_has_suffix (name, "QIF")) filetype= FILETYPE_QIF; else if( g_str_has_suffix (name, "OFX")) filetype= FILETYPE_OFX; else if( g_str_has_suffix (name, "CSV")) filetype= FILETYPE_CSV_HB;*/ //DB( g_print("action %s type=%d\n", name, filetype) ); ui_import_assistant_new(NULL); } static void ui_mainwindow_action_about(void) { hbfile_about(); } static void ui_mainwindow_action_export(void) { gchar *filename; if( ui_file_chooser_qif(NULL, &filename) == TRUE ) { hb_export_qif_account_all(filename); g_free( filename ); } } static void ui_mainwindow_action_help(void) { gchar *link; link = g_build_filename("file:///", homebank_app_get_help_dir(), HOMEBANK_URL_HELP, NULL ); homebank_util_url_show (link); g_free(link); } static void ui_mainwindow_action_help_releasenotes(void) { gchar *link; #ifdef G_OS_WIN32 link = g_build_filename("file:///", homebank_app_get_datas_dir(), "ChangeLog.txt", NULL ); #else link = g_build_filename("file:///", homebank_app_get_datas_dir(), "ChangeLog", NULL ); #endif homebank_util_url_show (link); g_free(link); } //todo: move this to a ui-assist-welcome.c static void ui_mainwindow_action_help_welcome1 (GtkButton *button, gpointer user_data) { gtk_dialog_response (GTK_DIALOG(user_data), 1); } static void ui_mainwindow_action_help_welcome2 (GtkButton *button, gpointer user_data) { gtk_dialog_response (GTK_DIALOG(user_data), 2); } static void ui_mainwindow_action_help_welcome3 (GtkButton *button, gpointer user_data) { gtk_dialog_response (GTK_DIALOG(user_data), 3); } static void ui_mainwindow_action_help_welcome4 (GtkButton *button, gpointer user_data) { gtk_dialog_response (GTK_DIALOG(user_data), 4); } static void ui_mainwindow_action_help_welcome5 (GtkButton *button, gpointer user_data) { gtk_dialog_response (GTK_DIALOG(user_data), 5); } void ui_mainwindow_action_help_welcome(void) { GtkWidget *dialog, *content_area; GtkWidget *mainvbox, *widget, *label; dialog = gtk_dialog_new_with_buttons (_("Welcome to HomeBank"), GTK_WINDOW(GLOBALS->mainwindow), 0, _("_Close"), GTK_RESPONSE_ACCEPT, NULL); content_area = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); mainvbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (content_area), mainvbox, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER(mainvbox), SPACING_MEDIUM); label = make_label (_("HomeBank"), 0, 0); gimp_label_set_attributes(GTK_LABEL(label), PANGO_ATTR_WEIGHT, PANGO_WEIGHT_BOLD, -1); gtk_box_pack_start (GTK_BOX (mainvbox), label, FALSE, FALSE, 0); label = make_label (_("Free, easy, personal accounting for everyone"), 0, 0); gtk_box_pack_start (GTK_BOX (mainvbox), label, FALSE, FALSE, 0); widget = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (content_area), widget, FALSE, FALSE, 0); mainvbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, SPACING_MEDIUM); gtk_box_pack_start (GTK_BOX (content_area), mainvbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER(mainvbox), SPACING_MEDIUM); label = make_label (_("What do you want to do:"), 0, 0); gimp_label_set_attributes(GTK_LABEL(label), PANGO_ATTR_WEIGHT, PANGO_WEIGHT_BOLD, -1); gtk_box_pack_start (GTK_BOX (mainvbox), label, FALSE, FALSE, 0); widget = gtk_button_new_with_mnemonic(_("Read HomeBank _Manual")); gtk_box_pack_start (GTK_BOX (mainvbox), widget, FALSE, FALSE, 0); g_signal_connect (widget, "clicked", G_CALLBACK (ui_mainwindow_action_help_welcome1), dialog); widget = gtk_button_new_with_mnemonic(_("Configure _preferences")); gtk_box_pack_start (GTK_BOX (mainvbox), widget, FALSE, FALSE, 0); g_signal_connect (widget, "clicked", G_CALLBACK (ui_mainwindow_action_help_welcome2), dialog); widget = gtk_button_new_with_mnemonic(_("Create a _new file")); gtk_box_pack_start (GTK_BOX (mainvbox), widget, FALSE, FALSE, 0); g_signal_connect (widget, "clicked", G_CALLBACK (ui_mainwindow_action_help_welcome3), dialog); widget = gtk_button_new_with_mnemonic(_("_Open an existing file")); gtk_box_pack_start (GTK_BOX (mainvbox), widget, FALSE, FALSE, 0); g_signal_connect (widget, "clicked", G_CALLBACK (ui_mainwindow_action_help_welcome4), dialog); widget = gtk_button_new_with_mnemonic(_("Open the _example file")); gtk_box_pack_start (GTK_BOX (mainvbox), widget, FALSE, FALSE, 0); g_signal_connect (widget, "clicked", G_CALLBACK (ui_mainwindow_action_help_welcome5), dialog); //connect all our signals g_signal_connect (dialog, "destroy", G_CALLBACK (gtk_widget_destroyed), &dialog); gtk_widget_show_all (dialog); //wait for the user gint result = gtk_dialog_run (GTK_DIALOG (dialog)); // cleanup and destroy gtk_widget_destroy (dialog); // do appropriate action switch(result) { case 1: ui_mainwindow_action_help(); break; case 2: ui_mainwindow_action_preferences(); break; case 3: ui_mainwindow_action_new(); break; case 4: ui_mainwindow_action_open(); break; case 5: hbfile_change_filepath(g_build_filename(homebank_app_get_datas_dir(), "example.xhb", NULL)); ui_mainwindow_open_internal(GLOBALS->mainwindow, NULL); break; } } static void ui_mainwindow_action_help_updates(void) { const gchar *link = HOMEBANK_URL_HELP_UPDATES; homebank_util_url_show (link); } static void ui_mainwindow_action_help_online(void) { const gchar *link = HOMEBANK_URL_HELP_ONLINE; homebank_util_url_show (link); } static void ui_mainwindow_action_help_donate(void) { const gchar *link = HOMEBANK_URL_HELP_DONATE; homebank_util_url_show (link); } static void ui_mainwindow_action_help_translate(void) { const gchar *link = HOMEBANK_URL_HELP_TRANSLATE; homebank_util_url_show (link); } static void ui_mainwindow_action_help_problem(void) { const gchar *link = HOMEBANK_URL_HELP_PROBLEM; homebank_util_url_show (link); } /* hbfile functions -------------------- */ /* ** */ static void ui_mainwindow_selection(GtkTreeSelection *treeselection, gpointer user_data) { ui_mainwindow_update(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), GINT_TO_POINTER(UF_SENSITIVE)); } static void ui_mainwindow_close_openbooks(void) { GList *lacc, *elt; DB( g_print("\n[ui-mainwindow] close openbooks\n") ); lacc = elt = g_hash_table_get_values(GLOBALS->h_acc); while (elt != NULL) { Account *item = elt->data; if(item->window) { gtk_widget_destroy(GTK_WIDGET(item->window)); item->window = NULL; } elt = g_list_next(elt); } g_list_free(lacc); } /* ** */ void ui_mainwindow_clear(GtkWidget *widget, gpointer user_data) { struct hbfile_data *data; gboolean file_clear = GPOINTER_TO_INT(user_data); DB( g_print("\n[ui-mainwindow] clear\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); // Close opened account window // Clear TreeView ui_mainwindow_close_openbooks(); gtk_tree_store_clear(GTK_TREE_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_acc)))); gtk_list_store_clear(GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_upc)))); gtk_list_store_clear(GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_top)))); data->showall = FALSE; ui_hub_account_dispose(data); ui_hub_account_setup(data); hbfile_cleanup(file_clear); hbfile_setup(file_clear); } /* ** add some transactions directly */ void ui_mainwindow_addtransactions(GtkWidget *widget, gpointer user_data) { struct hbfile_data *data; GtkWidget *window; gint result = HB_RESPONSE_ADD; gint kacc, count; Transaction *ope; DB( g_print("\n[ui-mainwindow] add transactions\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); /* init the transaction */ homebank_app_date_get_julian(); //#1656531 kacc = (data->acc != NULL) ? data->acc->key : 0; window = create_deftransaction_window(GTK_WINDOW(data->window), TXN_DLG_ACTION_ADD, TXN_DLG_TYPE_TXN, kacc); ope = da_transaction_malloc(); count = 0; while(result == HB_RESPONSE_ADD || result == HB_RESPONSE_ADDKEEP) { /* fill in the transaction */ if( result == HB_RESPONSE_ADD ) { da_transaction_init(ope, kacc); } deftransaction_set_transaction(window, ope); result = gtk_dialog_run (GTK_DIALOG (window)); DB( g_print(" - dialog result is %d\n", result) ); if(result == HB_RESPONSE_ADD || result == HB_RESPONSE_ADDKEEP || result == GTK_RESPONSE_ACCEPT) { deftransaction_get(window, NULL); transaction_add(GTK_WINDOW(GLOBALS->mainwindow), ope); //#1831975 if(PREFS->txn_showconfirm) deftransaction_external_confirm(window, ope); DB( g_print(" - added 1 transaction to %d\n", ope->kacc) ); ui_hub_account_compute(GLOBALS->mainwindow, NULL); count++; } } da_transaction_free(ope); deftransaction_dispose(window, NULL); gtk_widget_destroy (window); /* todo optimize this */ if(count > 0) { GLOBALS->changes_count += count; ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE+UF_BALANCE+UF_REFRESHALL)); } } gboolean ui_mainwindow_open_backup_check_confirm(gchar *filepath) { gboolean retval = FALSE; gchar *basename, *secondtext; gboolean result; basename = g_path_get_basename(filepath); secondtext = g_strdup_printf ( _("Your are about to open the backup file '%s'.\n\nAre you sure you want to do this ?"), basename); result = ui_dialog_msg_confirm_alert( GTK_WINDOW(GLOBALS->mainwindow), _("Open the backup file ?"), secondtext, _("_Open backup") ); g_free(secondtext); g_free(basename); if( result == GTK_RESPONSE_OK ) retval = TRUE; return retval; } /* ** */ void ui_mainwindow_open(GtkWidget *widget, gpointer user_data) { //struct hbfile_data *data; gboolean bakmode = GPOINTER_TO_INT(user_data);; gboolean doopen = TRUE; gchar *filename = NULL; DB( g_print("\n[ui-mainwindow] open\n") ); //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); //#1791554 do ask for save confirm if( bakmode != TRUE ) doopen = ui_dialog_msg_savechanges(widget,NULL); if( doopen == TRUE ) { if( ui_file_chooser_xhb(GTK_FILE_CHOOSER_ACTION_OPEN, &filename, bakmode) == TRUE ) { //#1710955 test for backup open if( hbfile_file_isbackup(filename) ) { if( ui_mainwindow_open_backup_check_confirm(filename) == TRUE ) { GLOBALS->hbfile_is_bak = TRUE; } else { g_free(filename); return; } } hbfile_change_filepath(filename); ui_mainwindow_open_internal(widget, NULL); } } } /* * open the file stored in GLOBALS->xhb_filepath */ void ui_mainwindow_open_internal(GtkWidget *widget, gpointer user_data) { struct hbfile_data *data; gint r; DB( g_print("\n[ui-mainwindow] open internal\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); if( GLOBALS->xhb_filepath != NULL ) { DB( g_print(" - filename: '%s'\n", GLOBALS->xhb_filepath) ); ui_mainwindow_clear(GLOBALS->mainwindow, GINT_TO_POINTER(FALSE)); GLOBALS->hbfile_is_new = FALSE; r = homebank_load_xml(GLOBALS->xhb_filepath); if( r == XML_OK ) { DB( g_print(" - file loaded ok : rcode=%d\n", r) ); GLOBALS->xhb_timemodified = hbfile_file_get_time_modified(GLOBALS->xhb_filepath); hbfile_file_hasrevert(GLOBALS->xhb_filepath); if(PREFS->appendscheduled) scheduled_post_all_pending(); if(PREFS->do_update_currency) ui_cur_manage_dialog_update_currencies(GTK_WINDOW(GLOBALS->mainwindow)); homebank_lastopenedfiles_save(); //TODO: delete this after computing done at xml read account_compute_balances(); ui_mainwindow_recent_add(data, GLOBALS->xhb_filepath); } else { gchar *msg = _("Unknown error"); switch(r) { case XML_IO_ERROR: msg = _("I/O error for file '%s'."); break; case XML_FILE_ERROR: msg = _("The file '%s' is not a valid HomeBank file."); break; case XML_VERSION_ERROR: msg = _("The file '%s' was saved with a higher version of HomeBank\nand cannot be loaded by the current version."); break; } ui_dialog_msg_infoerror(GTK_WINDOW(data->window), GTK_MESSAGE_ERROR, _("File error"), msg, GLOBALS->xhb_filepath ); ui_mainwindow_clear(GLOBALS->mainwindow, GINT_TO_POINTER(TRUE)); } ui_hub_account_populate(GLOBALS->mainwindow, NULL); ui_hub_scheduled_populate(GLOBALS->mainwindow, NULL); ui_hub_spending_populate(GLOBALS->mainwindow, NULL); ui_hub_transaction_populate(data); ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE+UF_VISUAL)); } } /* ** */ void ui_mainwindow_save(GtkWidget *widget, gpointer user_data) { struct hbfile_data *data; gboolean saveas = GPOINTER_TO_INT(user_data); gchar *filename = NULL; gint r = XML_UNSET; DB( g_print("\n[ui-mainwindow] save\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); if( GLOBALS->hbfile_is_new == TRUE ) saveas = 1; //#1710955 test for backup open if( GLOBALS->hbfile_is_bak == TRUE ) { //todo: later for backup, should also remove datetime and .bak hbfile_change_filepath(hb_filename_new_with_extension(GLOBALS->xhb_filepath, "xhb")); saveas = 1; } if(saveas == 1) { if(ui_file_chooser_xhb(GTK_FILE_CHOOSER_ACTION_SAVE, &filename, FALSE) == TRUE) { DB( g_print(" + should save as '%s'\n", filename) ); homebank_file_ensure_xhb(filename); homebank_backup_current_file(); r = homebank_save_xml(GLOBALS->xhb_filepath); GLOBALS->hbfile_is_new = FALSE; GLOBALS->hbfile_is_bak = FALSE; } else return; } else { guint64 time_modified = hbfile_file_get_time_modified (GLOBALS->xhb_filepath); gint result = GTK_RESPONSE_OK; DB( g_print(" + should quick save '%s'\n + time: open=%lu :: now=%lu\n", GLOBALS->xhb_filepath, GLOBALS->xhb_timemodified, time_modified) ); if( GLOBALS->xhb_timemodified != time_modified ) { result = ui_dialog_msg_confirm_alert( GTK_WINDOW(GLOBALS->mainwindow), _("The file has been modified since reading it."), _("If you save it, all the external changes could be lost. Save it anyway?"), _("S_ave Anyway") ); if( result != GTK_RESPONSE_OK ) return; } DB( g_print(" + saving...\n") ); homebank_file_ensure_xhb(NULL); homebank_backup_current_file(); r = homebank_save_xml(GLOBALS->xhb_filepath); } if(r == XML_OK) { DB( g_print(" + OK...\n") ); GLOBALS->changes_count = 0; GLOBALS->xhb_timemodified = hbfile_file_get_time_modified (GLOBALS->xhb_filepath); ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE+UF_VISUAL)); } else { gchar *msg = _("I/O error for file '%s'."); ui_dialog_msg_infoerror(GTK_WINDOW(data->window), GTK_MESSAGE_ERROR, _("File error"), msg, GLOBALS->xhb_filepath ); } } void ui_mainwindow_update(GtkWidget *widget, gpointer user_data) { struct hbfile_data *data; gint flags; DB( g_print("\n[ui-mainwindow] update %p\n", user_data) ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); //data = INST_DATA(widget); flags = GPOINTER_TO_INT(user_data); /* set window title */ if(flags & UF_TITLE) { gchar *basename; gchar *changed; DB( g_print(" 1: wintitle %p\n", data->wintitle) ); basename = g_path_get_basename(GLOBALS->xhb_filepath); DB( g_print(" global changes: %d\n", GLOBALS->changes_count) ); g_free(data->wintitle); changed = (GLOBALS->changes_count > 0) ? "*" : ""; #if MYDEBUG == 1 data->wintitle = g_strdup_printf("%s%s (%d)- %s - " PROGNAME, changed, basename, GLOBALS->changes_count, GLOBALS->owner); #else data->wintitle = g_strdup_printf("%s%s - %s - " PROGNAME, changed, basename, GLOBALS->owner); #endif gtk_window_set_title (GTK_WINDOW (gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), data->wintitle); g_free(basename); } /* update disabled things */ if(flags & UF_SENSITIVE) { GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; GtkTreePath *path; gboolean active,sensitive; DB( g_print(" 2: disabled, opelist count\n") ); //#1656531 data->acc = NULL; selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_acc)); active = gtk_tree_selection_get_selected(selection, &model, &iter); if(active) { Account *acc; gint depth; path = gtk_tree_model_get_path(model, &iter); depth = gtk_tree_path_get_depth(path); if( depth > 1 ) { DB( g_print(" depth is %d\n", depth) ); gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, LST_DSPACC_DATAS, &acc, -1); data->acc = acc; } else active = FALSE; } DB( g_print(" changes %d - new %d\n", GLOBALS->changes_count, GLOBALS->hbfile_is_new) ); // save DB( g_print(" save\n") ); sensitive = (GLOBALS->changes_count != 0 ) ? TRUE : FALSE; gtk_widget_set_sensitive(data->MI_save, sensitive); gtk_widget_set_sensitive(data->BT_save, sensitive); // backup DB( g_print(" has changes & revert\n") ); sensitive = ( (GLOBALS->changes_count != 0) && GLOBALS->xhb_hasrevert ) ? TRUE : FALSE; gtk_widget_set_sensitive(data->MI_revert, sensitive); //1859346 restore backup avail anytime //gtk_widget_set_sensitive(data->MI_openbak, sensitive); // report dialog ope, disable manage acc/pay/cat/bud/tag DB( g_print(" has report open ?\n") ); sensitive = GLOBALS->define_off == 0 ? TRUE : FALSE; gtk_widget_set_sensitive(data->MI_manacc, sensitive); gtk_widget_set_sensitive(data->MI_manpay, sensitive); gtk_widget_set_sensitive(data->MI_mancat, sensitive); gtk_widget_set_sensitive(data->MI_manbud, sensitive); gtk_widget_set_sensitive(data->MI_manbudtable, sensitive); gtk_widget_set_sensitive(data->MI_mantag, sensitive); gtk_widget_set_sensitive(data->MI_prefs, sensitive); gtk_widget_set_sensitive(data->BT_manacc, sensitive); gtk_widget_set_sensitive(data->BT_manpay, sensitive); gtk_widget_set_sensitive(data->BT_mancat, sensitive); gtk_widget_set_sensitive(data->BT_manbud, sensitive); // empty account list: disable Archives, Edit, Filter, Add, Statistics, Overdrawn, Car Cost DB( g_print(" has acc ?\n") ); sensitive = da_acc_length() > 0 ? TRUE : FALSE; gtk_widget_set_sensitive(data->MI_close, sensitive); gtk_widget_set_sensitive(data->MI_mantpl, sensitive); gtk_widget_set_sensitive(data->MI_txnadd, sensitive); gtk_widget_set_sensitive(data->MI_txnshow, sensitive); gtk_widget_set_sensitive(data->MI_repstat, sensitive); gtk_widget_set_sensitive(data->MI_reptime, sensitive); gtk_widget_set_sensitive(data->MI_repbudg, sensitive); gtk_widget_set_sensitive(data->MI_repvehi, sensitive); gtk_widget_set_sensitive(data->BT_mantpl, sensitive); gtk_widget_set_sensitive(data->BT_txnshow, sensitive); gtk_widget_set_sensitive(data->BT_txnadd, sensitive); gtk_widget_set_sensitive(data->BT_repstat, sensitive); gtk_widget_set_sensitive(data->BT_reptime, sensitive); gtk_widget_set_sensitive(data->BT_repbudg, sensitive); gtk_widget_set_sensitive(data->BT_repvehi, sensitive); // empty category list: disable Budget DB( g_print(" has cat ?\n") ); sensitive = da_cat_length() > 1 ? TRUE : FALSE; gtk_widget_set_sensitive(data->MI_manbud, sensitive); gtk_widget_set_sensitive(data->MI_manbudtable, sensitive); //#1501129 no need to disable, P & C can be created from assign dialog //sensitive = ((da_cat_length() > 1) || (da_pay_length() > 1)) ? TRUE : FALSE; //gtk_action_set_sensitive(gtk_ui_manager_get_action(data->manager, "/MenuBar/ManageMenu/Assign"), sensitive); gtk_widget_set_sensitive(data->MI_manasg, sensitive); // empty archive list: disable scheduled check DB( g_print(" has archive ?\n") ); sensitive = g_list_length(GLOBALS->arc_list) > 0 ? TRUE : FALSE; gtk_widget_set_sensitive(data->MI_addscheduled, sensitive); // no active account: disable Edit, Over DB( g_print(" account active ?\n") ); sensitive = (active == TRUE ) ? TRUE : FALSE; if(data->acc && data->acc->window != NULL) sensitive = FALSE; gtk_widget_set_sensitive(data->MI_txnshow, sensitive); gtk_widget_set_sensitive(data->BT_txnshow, sensitive); } /* update toolbar, list */ if(flags & UF_VISUAL) { DB( g_print(" 8: visual\n") ); if(PREFS->toolbar_style == 0) gtk_toolbar_unset_style(GTK_TOOLBAR(data->toolbar)); else gtk_toolbar_set_style(GTK_TOOLBAR(data->toolbar), PREFS->toolbar_style-1); gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (data->LV_acc), PREFS->grid_lines); gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_acc)); gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (data->LV_upc), PREFS->grid_lines); gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_upc)); DB( g_print(" - show toolbar=%d\n", PREFS->wal_toolbar) ); if(PREFS->wal_toolbar) gtk_widget_show(GTK_WIDGET(data->toolbar)); else gtk_widget_hide(GTK_WIDGET(data->toolbar)); DB( g_print(" - show top_spending=%d\n", PREFS->wal_spending) ); hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_range), PREFS->date_range_wal); if(PREFS->wal_spending) gtk_widget_show(GTK_WIDGET(data->GR_top)); else gtk_widget_hide(GTK_WIDGET(data->GR_top)); DB( g_print(" - show upcoming=%d\n", PREFS->wal_upcoming) ); if(PREFS->wal_upcoming) gtk_widget_show(GTK_WIDGET(data->GR_upc)); else gtk_widget_hide(GTK_WIDGET(data->GR_upc)); DB( g_print(" minor %d\n", PREFS->euro_active) ); hb_widget_visible(data->MI_eurominor, PREFS->euro_active); } /* update balances */ if(flags & UF_BALANCE) { DB( g_print(" 4: balances\n") ); gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_acc)); //minor = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_minor)); /* hb-label_set_colvalue(GTK_LABEL(data->TX_balance[0]), data->bank, minor); hb-label_set_colvalue(GTK_LABEL(data->TX_balance[1]), data->today, minor); hb-label_set_colvalue(GTK_LABEL(data->TX_balance[2]), data->future, minor); */ } if(flags & UF_REFRESHALL) { DB( g_print(" 16: refreshall\n") ); ui_hub_account_compute(GLOBALS->mainwindow, NULL); ui_hub_spending_populate(GLOBALS->mainwindow, NULL); ui_hub_scheduled_populate(GLOBALS->mainwindow, NULL); ui_hub_transaction_populate(data); } } static void ui_mainwindow_onRowActivated (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *col, gpointer userdata) { GtkTreeModel *model; GtkTreeIter iter; DB( g_print ("\n[ui-mainwindow] A row has been double-clicked!\n") ); model = gtk_tree_view_get_model(treeview); if (gtk_tree_model_get_iter(model, &iter, path)) { Account *acc; gint dt; gtk_tree_model_get(model, &iter, LST_DSPACC_DATAS, &acc, LST_DSPACC_DATATYPE, &dt, -1); if( (dt == DSPACC_TYPE_NORMAL) && (acc != NULL) ) { DB( g_print ("Double-clicked row contains name %s\n", acc->name) ); ui_mainwindow_action_showtransactions(NULL, userdata); //g_free(name); } } } static void ui_mainwindow_destroy(GtkTreeView *treeview, gpointer user_data) { DB( g_print("\n[ui-mainwindow] destroy\n") ); } /* ** */ static gboolean ui_mainwindow_dispose(GtkWidget *widget, GdkEvent *event, gpointer user_data) { struct hbfile_data *data = user_data; struct WinGeometry *wg; gboolean retval = FALSE; DB( g_print("\n[ui-mainwindow] delete-event\n") ); //store position and size wg = &PREFS->wal_wg; gtk_window_get_position(GTK_WINDOW(widget), &wg->l, &wg->t); gtk_window_get_size(GTK_WINDOW(widget), &wg->w, &wg->h); GdkWindow *gdk_window = gtk_widget_get_window(GTK_WIDGET(widget)); GdkWindowState state = gdk_window_get_state(gdk_window); wg->s = (state & GDK_WINDOW_STATE_MAXIMIZED) ? 1 : 0; DB( g_print(" window: l=%d, t=%d, w=%d, h=%d s=%d, state=%d\n", wg->l, wg->t, wg->w, wg->h, wg->s, state & GDK_WINDOW_STATE_MAXIMIZED) ); PREFS->wal_vpaned = gtk_paned_get_position(GTK_PANED(data->vpaned)); PREFS->wal_hpaned = gtk_paned_get_position(GTK_PANED(data->hpaned)); DB( g_print(" - vpaned=%d hpaned=%d\n", PREFS->wal_vpaned, PREFS->wal_hpaned) ); if(PREFS->pnl_list_tab) g_free(PREFS->pnl_list_tab); PREFS->pnl_list_tab = g_strdup(gtk_stack_get_visible_child_name(GTK_STACK(data->stack))); //todo if(ui_dialog_msg_savechanges(widget, NULL) == FALSE) { retval = TRUE; } else { //todo: retval is useless and below should move to destroy retval = TRUE; gtk_widget_destroy(data->LV_top); ui_hub_account_dispose(data); g_free(data->wintitle); da_flt_free(data->filter); g_free(user_data); gtk_main_quit(); } //TRUE:stop other handlers from being invoked for the event | FALSE: propagate return retval; } #define HB_MIMETYPE "application/x-homebank" static void ui_mainwindow_cb_recent_chooser_clear (GtkRecentChooser *chooser, struct hbfile_data *data) { GList *list; DB( g_print("\n[ui-mainwindow] recent chooser clear\n") ); list = gtk_recent_manager_get_items(data->recent_manager); while (list != NULL) { GtkRecentInfo *recentinfo = list->data; if( !g_strcmp0(HB_MIMETYPE, gtk_recent_info_get_mime_type(recentinfo)) ) { GError *error = NULL; const gchar *uri = gtk_recent_info_get_uri(recentinfo); //DB( g_print(" mime-type='%s'\n", gtk_recent_info_get_mime_type(recentinfo)) ); gtk_recent_manager_remove_item(data->recent_manager, uri, &error); if (error) { g_warning ("Could not remove uri \"%s\": %s", uri, error->message); g_error_free (error); } } gtk_recent_info_unref(recentinfo); list = g_list_next(list); } g_list_free(list); } static void ui_mainwindow_recent_chooser_item_activated_cb (GtkRecentChooser *chooser, struct hbfile_data *data) { gchar *uri, *path; GError *error = NULL; DB( g_print("\n[ui-mainwindow] recent chooser activated\n") ); uri = gtk_recent_chooser_get_current_uri (chooser); DB( g_print(" '%s'\n", uri) ); path = g_filename_from_uri (uri, NULL, &error); if (error) { g_warning ("Could not convert uri \"%s\" to a local path: %s", uri, error->message); g_error_free (error); return; } if( ui_dialog_msg_savechanges(data->window, NULL) == TRUE ) { //todo: FixMe /* if (! load) { gpw_recent_remove (gpw, path); } */ hbfile_change_filepath(path); ui_mainwindow_open_internal(data->window, NULL); } else { g_free (path); } g_free (uri); } void ui_mainwindow_recent_add (struct hbfile_data *data, const gchar *path) { GtkRecentData *recent_data; gchar *uri; GError *error = NULL; DB( g_print("\n[ui-mainwindow] recent_add\n") ); DB( g_print(" - file has .xhb suffix = %d\n", g_str_has_suffix (path, ".xhb") ) ); if( g_str_has_suffix (path, ".xhb") == FALSE ) //ignore reverted file return; uri = g_filename_to_uri (path, NULL, &error); if (error) { g_warning ("Could not convert uri \"%s\" to a local path: %s", uri, error->message); g_error_free (error); return; } recent_data = g_slice_new (GtkRecentData); recent_data->display_name = NULL; recent_data->description = NULL; recent_data->mime_type = HB_MIMETYPE; recent_data->app_name = (gchar *) g_get_application_name (); recent_data->app_exec = g_strjoin (" ", g_get_prgname (), "%u", NULL); recent_data->groups = NULL; recent_data->is_private = FALSE; if (!gtk_recent_manager_add_full (data->recent_manager, uri, recent_data)) { g_warning ("Unable to add '%s' to the list of recently used documents", uri); } g_free (uri); g_free (recent_data->app_exec); g_slice_free (GtkRecentData, recent_data); } enum { TARGET_URI_LIST }; static GtkTargetEntry drop_types[] = { {"text/uri-list", 0, TARGET_URI_LIST} }; static void ui_mainwindow_drag_data_received (GtkWidget *widget, GdkDragContext *context, gint x, gint y, GtkSelectionData *selection_data, guint info, guint time, GtkWindow *window) { gchar **uris, **str; gchar *newseldata; gint n_uris, filetype, slen; GError *error = NULL; if (info != TARGET_URI_LIST) return; DB( g_print("\n[ui-mainwindow] drag_data_received\n") ); /* On MS-Windows, it looks like `selection_data->data' is not NULL terminated. */ slen = gtk_selection_data_get_length(selection_data); newseldata = g_new (gchar, slen + 1); memcpy (newseldata, gtk_selection_data_get_data(selection_data), slen); newseldata[slen] = 0; //DB( g_print(" - seldata ='%s'\n", gtk_selection_data_get_data(selection_data) ) ); //DB( g_print(" - newseldata ='%s'\n", newseldata ) ); uris = g_uri_list_extract_uris (newseldata); n_uris = g_strv_length(uris); DB( g_print(" - dragged %d files (len=%d)\n", n_uris, slen ) ); g_free(newseldata); //single file: check for xhb if(n_uris == 1) { filetype = hb_filename_type_get_by_extension(*uris); DB( g_print(" - filetype is homebank (%d)\n", filetype) ); if( filetype == FILETYPE_HOMEBANK ) { gchar *path = g_filename_from_uri (*uris, NULL, &error); if( path != NULL ) { DB( g_print(" - path is '%s'\n", path) ); hbfile_change_filepath(g_strdup(path)); ui_mainwindow_open_internal(GTK_WIDGET(window), NULL); goto end_drop; } else { g_warning ("Could not convert uri to local path: %s", error->message); g_error_free (error); } g_free (path); } /* we no more manage error here ui_dialog_msg_infoerror(GTK_WINDOW(window), GTK_MESSAGE_ERROR, _("File error"), _("The file %s is not a valid HomeBank file."), path); */ } //collect known filetype to import DB( g_print(" - collect %d files\n", n_uris) ); gchar **paths = g_new (gchar *, n_uris + 1); slen = 0; for (str = uris; *str; str++) { filetype = hb_filename_type_get_by_extension(*str); if( filetype != FILETYPE_HOMEBANK && filetype != FILETYPE_UNKNOWN ) { gchar *path = g_filename_from_uri (*str, NULL, NULL); if( path != NULL ) { DB( g_print(" - append %d '%s'\n", slen, path ) ); paths[slen++] = path; } } } paths[slen] = NULL; if( slen > 0 ) { ui_import_assistant_new( paths ); } end_drop: g_strfreev (uris); } static GtkWidget *ui_mainwindow_create_recent_chooser_menu (struct hbfile_data *data) { GtkWidget *recent_menu, *menuitem; GtkRecentFilter *filter; recent_menu = gtk_recent_chooser_menu_new_for_manager (data->recent_manager); gtk_recent_chooser_set_local_only (GTK_RECENT_CHOOSER (recent_menu), FALSE); gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER (recent_menu), GTK_RECENT_SORT_MRU); //todo: add a user pref for this gtk_recent_chooser_set_limit(GTK_RECENT_CHOOSER (recent_menu), 10); gtk_recent_chooser_set_show_icons (GTK_RECENT_CHOOSER (recent_menu), FALSE); //gtk_recent_chooser_menu_set_show_numbers (GTK_RECENT_CHOOSER_MENU (recent_menu), TRUE); filter = gtk_recent_filter_new (); //gtk_recent_filter_add_application (filter, g_get_application_name()); gtk_recent_filter_add_pattern (filter, "*.[Xx][Hh][Bb]"); gtk_recent_chooser_set_filter (GTK_RECENT_CHOOSER (recent_menu), filter); gtk_menu_shell_append (GTK_MENU_SHELL (recent_menu), gtk_separator_menu_item_new()); menuitem = hbtk_menu_add_menuitem(recent_menu, _("Clear") ); g_signal_connect (recent_menu, "item-activated", G_CALLBACK (ui_mainwindow_recent_chooser_item_activated_cb), data); g_signal_connect (menuitem, "activate", G_CALLBACK (ui_mainwindow_cb_recent_chooser_clear), (gpointer)data); return recent_menu; } static GtkWidget * ui_mainwindow_menubar_create(struct hbfile_data *data) { GtkWidget *menubar; GtkWidget *menu, *submenu; GtkWidget *menuitem; GtkAccelGroup *accel_group = NULL; menubar = gtk_menu_bar_new (); accel_group = gtk_accel_group_new(); gtk_window_add_accel_group(GTK_WINDOW(data->window), accel_group); menu = hbtk_menubar_add_menu(menubar, _("_File"), &data->ME_menufile); data->MI_new = menuitem = hbtk_menu_add_menuitem(menu, _("_New")); gtk_widget_add_accelerator(menuitem, "activate", accel_group, GDK_KEY_n, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); data->MI_open = menuitem = hbtk_menu_add_menuitem(menu, _("_Open...")); gtk_widget_add_accelerator(menuitem, "activate", accel_group, GDK_KEY_o, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); menuitem = hbtk_menu_add_menuitem(menu, _("Open _Recent")); submenu = ui_mainwindow_create_recent_chooser_menu (data); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), submenu); gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_separator_menu_item_new()); data->MI_save = menuitem = hbtk_menu_add_menuitem(menu, _("_Save")); gtk_widget_add_accelerator(menuitem, "activate", accel_group, GDK_KEY_s, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); data->MI_saveas = menuitem = hbtk_menu_add_menuitem(menu, _("Save _As...")); gtk_widget_add_accelerator(menuitem, "activate", accel_group, GDK_KEY_s, GDK_SHIFT_MASK|GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_separator_menu_item_new()); data->MI_import = hbtk_menu_add_menuitem(menu, _("Import...")); data->MI_exportqif = hbtk_menu_add_menuitem(menu, _("Export as QIF...")); gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_separator_menu_item_new()); data->MI_revert = hbtk_menu_add_menuitem(menu, _("Revert")); data->MI_openbak = hbtk_menu_add_menuitem(menu, _("Restore backup")); gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_separator_menu_item_new()); data->MI_properties = hbtk_menu_add_menuitem(menu, _("Properties...")); gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_separator_menu_item_new()); data->MI_close = menuitem = hbtk_menu_add_menuitem(menu, _("_Close")); gtk_widget_add_accelerator(menuitem, "activate", accel_group, GDK_KEY_w, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); data->MI_quit = menuitem = hbtk_menu_add_menuitem(menu, _("_Quit")); gtk_widget_add_accelerator(menuitem, "activate", accel_group, GDK_KEY_q, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); menu = hbtk_menubar_add_menu(menubar, _("_Edit"), &data->ME_menuedit); data->MI_prefs = hbtk_menu_add_menuitem(menu, _("Preferences...")); menu = hbtk_menubar_add_menu(menubar, _("_View"), &data->ME_menuview); data->MI_showtbar = menuitem = gtk_check_menu_item_new_with_mnemonic(_("_Toolbar")); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); data->MI_showspend = menuitem = gtk_check_menu_item_new_with_mnemonic(_("_Top spending")); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); data->MI_showbotlist = menuitem = gtk_check_menu_item_new_with_mnemonic(_("_Bottom Lists")); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_separator_menu_item_new()); data->MI_eurominor = menuitem = gtk_check_menu_item_new_with_mnemonic(_("Euro minor")); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); gtk_widget_add_accelerator(menuitem, "activate", accel_group, GDK_KEY_m, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); menu = hbtk_menubar_add_menu(menubar, _("_Manage"), &data->ME_menuman); data->MI_manacc = hbtk_menu_add_menuitem(menu, _("Acc_ounts...")); data->MI_manpay = hbtk_menu_add_menuitem(menu, _("_Payees...")); data->MI_mancat = hbtk_menu_add_menuitem(menu, _("Categories...")); data->MI_mantpl = hbtk_menu_add_menuitem(menu, _("Scheduled/Template...")); data->MI_manbud = hbtk_menu_add_menuitem(menu, _("Budget...")); data->MI_manbudtable = hbtk_menu_add_menuitem(menu, _("Budget (table view)...")); data->MI_manasg = hbtk_menu_add_menuitem(menu, _("Assignments...")); data->MI_mancur = hbtk_menu_add_menuitem(menu, _("Currencies...")); data->MI_mantag = hbtk_menu_add_menuitem(menu, _("Tags...")); menu = hbtk_menubar_add_menu(menubar, _("_Transactions"), &data->ME_menutxn); data->MI_txnadd = hbtk_menu_add_menuitem(menu, _("Add...")); data->MI_txnshow = hbtk_menu_add_menuitem(menu, _("Show...")); data->MI_txnshowall = hbtk_menu_add_menuitem(menu, _("Show all...") ); gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_separator_menu_item_new()); data->MI_scheduler = hbtk_menu_add_menuitem(menu, _("Set scheduler...")); data->MI_addscheduled = hbtk_menu_add_menuitem(menu, _("Post scheduled")); menu = hbtk_menubar_add_menu(menubar, _("_Reports"), &data->ME_menurep); data->MI_repstat = hbtk_menu_add_menuitem(menu, _("_Statistics...")); data->MI_reptime = hbtk_menu_add_menuitem(menu, _("_Trend Time...") ); data->MI_repbal = hbtk_menu_add_menuitem(menu, _("_Balance...") ); data->MI_repbudg = hbtk_menu_add_menuitem(menu, _("B_udget...")); data->MI_repvehi = hbtk_menu_add_menuitem(menu, _("_Vehicle cost...")); menu = hbtk_menubar_add_menu(menubar, _("_Tools"), &data->ME_menutool); data->MI_welcome = hbtk_menu_add_menuitem(menu, _("Show welcome dialog...")); data->MI_filestats = hbtk_menu_add_menuitem(menu, _("File statistics...") ); gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_separator_menu_item_new()); data->MI_anonymise = hbtk_menu_add_menuitem(menu, _("Anonymize...")); menu = hbtk_menubar_add_menu(menubar, _("_Help"), &data->ME_menuhelp); data->MI_contents = menuitem = hbtk_menu_add_menuitem(menu, _("_Contents") ); gtk_widget_add_accelerator(menuitem, "activate", accel_group, GDK_KEY_F1, 0, GTK_ACCEL_VISIBLE); data->MI_online = hbtk_menu_add_menuitem(menu, _("Get Help Online...") ); //donate also here ? gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_separator_menu_item_new()); data->MI_updates = hbtk_menu_add_menuitem(menu, _("Check for updates...") ); data->MI_relnote = hbtk_menu_add_menuitem(menu, _("Release Notes") ); data->MI_problem = hbtk_menu_add_menuitem(menu, _("Report a Problem...") ); data->MI_translate = hbtk_menu_add_menuitem(menu, _("Translate this Application...") ); gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_separator_menu_item_new()); data->MI_about = hbtk_menu_add_menuitem(menu, _("_About") ); return menubar; } static GtkWidget * ui_mainwindow_toolbar_create(struct hbfile_data *data) { GtkWidget *toolbar, *button, *menu; toolbar = gtk_toolbar_new(); data->BT_new = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_FILE_NEW, N_("New"), _("Create a new file")); data->BT_open = button = gtk_widget_new(GTK_TYPE_MENU_TOOL_BUTTON, "icon-name", ICONNAME_HB_FILE_OPEN, "label", _("Open"), "tooltip-text", _("Open a file"), NULL); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM(button), 1); menu = ui_mainwindow_create_recent_chooser_menu(data); gtk_menu_tool_button_set_menu (GTK_MENU_TOOL_BUTTON (button), menu); gtk_menu_tool_button_set_arrow_tooltip_text (GTK_MENU_TOOL_BUTTON (button), _("Open a recently used file")); data->BT_save = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_FILE_SAVE, N_("Save"), _("Save the current file")); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), gtk_separator_tool_item_new(), -1); data->BT_manacc = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_ACCOUNT , _("Account"), _("Configure the accounts")); data->BT_manpay = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_PAYEE , _("Payee"), _("Configure the payees")); data->BT_mancat = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_CATEGORY, _("Category"), _("Configure the categories")); data->BT_mantpl = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_ARCHIVE , _("Archive"), _("Configure the scheduled/template transactions")); data->BT_manbud = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_BUDGET , _("Budget"), _("Configure the budget")); data->BT_manasg = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_ASSIGN , _("Assignment"), _("Configure the automatic assignments")); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), gtk_separator_tool_item_new(), -1); data->BT_txnshow = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_OPE_SHOW, _("Show"), _("Shows selected account transactions")); data->BT_txnadd = button = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_OPE_ADD, _("Add"), _("Add transactions")); g_object_set(button, "is-important", TRUE, NULL); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), gtk_separator_tool_item_new(), -1); data->BT_repstat = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_REP_STATS , _("Statistics"), _("Open the Statistics report")); data->BT_reptime = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_REP_TIME , _("Trend time"), _("Open the Trend Time report")); data->BT_repbal = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_REP_BALANCE, _("Balance"), _("Open the Balance report")); data->BT_repbudg = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_REP_BUDGET, _("Budget"), _("Open the Budget report")); data->BT_repvehi = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_REP_CAR , _("Vehicle cost"), _("Open the Vehicle cost report")); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), gtk_separator_tool_item_new(), -1); data->BT_help = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_HELP , _("Help"), _("Get Help Online...")); data->BT_donate = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_DONATE, _("Donate"), _("Donate to HomeBank project")); return toolbar; } /* ** the window creation */ GtkWidget *create_hbfile_window(GtkWidget *do_widget) { struct hbfile_data *data; struct WinGeometry *wg; GtkWidget *mainvbox, *vbox, *box, *vpaned, *hpaned, *sidebar, *stack; GtkWidget *widget, *page, *menubar, *toolbar; GtkWidget *window; DB( g_print("\n[ui-mainwindow] create main window\n") ); data = g_malloc0(sizeof(struct hbfile_data)); if(!data) return NULL; window = gtk_window_new (GTK_WINDOW_TOPLEVEL); //store our window private data g_object_set_data(G_OBJECT(window), "inst_data", (gpointer)data); DB( g_print(" - new window=%p, inst_data=%p\n", window, data) ); // this is our mainwindow, so store it to GLOBALS data data->window = window; GLOBALS->mainwindow = window; mainvbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), mainvbox); //menu and toolbar data->recent_manager = gtk_recent_manager_get_default (); menubar = ui_mainwindow_menubar_create(data); #if HB_UNSTABLE_SHOW == TRUE box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (mainvbox), box, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (box), menubar, TRUE, TRUE, 0); menubar = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET(menubar)), GTK_STYLE_CLASS_MENUBAR); gtk_box_pack_start (GTK_BOX (box), menubar, FALSE, FALSE, 0); widget = gtk_label_new("Release Candidate Version "); gimp_label_set_attributes (GTK_LABEL (widget), PANGO_ATTR_SCALE, PANGO_SCALE_SMALL, PANGO_ATTR_WEIGHT, PANGO_WEIGHT_BOLD, -1); gtk_box_pack_end (GTK_BOX (menubar), widget, FALSE, FALSE, 0); widget = gtk_image_new_from_icon_name (ICONNAME_WARNING, GTK_ICON_SIZE_BUTTON); gtk_box_pack_end (GTK_BOX (menubar), widget, FALSE, FALSE, 0); gtk_widget_set_tooltip_markup(GTK_WIDGET(menubar), "Guidelines:\n" "- use only for TESTING or find BUGs\n" "- use A COPY of your files\n" "- BUGs or CRASH can still occur" ); #else gtk_box_pack_start (GTK_BOX (mainvbox), menubar, FALSE, FALSE, 0); #endif toolbar = ui_mainwindow_toolbar_create(data); data->toolbar = toolbar; gtk_box_pack_start (GTK_BOX (mainvbox), toolbar, FALSE, FALSE, 0); /* Add the main area */ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); //gtk_container_set_border_width (GTK_CONTAINER(vbox), SPACING_MEDIUM); gtk_box_pack_start (GTK_BOX (mainvbox), vbox, TRUE, TRUE, 0); vpaned = gtk_paned_new(GTK_ORIENTATION_VERTICAL); data->vpaned = vpaned; gtk_box_pack_start (GTK_BOX (vbox), vpaned, TRUE, TRUE, 0); hpaned = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL); data->hpaned = hpaned; gtk_paned_pack1 (GTK_PANED(vpaned), hpaned, FALSE, FALSE); widget = ui_hub_account_create(data); //gtk_widget_set_size_request (widget, 100, -1); gtk_paned_pack1 (GTK_PANED(hpaned), widget, FALSE, FALSE); widget = ui_hub_spending_create(data); //gtk_widget_set_size_request (widget, -1, 100); gtk_paned_pack2 (GTK_PANED(hpaned), widget, TRUE, FALSE); box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); data->GR_upc = box; gtk_paned_pack2 (GTK_PANED(vpaned), box, TRUE, FALSE); sidebar = gtk_stack_sidebar_new (); gtk_box_pack_start (GTK_BOX (box), sidebar, FALSE, FALSE, 0); stack = gtk_stack_new (); //gtk_stack_set_transition_type (GTK_STACK (stack), GTK_STACK_TRANSITION_TYPE_SLIDE_UP_DOWN); gtk_stack_sidebar_set_stack (GTK_STACK_SIDEBAR (sidebar), GTK_STACK (stack)); data->stack = stack; gtk_box_pack_start (GTK_BOX (box), stack, TRUE, TRUE, 0); page = ui_hub_scheduled_create(data); gtk_stack_add_titled (GTK_STACK (stack), page, "sched", _("Scheduled")); //gtk_paned_pack2 (GTK_PANED(vpaned), widget, TRUE, FALSE); page = ui_hub_transaction_create(data, HUB_TXN_TYPE_FUTURE); gtk_stack_add_titled (GTK_STACK (stack), page, "futur", _("Future")); page = ui_hub_transaction_create(data, HUB_TXN_TYPE_REMIND); gtk_stack_add_titled (GTK_STACK (stack), page, "remin", _("Remind")); //setup, init and show window wg = &PREFS->wal_wg; if(wg->s == 0) { gtk_window_move(GTK_WINDOW(window), wg->l, wg->t); gtk_window_resize(GTK_WINDOW(window), wg->w, wg->h); } else gtk_window_maximize(GTK_WINDOW(window)); gtk_widget_show_all (window); //#1662197/1660910 moved after resize/show DB( g_print(" - vpaned=%d hpaned=%d\n", PREFS->wal_vpaned, PREFS->wal_hpaned) ); if(PREFS->wal_hpaned > 0) gtk_paned_set_position(GTK_PANED(data->hpaned), PREFS->wal_hpaned); if(PREFS->wal_vpaned > 0) gtk_paned_set_position(GTK_PANED(data->vpaned), PREFS->wal_vpaned); if( PREFS->pnl_list_tab != NULL ) gtk_stack_set_visible_child_name (GTK_STACK(data->stack), PREFS->pnl_list_tab); //todo: move this elsewhere DB( g_print(" - setup stuff\n") ); data->filter = da_flt_malloc(); filter_reset(data->filter); hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_range), PREFS->date_range_wal); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(data->MI_showtbar), PREFS->wal_toolbar); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(data->MI_showspend), PREFS->wal_spending); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(data->MI_showbotlist), PREFS->wal_upcoming); /* Drag and drop support, set targets to NULL because we add the default uri_targets below */ /* support for opening a file by dragging onto the project window */ gtk_drag_dest_set (GTK_WIDGET (window), GTK_DEST_DEFAULT_ALL, drop_types, G_N_ELEMENTS (drop_types), GDK_ACTION_COPY); g_signal_connect (G_OBJECT (window), "drag-data-received", G_CALLBACK (ui_mainwindow_drag_data_received), window); //connect all our signals DB( g_print(" - connect signals\n") ); g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_acc)), "changed", G_CALLBACK (ui_mainwindow_selection), NULL); g_signal_connect (GTK_TREE_VIEW(data->LV_acc ), "row-activated", G_CALLBACK (ui_mainwindow_onRowActivated), GINT_TO_POINTER(2)); /* GtkWindow events */ g_signal_connect (window, "delete-event", G_CALLBACK (ui_mainwindow_dispose), (gpointer)data); g_signal_connect (window, "destroy", G_CALLBACK (ui_mainwindow_destroy), NULL); //menu signals g_signal_connect (data->MI_new , "activate", G_CALLBACK (ui_mainwindow_action_new), (gpointer)data); g_signal_connect (data->MI_open , "activate", G_CALLBACK (ui_mainwindow_action_open), (gpointer)data); g_signal_connect (data->MI_save , "activate", G_CALLBACK (ui_mainwindow_action_save), (gpointer)data); g_signal_connect (data->MI_saveas , "activate", G_CALLBACK (ui_mainwindow_action_saveas), (gpointer)data); g_signal_connect (data->MI_import , "activate", G_CALLBACK (ui_mainwindow_action_import), (gpointer)data); g_signal_connect (data->MI_exportqif , "activate", G_CALLBACK (ui_mainwindow_action_export), (gpointer)data); g_signal_connect (data->MI_revert , "activate", G_CALLBACK (ui_mainwindow_action_revert), (gpointer)data); g_signal_connect (data->MI_openbak , "activate", G_CALLBACK (ui_mainwindow_action_openbak), (gpointer)data); g_signal_connect (data->MI_properties , "activate", G_CALLBACK (ui_mainwindow_action_properties), (gpointer)data); g_signal_connect (data->MI_close , "activate", G_CALLBACK (ui_mainwindow_action_close), (gpointer)data); g_signal_connect (data->MI_quit , "activate", G_CALLBACK (ui_mainwindow_action_quit), (gpointer)data); g_signal_connect (data->MI_prefs , "activate", G_CALLBACK (ui_mainwindow_action_preferences), (gpointer)data); g_signal_connect (data->MI_showtbar , "toggled", G_CALLBACK (ui_mainwindow_action_toggle_toolbar), (gpointer)data); g_signal_connect (data->MI_showspend , "toggled", G_CALLBACK (ui_mainwindow_action_toggle_topspending), (gpointer)data); g_signal_connect (data->MI_showbotlist , "toggled", G_CALLBACK (ui_mainwindow_action_toggle_upcoming), (gpointer)data); g_signal_connect (data->MI_eurominor , "toggled", G_CALLBACK (ui_mainwindow_action_toggle_minor), (gpointer)data); g_signal_connect (data->MI_manacc , "activate", G_CALLBACK (ui_mainwindow_action_defaccount), (gpointer)data); g_signal_connect (data->MI_manpay , "activate", G_CALLBACK (ui_mainwindow_action_defpayee), (gpointer)data); g_signal_connect (data->MI_mancat , "activate", G_CALLBACK (ui_mainwindow_action_defcategory), (gpointer)data); g_signal_connect (data->MI_mantpl , "activate", G_CALLBACK (ui_mainwindow_action_defarchive), (gpointer)data); g_signal_connect (data->MI_manbud , "activate", G_CALLBACK (ui_mainwindow_action_defbudget), (gpointer)data); g_signal_connect (data->MI_manbudtable , "activate", G_CALLBACK (ui_mainwindow_action_defbudgettable), (gpointer)data); g_signal_connect (data->MI_manasg , "activate", G_CALLBACK (ui_mainwindow_action_defassign), (gpointer)data); g_signal_connect (data->MI_mancur , "activate", G_CALLBACK (ui_mainwindow_action_defcurrency), (gpointer)data); g_signal_connect (data->MI_mantag , "activate", G_CALLBACK (ui_mainwindow_action_deftag), (gpointer)data); g_signal_connect (data->MI_txnadd , "activate", G_CALLBACK (ui_mainwindow_action_addtransactions), (gpointer)data); g_signal_connect (data->MI_txnshow , "activate", G_CALLBACK (ui_mainwindow_action_showtransactions), (gpointer)data); g_signal_connect (data->MI_txnshowall , "activate", G_CALLBACK (ui_mainwindow_action_showalltransactions), (gpointer)data); g_signal_connect (data->MI_scheduler , "activate", G_CALLBACK (ui_mainwindow_action_properties), (gpointer)data); g_signal_connect (data->MI_addscheduled , "activate", G_CALLBACK (ui_mainwindow_action_checkscheduled), (gpointer)data); g_signal_connect (data->MI_repstat , "activate", G_CALLBACK (ui_mainwindow_action_statistic), (gpointer)data); g_signal_connect (data->MI_reptime , "activate", G_CALLBACK (ui_mainwindow_action_trendtime), (gpointer)data); g_signal_connect (data->MI_repbal , "activate", G_CALLBACK (ui_mainwindow_action_balance), (gpointer)data); g_signal_connect (data->MI_repbudg , "activate", G_CALLBACK (ui_mainwindow_action_budget), (gpointer)data); g_signal_connect (data->MI_repvehi , "activate", G_CALLBACK (ui_mainwindow_action_vehiclecost), (gpointer)data); g_signal_connect (data->MI_welcome , "activate", G_CALLBACK (ui_mainwindow_action_help_welcome), (gpointer)data); g_signal_connect (data->MI_filestats , "activate", G_CALLBACK (ui_mainwindow_action_file_statistics), (gpointer)data); g_signal_connect (data->MI_anonymise , "activate", G_CALLBACK (ui_mainwindow_action_anonymize), (gpointer)data); g_signal_connect (data->MI_contents , "activate", G_CALLBACK (ui_mainwindow_action_help), (gpointer)data); g_signal_connect (data->MI_online , "activate", G_CALLBACK (ui_mainwindow_action_help_online), (gpointer)data); g_signal_connect (data->MI_updates , "activate", G_CALLBACK (ui_mainwindow_action_help_updates), (gpointer)data); g_signal_connect (data->MI_relnote , "activate", G_CALLBACK (ui_mainwindow_action_help_releasenotes), (gpointer)data); g_signal_connect (data->MI_problem , "activate", G_CALLBACK (ui_mainwindow_action_help_problem), (gpointer)data); g_signal_connect (data->MI_translate , "activate", G_CALLBACK (ui_mainwindow_action_help_translate), (gpointer)data); g_signal_connect (data->MI_about , "activate", G_CALLBACK (ui_mainwindow_action_about), (gpointer)data); //toolbar signals g_signal_connect (G_OBJECT (data->BT_new ), "clicked", G_CALLBACK (ui_mainwindow_action_new), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_open ), "clicked", G_CALLBACK (ui_mainwindow_action_open), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_save ), "clicked", G_CALLBACK (ui_mainwindow_action_save), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_manacc), "clicked", G_CALLBACK (ui_mainwindow_action_defaccount), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_manpay), "clicked", G_CALLBACK (ui_mainwindow_action_defpayee), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_mancat), "clicked", G_CALLBACK (ui_mainwindow_action_defcategory), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_mantpl), "clicked", G_CALLBACK (ui_mainwindow_action_defarchive), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_manbud), "clicked", G_CALLBACK (ui_mainwindow_action_defbudget), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_manasg), "clicked", G_CALLBACK (ui_mainwindow_action_defassign), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_txnshow), "clicked", G_CALLBACK (ui_mainwindow_action_showtransactions), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_txnadd), "clicked", G_CALLBACK (ui_mainwindow_action_addtransactions), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_repstat), "clicked", G_CALLBACK (ui_mainwindow_action_statistic), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_reptime), "clicked", G_CALLBACK (ui_mainwindow_action_trendtime), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_repbal ), "clicked", G_CALLBACK (ui_mainwindow_action_balance), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_repbudg), "clicked", G_CALLBACK (ui_mainwindow_action_budget), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_repvehi), "clicked", G_CALLBACK (ui_mainwindow_action_vehiclecost), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_help ), "clicked", G_CALLBACK (ui_mainwindow_action_help_online), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_donate), "clicked", G_CALLBACK (ui_mainwindow_action_help_donate), (gpointer)data); return window; } homebank-5.3.2/src/ui-txn-multi.c0000664000175000017500000005150513604720365013553 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "ui-txn-multi.h" #include "ui-account.h" #include "ui-payee.h" #include "ui-category.h" #include "gtk-dateentry.h" #include "list-operation.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; void ui_multipleedit_dialog_prefill( GtkWidget *widget, Transaction *ope, gint column_id ) { struct ui_multipleedit_dialog_data *data; gchar *tagstr; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print ("\n[ui-multipleedit] prefill\n") ); if(ope != NULL) //if(col_id >= LST_DSPOPE_DATE && col_id != LST_DSPOPE_BALANCE) { switch( column_id ) { case LST_DSPOPE_DATE: gtk_date_entry_set_date(GTK_DATE_ENTRY(data->PO_date), (guint)ope->date); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(data->CM_date), TRUE); break; case LST_DSPOPE_AMOUNT: case LST_DSPOPE_EXPENSE: case LST_DSPOPE_INCOME: gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->ST_amount), ope->amount); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(data->CM_amount), TRUE); break; case LST_DSPOPE_INFO: paymode_combo_box_set_active(GTK_COMBO_BOX(data->NU_mode), ope->paymode); gtk_entry_set_text(GTK_ENTRY(data->ST_info), (ope->info != NULL) ? ope->info : ""); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(data->CM_mode), TRUE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(data->CM_info), TRUE); break; case LST_DSPOPE_PAYEE: ui_pay_comboboxentry_set_active(GTK_COMBO_BOX(data->PO_pay), ope->kpay); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(data->CM_pay), TRUE); break; case LST_DSPOPE_MEMO: gtk_entry_set_text(GTK_ENTRY(data->ST_memo), (ope->memo != NULL) ? ope->memo : ""); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(data->CM_memo), TRUE); break; case LST_DSPOPE_CATEGORY: ui_cat_comboboxentry_set_active(GTK_COMBO_BOX(data->PO_cat), ope->kcat); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(data->CM_cat), TRUE); break; case LST_DSPOPE_TAGS: tagstr = tags_tostring(ope->tags); gtk_entry_set_text(GTK_ENTRY(data->ST_tags), (tagstr != NULL) ? tagstr : ""); g_free(tagstr); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(data->CM_tags), TRUE); break; } } } static void ui_multipleedit_dialog_update( GtkWidget *widget, gpointer user_data ) { struct ui_multipleedit_dialog_data *data; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print ("\n[ui-multipleedit] update\n") ); if(data->PO_date) gtk_widget_set_sensitive (data->PO_date, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(data->CM_date)) ); if(data->ST_amount) gtk_widget_set_sensitive (data->ST_amount , gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(data->CM_amount )) ); if(data->NU_mode && data->ST_info) { gtk_widget_set_sensitive (data->NU_mode, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(data->CM_mode)) ); gtk_widget_set_sensitive (data->ST_info, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(data->CM_info)) ); } if(data->PO_acc) gtk_widget_set_sensitive (data->PO_acc , gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(data->CM_acc )) ); if(data->PO_pay) gtk_widget_set_sensitive (data->PO_pay , gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(data->CM_pay )) ); if(data->PO_cat) gtk_widget_set_sensitive (data->PO_cat , gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(data->CM_cat )) ); if(data->ST_tags) gtk_widget_set_sensitive (data->ST_tags, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(data->CM_tags)) ); if(data->ST_memo) gtk_widget_set_sensitive (data->ST_memo, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(data->CM_memo)) ); if(data->PO_accto) { gboolean sensitive = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(data->CM_xfer)); if(data->PO_acc && sensitive) { //g_signal_handlers_block_by_func(data->CM_acc, ui_multipleedit_dialog_update, NULL); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_acc), FALSE); ui_acc_comboboxentry_set_active(GTK_COMBO_BOX(data->PO_acc), 0); //g_signal_handlers_unblock_by_func(data->CM_acc, ui_multipleedit_dialog_update, NULL); } gtk_widget_set_sensitive (data->LB_acc, !sensitive ); gtk_widget_set_sensitive (data->CM_acc, !sensitive ); gtk_widget_set_sensitive (data->PO_accto, sensitive ); } } static void ui_multipleedit_dialog_init( GtkWidget *widget, gpointer user_data ) { struct ui_multipleedit_dialog_data *data; GtkTreeModel *model; GList *selection, *list; guint32 kcur; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print ("\n[ui-multipleedit] init\n") ); model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->treeview)); selection = gtk_tree_selection_get_selected_rows(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->treeview)), &model); data->has_xfer = FALSE; data->kacc = kcur = 0; list = g_list_last(selection); while(list != NULL) { Transaction *entry; GtkTreeIter iter; gtk_tree_model_get_iter(model, &iter, list->data); gtk_tree_model_get(model, &iter, MODEL_TXN_POINTER, &entry, -1); if((entry->flags & OF_INTXFER)) data->has_xfer = TRUE; //#1812630 manage change to internal xfer if( kcur == 0 ) //store first { kcur = entry->kcur; data->kacc = entry->kacc; } else if( entry->kcur != kcur ) { data->kacc = 0; } list = g_list_previous(list); } g_list_foreach(selection, (GFunc)gtk_tree_path_free, NULL); g_list_free(selection); DB( g_print(" has_xfer = %d\n", data->has_xfer) ); DB( g_print(" kacc = %d\n", data->kacc) ); } gint ui_multipleedit_dialog_apply( GtkWidget *widget, gboolean *do_sort ) { struct ui_multipleedit_dialog_data *data; GtkTreeModel *model; GList *selection, *list; gboolean tmp_sort = FALSE; guint changes; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print ("\n[ui-multipleedit] apply\n") ); changes = GLOBALS->changes_count; model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->treeview)); selection = gtk_tree_selection_get_selected_rows(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->treeview)), &model); list = g_list_last(selection); while(list != NULL) { Transaction *txn; GtkTreeIter iter; const gchar *txt; gboolean change = FALSE; gtk_tree_model_get_iter(model, &iter, list->data); gtk_tree_model_get(model, &iter, MODEL_TXN_POINTER, &txn, -1); DB( g_print(" modifying %s %.2f\n", txn->memo, txn->amount) ); //TODO: this is always true if( list_txn_column_id_isvisible(GTK_TREE_VIEW(data->treeview), LST_DSPOPE_DATE) == TRUE ) { if( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(data->CM_date)) ) { guint32 olddate = txn->date; txn->date = gtk_date_entry_get_date(GTK_DATE_ENTRY(data->PO_date)); DB( g_print(" -> date: '%d'\n", txn->date) ); //#1270687/1792808: sort if date changed if(olddate != txn->date) tmp_sort = TRUE; change = TRUE; } } if( list_txn_column_id_isvisible(GTK_TREE_VIEW(data->treeview), LST_DSPOPE_AMOUNT) == TRUE || list_txn_column_id_isvisible(GTK_TREE_VIEW(data->treeview), LST_DSPOPE_EXPENSE) == TRUE || list_txn_column_id_isvisible(GTK_TREE_VIEW(data->treeview), LST_DSPOPE_INCOME) == TRUE ) { if( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(data->CM_amount)) ) { txn->amount = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_amount)); change = TRUE; } } if( list_txn_column_id_isvisible(GTK_TREE_VIEW(data->treeview), LST_DSPOPE_INFO) == TRUE ) { if( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(data->CM_mode)) ) { txn->paymode = paymode_combo_box_get_active(GTK_COMBO_BOX(data->NU_mode)); change = TRUE; } if( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(data->CM_info)) ) { if(txn->info) { g_free(txn->info); txn->info = NULL; change = TRUE; } txt = gtk_entry_get_text(GTK_ENTRY(data->ST_info)); if (txt && *txt) { txn->info = g_strdup(txt); change = TRUE; } } } if( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(data->CM_acc)) ) { guint32 nkacc = ui_acc_comboboxentry_get_key(GTK_COMBO_BOX(data->PO_acc)); if( transaction_acc_move(txn, txn->kacc, nkacc) ) { GtkTreeIter iter; DB( g_print(" -> acc: '%d'\n", nkacc) ); gtk_tree_model_get_iter(model, &iter, list->data); gtk_list_store_remove(GTK_LIST_STORE(model), &iter); change = TRUE; } } if( list_txn_column_id_isvisible(GTK_TREE_VIEW(data->treeview), LST_DSPOPE_PAYEE) == TRUE ) { if( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(data->CM_pay)) ) { txn->kpay = ui_pay_comboboxentry_get_key_add_new(GTK_COMBO_BOX(data->PO_pay)); DB( g_print(" -> payee: '%d'\n", txn->kpay) ); change = TRUE; } } if( list_txn_column_id_isvisible(GTK_TREE_VIEW(data->treeview), LST_DSPOPE_CATEGORY) == TRUE ) { if( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(data->CM_cat)) ) { if(!(txn->flags & OF_SPLIT)) { txn->kcat = ui_cat_comboboxentry_get_key_add_new(GTK_COMBO_BOX(data->PO_cat)); DB( g_print(" -> category: '%d'\n", txn->kcat) ); change = TRUE; } } } if( list_txn_column_id_isvisible(GTK_TREE_VIEW(data->treeview), LST_DSPOPE_TAGS) == TRUE ) { if( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(data->CM_tags)) ) { txt = (gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_tags)); if (txt && *txt) { g_free(txn->tags); txn->tags = tags_parse(txt); DB( g_print(" -> tags: '%s'\n", txt) ); change = TRUE; } } } if( list_txn_column_id_isvisible(GTK_TREE_VIEW(data->treeview), LST_DSPOPE_MEMO) == TRUE ) { if( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(data->CM_memo)) ) { if(txn->memo) { g_free(txn->memo); txn->memo = NULL; change = TRUE; } txt = gtk_entry_get_text(GTK_ENTRY(data->ST_memo)); if (txt && *txt) { txn->memo = g_strdup(txt); change = TRUE; } } } if( change == TRUE ) { txn->flags |= OF_CHANGED; GLOBALS->changes_count++; } //TODO: not sure this ever happen, to check if( data->has_xfer && (txn->flags & OF_INTXFER) ) { Transaction *child; child = transaction_xfer_child_strong_get(txn); transaction_xfer_child_sync(txn, child); } //#1812630 manage change to internal xfer if( data->has_xfer == FALSE && data->kacc > 0 ) { if( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(data->CM_xfer)) ) { guint32 dstkey = ui_acc_comboboxentry_get_key(GTK_COMBO_BOX(data->PO_accto)); if( dstkey > 0 ) { txn->kxferacc = dstkey; transaction_xfer_search_or_add_child(GTK_WINDOW(data->dialog), txn, dstkey); } } } list = g_list_previous(list); } g_list_foreach(selection, (GFunc)gtk_tree_path_free, NULL); g_list_free(selection); if( do_sort != NULL ) *do_sort = tmp_sort; return GLOBALS->changes_count - changes; } static gboolean ui_multipleedit_dialog_destroy( GtkWidget *widget, gpointer user_data ) { struct ui_multipleedit_dialog_data *data; data = g_object_get_data(G_OBJECT(widget), "inst_data"); DB( g_print ("\n[ui-multipleedit] destroy event occurred\n") ); g_free(data); return FALSE; } GtkWidget *ui_multipleedit_dialog_new(GtkWindow *parent, GtkTreeView *treeview) { struct ui_multipleedit_dialog_data *data; GtkWidget *dialog, *content_area; GtkWidget *group_grid, *label, *widget, *toggle; gint row; DB( g_print ("\n[ui-multipleedit] new\n") ); data = g_malloc0(sizeof(struct ui_multipleedit_dialog_data)); if(!data) return NULL; dialog = gtk_dialog_new_with_buttons (NULL, GTK_WINDOW (parent), 0, _("_Cancel"), GTK_RESPONSE_REJECT, _("_OK"), GTK_RESPONSE_ACCEPT, NULL); //g_signal_connect (dialog, "delete_event", G_CALLBACK (register_panel_dispose), (gpointer)data); g_signal_connect (dialog, "destroy", G_CALLBACK (ui_multipleedit_dialog_destroy), (gpointer)data); //store our window private data g_object_set_data(G_OBJECT(dialog), "inst_data", (gpointer)data); DB( g_print(" - new window=%p, inst_data=%p\n", dialog, data) ); data->dialog = dialog; data->treeview = treeview; ui_multipleedit_dialog_init(dialog, NULL); gtk_window_set_title (GTK_WINDOW (data->dialog), _("Multiple edit transactions")); content_area = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_container_set_border_width (GTK_CONTAINER(group_grid), SPACING_LARGE); gtk_container_add (GTK_CONTAINER (content_area), group_grid); row = -1; if( list_txn_column_id_isvisible(GTK_TREE_VIEW(data->treeview), LST_DSPOPE_DATE) == TRUE ) { row++; label = make_label_widget(_("_Date:")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); widget = gtk_check_button_new(); data->CM_date = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); widget = gtk_date_entry_new(label); data->PO_date = widget; gtk_widget_set_hexpand (widget, FALSE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); g_signal_connect (data->CM_date , "toggled", G_CALLBACK (ui_multipleedit_dialog_update), NULL); } if( list_txn_column_id_isvisible(GTK_TREE_VIEW(data->treeview), LST_DSPOPE_AMOUNT) == TRUE || list_txn_column_id_isvisible(GTK_TREE_VIEW(data->treeview), LST_DSPOPE_EXPENSE) == TRUE || list_txn_column_id_isvisible(GTK_TREE_VIEW(data->treeview), LST_DSPOPE_INCOME) == TRUE ) { row++; label = make_label_widget(_("Amou_nt:")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); widget = gtk_check_button_new(); data->CM_amount = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); widget = make_amount(label); data->ST_amount = widget; gtk_widget_set_hexpand (widget, FALSE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); g_signal_connect (data->CM_amount , "toggled", G_CALLBACK (ui_multipleedit_dialog_update), NULL); } row++; label = make_label_widget(_("A_ccount:")); data->LB_acc = label; gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); widget = gtk_check_button_new(); data->CM_acc = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); widget = ui_acc_comboboxentry_new(label); data->PO_acc = widget; gtk_widget_set_hexpand (widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 2, 1); g_signal_connect (data->CM_acc , "toggled", G_CALLBACK (ui_multipleedit_dialog_update), NULL); //gtk_widget_set_margin_top(label, SPACING_MEDIUM); //gtk_widget_set_margin_top(widget, SPACING_MEDIUM); if( list_txn_column_id_isvisible(GTK_TREE_VIEW(data->treeview), LST_DSPOPE_INFO) == TRUE ) { row++; label = make_label_widget(_("Pa_yment:")); data->LB_mode = label; gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); toggle = gtk_check_button_new(); data->CM_mode = toggle; gtk_grid_attach (GTK_GRID (group_grid), toggle, 1, row, 1, 1); widget = make_paymode_nointxfer (label); data->NU_mode = widget; //gtk_widget_set_hexpand (widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); g_signal_connect (data->CM_mode , "toggled", G_CALLBACK (ui_multipleedit_dialog_update), NULL); row++; label = make_label_widget(_("_Info:")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); widget = gtk_check_button_new(); data->CM_info = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); widget = make_string(label); data->ST_info = widget; //gtk_widget_set_hexpand (widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); g_signal_connect (data->CM_info , "toggled", G_CALLBACK (ui_multipleedit_dialog_update), NULL); } if( list_txn_column_id_isvisible(GTK_TREE_VIEW(data->treeview), LST_DSPOPE_PAYEE) == TRUE ) { row++; label = make_label_widget(_("_Payee:")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); widget = gtk_check_button_new(); data->CM_pay = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); widget = ui_pay_comboboxentry_new(label); data->PO_pay = widget; gtk_widget_set_hexpand (widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 2, 1); g_signal_connect (data->CM_pay , "toggled", G_CALLBACK (ui_multipleedit_dialog_update), NULL); } if( list_txn_column_id_isvisible(GTK_TREE_VIEW(data->treeview), LST_DSPOPE_CATEGORY) == TRUE ) { row++; label = make_label_widget(_("Cate_gory:")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); widget = gtk_check_button_new(); data->CM_cat = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); widget = ui_cat_comboboxentry_new(label); data->PO_cat = widget; gtk_widget_set_hexpand (widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 2, 1); g_signal_connect (data->CM_cat , "toggled", G_CALLBACK (ui_multipleedit_dialog_update), NULL); } if( list_txn_column_id_isvisible(GTK_TREE_VIEW(data->treeview), LST_DSPOPE_MEMO) == TRUE ) { row++; label = make_label_widget(_("M_emo:")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); widget = gtk_check_button_new(); data->CM_memo = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); widget = make_memo_entry(label); data->ST_memo = widget; gtk_widget_set_hexpand (widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 2, 1); g_signal_connect (data->CM_memo , "toggled", G_CALLBACK (ui_multipleedit_dialog_update), NULL); } if( list_txn_column_id_isvisible(GTK_TREE_VIEW(data->treeview), LST_DSPOPE_TAGS) == TRUE ) { row++; label = make_label_widget(_("_Tags:")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); widget = gtk_check_button_new(); data->CM_tags = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); widget = make_string(label); data->ST_tags = widget; gtk_widget_set_hexpand (widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 2, 1); g_signal_connect (data->CM_tags , "toggled", G_CALLBACK (ui_multipleedit_dialog_update), NULL); } //#1812630 change txn to int xfer // if selection do not contains xfer already and same currency for all if( data->has_xfer == FALSE && data->kacc > 0 ) { row++; widget = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL); gtk_grid_attach (GTK_GRID (group_grid), widget, 0, row, 4, 1); row++; label = make_label_widget(_("Type as\ntransfer")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); widget = gtk_check_button_new(); data->CM_xfer = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); widget = ui_acc_comboboxentry_new(label); data->PO_accto = widget; gtk_widget_set_hexpand (widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 2, 1); ui_acc_comboboxentry_populate_except(GTK_COMBO_BOX(data->PO_accto), GLOBALS->h_acc, data->kacc, ACC_LST_INSERT_NORMAL); g_signal_connect (data->CM_xfer , "toggled", G_CALLBACK (ui_multipleedit_dialog_update), NULL); } ui_multipleedit_dialog_update(dialog, NULL); ui_acc_comboboxentry_populate(GTK_COMBO_BOX(data->PO_acc), GLOBALS->h_acc, ACC_LST_INSERT_NORMAL); ui_pay_comboboxentry_populate(GTK_COMBO_BOX(data->PO_pay), GLOBALS->h_pay); ui_cat_comboboxentry_populate(GTK_COMBO_BOX(data->PO_cat), GLOBALS->h_cat); gtk_widget_show_all (dialog); if(data->has_xfer == TRUE) { hb_widget_visible (data->LB_acc, FALSE); hb_widget_visible (data->CM_acc, FALSE); hb_widget_visible (data->PO_acc, FALSE); } if( list_txn_column_id_isvisible(GTK_TREE_VIEW(data->treeview), LST_DSPOPE_INFO) == TRUE ) { if(data->has_xfer == TRUE) { hb_widget_visible (data->LB_mode, FALSE); hb_widget_visible (data->CM_mode, FALSE); hb_widget_visible (data->NU_mode, FALSE); } } return dialog; } homebank-5.3.2/src/dsp-account.c0000644000175000017500000024013313617530672013416 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "dsp-account.h" #include "dsp-mainwindow.h" #include "list-operation.h" #include "hub-account.h" #include "ui-widgets.h" #include "ui-filter.h" #include "ui-transaction.h" #include "ui-txn-multi.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; extern gchar *CYA_FLT_TYPE[]; extern gchar *CYA_FLT_STATUS[]; static void register_panel_collect_filtered_txn(GtkWidget *view, gboolean emptysearch); static void register_panel_listview_populate(GtkWidget *view); static void register_panel_action(GtkWidget *widget, gpointer user_data); static void register_panel_update(GtkWidget *widget, gpointer user_data); static void register_panel_export_csv(GtkWidget *widget, gpointer user_data); static void register_panel_make_archive(GtkWidget *widget, gpointer user_data); static void status_selected_foreach_func (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer userdata); static void register_panel_edit_multiple(GtkWidget *widget, Transaction *txn, gint column_id, gpointer user_data); static void register_panel_selection(GtkTreeSelection *treeselection, gpointer user_data); static void register_panel_onRowActivated (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *col, gpointer userdata); static void txn_list_add_by_value(GtkTreeView *treeview, Transaction *ope); static void register_panel_add_single_transaction(GtkWindow *window, Transaction *txn); static void register_panel_add_after_propagate(struct register_panel_data *data, Transaction *add_txn); /* account action functions -------------------- */ static void register_panel_action_editfilter(GtkMenuItem *menuitem, gpointer user_data) { struct register_panel_data *data = user_data; register_panel_action(data->window, GINT_TO_POINTER(ACTION_ACCOUNT_FILTER)); } static void register_panel_action_add(GtkMenuItem *menuitem, gpointer user_data) { struct register_panel_data *data = user_data; register_panel_action(data->window, GINT_TO_POINTER(ACTION_ACCOUNT_ADD)); } static void register_panel_action_inherit(GtkMenuItem *menuitem, gpointer user_data) { struct register_panel_data *data = user_data; register_panel_action(data->window, GINT_TO_POINTER(ACTION_ACCOUNT_INHERIT)); } static void register_panel_action_edit(GtkMenuItem *menuitem, gpointer user_data) { struct register_panel_data *data = user_data; register_panel_action(data->window, GINT_TO_POINTER(ACTION_ACCOUNT_EDIT)); } static void register_panel_action_multiedit(GtkMenuItem *menuitem, gpointer user_data) { struct register_panel_data *data = user_data; register_panel_edit_multiple(data->window, NULL, 0, user_data); } static void register_panel_action_reconcile(GtkMenuItem *menuitem, gpointer user_data) { struct register_panel_data *data = user_data; register_panel_action(data->window, GINT_TO_POINTER(ACTION_ACCOUNT_RECONCILE)); } static void register_panel_action_clear(GtkMenuItem *menuitem, gpointer user_data) { struct register_panel_data *data = user_data; register_panel_action(data->window, GINT_TO_POINTER(ACTION_ACCOUNT_CLEAR)); } static void register_panel_action_none(GtkMenuItem *menuitem, gpointer user_data) { struct register_panel_data *data = user_data; register_panel_action(data->window, GINT_TO_POINTER(ACTION_ACCOUNT_NONE)); } static void register_panel_action_delete(GtkMenuItem *menuitem, gpointer user_data) { struct register_panel_data *data = user_data; register_panel_action(data->window, GINT_TO_POINTER(ACTION_ACCOUNT_DELETE)); } static void register_panel_action_find(GtkMenuItem *menuitem, gpointer user_data) { struct register_panel_data *data = user_data; gtk_widget_grab_focus(data->ST_search); } static void register_panel_action_createtemplate(GtkMenuItem *menuitem, gpointer user_data) { struct register_panel_data *data = user_data; register_panel_make_archive(data->window, NULL); } static void register_panel_action_exportcsv(GtkMenuItem *menuitem, gpointer user_data) { struct register_panel_data *data = user_data; register_panel_export_csv(data->window, NULL); } /* = = = = = = = = future version = = = = = = = = */ static void register_panel_action_exportpdf(GtkMenuItem *menuitem, gpointer user_data) { struct register_panel_data *data = user_data; gchar *name, *filepath; if(data->showall == FALSE) { name = g_strdup_printf("%s.pdf", data->acc->name); filepath = g_build_filename(PREFS->path_export, name, NULL); g_free(name); if( ui_dialog_export_pdf(GTK_WINDOW(data->window), &filepath) == GTK_RESPONSE_ACCEPT ) { DB( g_printf(" filename is'%s'\n", filepath) ); hb_export_pdf_listview(GTK_TREE_VIEW(data->LV_ope), filepath, data->acc->name); } g_free(filepath); } } static void register_panel_action_duplicate_mark(GtkMenuItem *menuitem, gpointer user_data) { struct register_panel_data *data = user_data; DB( g_print("\n[register] check duplicate\n\n") ); // open dialog to select date tolerance in days // with info message // with check/fix button and progress bar // parse listview txn, clear/mark duplicate // apply filter if(data->showall == FALSE) { gint daygap; daygap = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->NB_txn_daygap)); data->similar = transaction_similar_mark (data->acc, daygap); if( data->similar > 0 ) { gchar *text = g_strdup_printf(_("There is %d group of similar transactions"), data->similar); gtk_label_set_text(GTK_LABEL(data->LB_duplicate), text); g_free(text); } else gtk_label_set_text(GTK_LABEL(data->LB_duplicate), _("No similar transaction were found !")); gtk_widget_show(data->IB_duplicate); //#GTK+710888: hack waiting a fix gtk_widget_queue_resize (data->IB_duplicate); gtk_widget_queue_draw (data->LV_ope); } } static void register_panel_action_duplicate_unmark(GtkMenuItem *menuitem, gpointer user_data) { struct register_panel_data *data = user_data; DB( g_print("\n[register] uncheck duplicate\n\n") ); if(data->showall == FALSE) { data->similar = 0; gtk_widget_hide(data->IB_duplicate); transaction_similar_unmark(data->acc); gtk_widget_queue_draw (data->LV_ope); } } static void register_panel_action_check_internal_xfer(GtkMenuItem *menuitem, gpointer user_data) { struct register_panel_data *data = user_data; GtkTreeModel *model; GtkTreeIter iter; GList *badxferlist; gboolean valid; gint count; DB( g_print("\n[register] check intenal xfer\n") ); badxferlist = NULL; model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_ope)); valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { Transaction *txn; gtk_tree_model_get (model, &iter, MODEL_TXN_POINTER, &txn, -1); if( txn->flags & OF_INTXFER ) { if( transaction_xfer_child_strong_get(txn) == NULL ) { DB( g_print(" - invalid xfer: '%s'\n", txn->memo) ); //test unrecoverable (kxferacc = 0) if( txn->kxferacc <= 0 ) { DB( g_print(" - unrecoverable, revert to normal xfer\n") ); txn->flags |= OF_CHANGED; txn->paymode = PAYMODE_XFER; txn->kxfer = 0; txn->kxferacc = 0; } else { //perf must use preprend, see glib doc badxferlist = g_list_prepend(badxferlist, txn); } } } valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } count = g_list_length (badxferlist); DB( g_print(" - found %d invalid int xfer\n", count) ); if(count <= 0) { ui_dialog_msg_infoerror(GTK_WINDOW(data->window), GTK_MESSAGE_INFO, _("Check internal transfer result"), _("No inconsistency found !") ); } else { gboolean do_fix; do_fix = ui_dialog_msg_question( GTK_WINDOW(data->window), _("Check internal transfer result"), _("Inconsistency were found: %d\n" "do you want to review and fix ?"), count ); if(do_fix == GTK_RESPONSE_YES) { GList *tmplist = g_list_first(badxferlist); while (tmplist != NULL) { Transaction *stxn = tmplist->data; //future (open dialog to select date tolerance in days) transaction_xfer_search_or_add_child(GTK_WINDOW(data->window), stxn, 0); tmplist = g_list_next(tmplist); } } } g_list_free (badxferlist); } /* = = = = = = = = end future version = = = = = = = = */ static void register_panel_action_exportqif(GtkMenuItem *menuitem, gpointer user_data) { struct register_panel_data *data = user_data; gchar *filename; // noaction if show all account if(data->showall) return; DB( g_print("\n[register] export QIF\n") ); if( ui_file_chooser_qif(GTK_WINDOW(data->window), &filename) == TRUE ) { hb_export_qif_account_single(filename, data->acc); g_free( filename ); } } static void register_panel_action_converttoeuro(GtkMenuItem *menuitem, gpointer user_data) { struct register_panel_data *data = user_data; gchar *msg; gint result; // noaction if show all account if(data->showall) return; DB( g_print("\n[register] convert euro\n") ); msg = g_strdup_printf(_("Every transaction amount will be divided by %.6f."), PREFS->euro_value); result = ui_dialog_msg_confirm_alert( GTK_WINDOW(data->window), _("Are you sure you want to convert this account\nto Euro as Major currency?"), msg, _("_Convert") ); g_free(msg); if(result == GTK_RESPONSE_OK) { account_convert_euro(data->acc); register_panel_update(data->LV_ope, GINT_TO_POINTER(UF_BALANCE)); } } //#1818052 wish: copy/paste one/multiple transaction(s) static void register_panel_action_edit_copy(GtkMenuItem *menuitem, gpointer user_data) { struct register_panel_data *data = user_data; GtkTreeModel *model; GList *selection, *list; gint count; DB( g_print("\n[register] copy\n") ); //struct register_panel_data *data2; //data2 = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(menuitem), GTK_TYPE_WINDOW)), "inst_data"); //DB( g_print("%p = %p\n", data, data2) ); g_queue_free_full(data->q_txn_clip, (GDestroyNotify)da_transaction_free); data->q_txn_clip = g_queue_new(); model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_ope)); selection = gtk_tree_selection_get_selected_rows(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_ope)), &model); count = 0; list = g_list_first(selection); while(list != NULL) { Transaction *ope, *newope; GtkTreeIter iter; gtk_tree_model_get_iter(model, &iter, list->data); gtk_tree_model_get(model, &iter, MODEL_TXN_POINTER, &ope, -1); newope = da_transaction_clone(ope); DB( g_print(" copy txn %p - '%.2f' '%s'\n", newope, newope->amount, newope->memo) ); g_queue_push_tail(data->q_txn_clip, newope); count++; list = g_list_next(list); } g_list_foreach(selection, (GFunc)gtk_tree_path_free, NULL); g_list_free(selection); if(count > 0 ) register_panel_update(data->window, GINT_TO_POINTER(UF_SENSITIVE)); } static void register_panel_action_edit_paste(GtkMenuItem *menuitem, gpointer user_data) { struct register_panel_data *data = user_data; GList *list; DB( g_print("\n[register] paste normal\n") ); DB( g_print(" paste %d - as today=%d\n", (gint)g_queue_get_length(data->q_txn_clip), (gint) (menuitem == data->MI_pastet)) ); list = g_queue_peek_head_link(data->q_txn_clip); while (list != NULL) { Transaction *item = list->data; Transaction *add_txn; DB( g_print(" paste txn %p - '%.2f' '%s'\n", item, item->amount, item->memo) ); if( (gpointer)menuitem == (gpointer)data->MI_pastet ) item->date = GLOBALS->today; add_txn = transaction_add(GTK_WINDOW(data->window), item); add_txn->flags |= OF_ADDED; register_panel_add_after_propagate(data, add_txn); list = g_list_next(list); } register_panel_update(data->window, GINT_TO_POINTER(UF_SENSITIVE+UF_BALANCE)); } static void register_panel_action_assign(GtkMenuItem *menuitem, gpointer user_data) { struct register_panel_data *data = user_data; gint count; gboolean usermode = TRUE; // noaction if show all account if(data->showall) return; DB( g_print("action assign\n") ); count = transaction_auto_assign(g_queue_peek_head_link(data->acc->txn_queue), data->acc->key); gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_ope)); GLOBALS->changes_count += count; //inform the user if(usermode == TRUE) { gchar *txt; if(count == 0) txt = _("No transaction changed"); else txt = _("transaction changed: %d"); ui_dialog_msg_infoerror(GTK_WINDOW(data->window), GTK_MESSAGE_INFO, _("Automatic assignment result"), txt, count); } //refresh main if( count > 0 ) ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE)); } static void register_panel_action_close(GtkMenuItem *menuitem, gpointer user_data) { struct register_panel_data *data = user_data; DB( g_print("action close\n") ); DB( g_print("window %p\n", data->window) ); gtk_widget_destroy (GTK_WIDGET (data->window)); //g_signal_emit_by_name(data->window, "delete-event", NULL, &result); } /* these 5 functions are independant from account window */ /* account functions -------------------- */ static void register_panel_export_csv(GtkWidget *widget, gpointer user_data) { struct register_panel_data *data; gchar *filename = NULL; GString *node; GIOChannel *io; DB( g_print("\n[register] export csv\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); if( ui_file_chooser_csv(GTK_WINDOW(data->window), GTK_FILE_CHOOSER_ACTION_SAVE, &filename, NULL) == TRUE ) { DB( g_print(" + filename is %s\n", filename) ); io = g_io_channel_new_file(filename, "w", NULL); if(io != NULL) { node = list_txn_to_string(GTK_TREE_VIEW(data->LV_ope), FALSE); g_io_channel_write_chars(io, node->str, -1, NULL, NULL); g_io_channel_unref (io); g_string_free(node, TRUE); } g_free( filename ); } } static void register_panel_edit_multiple(GtkWidget *widget, Transaction *txn, gint column_id, gpointer user_data) { struct register_panel_data *data; GtkWidget *dialog; DB( g_print("\n[register] edit multiple\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print(" - txn:%p, column: %d\n", txn, column_id) ); dialog = ui_multipleedit_dialog_new(GTK_WINDOW(data->window), GTK_TREE_VIEW(data->LV_ope)); if(txn != NULL && column_id != 0) { ui_multipleedit_dialog_prefill(dialog, txn, column_id); } //wait for the user gint result = gtk_dialog_run (GTK_DIALOG (dialog)); if( result == GTK_RESPONSE_ACCEPT ) { gboolean do_sort; gint changes; //#1792808: sort if date changed changes = ui_multipleedit_dialog_apply (dialog, &do_sort); data->do_sort = do_sort; if( changes > 0 ) { //#1782749 update account status if( data->acc != NULL ) data->acc->flags |= AF_CHANGED; ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE)); } } gtk_widget_destroy (dialog); register_panel_update(data->LV_ope, GINT_TO_POINTER(UF_BALANCE)); } /* ** make an archive with the active transaction */ static void register_panel_make_archive(GtkWidget *widget, gpointer user_data) { struct register_panel_data *data; GtkTreeModel *model; GList *selection, *list; gint result, count; DB( g_print("\n[register] make archive\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); count = gtk_tree_selection_count_selected_rows(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_ope))); if( count > 0 ) { result = ui_dialog_msg_confirm_alert( GTK_WINDOW(data->window), NULL, _("Do you want to create a template with\neach of the selected transaction ?"), _("_Create") ); /* gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), _("%d archives will be created"), GLOBALS->changes_count ); */ if(result == GTK_RESPONSE_OK) { model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_ope)); selection = gtk_tree_selection_get_selected_rows(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_ope)), &model); list = g_list_first(selection); while(list != NULL) { Archive *item; Transaction *ope; GtkTreeIter iter; gtk_tree_model_get_iter(model, &iter, list->data); gtk_tree_model_get(model, &iter, MODEL_TXN_POINTER, &ope, -1); DB( g_print(" create archive %s %.2f\n", ope->memo, ope->amount) ); item = da_archive_malloc(); da_archive_init_from_transaction(item, ope); //GLOBALS->arc_list = g_list_append(GLOBALS->arc_list, item); da_archive_append_new(item); GLOBALS->changes_count++; list = g_list_next(list); } g_list_foreach(selection, (GFunc)gtk_tree_path_free, NULL); g_list_free(selection); } } } static void register_panel_move_up(GtkWidget *widget, gpointer user_data) { struct register_panel_data *data; Transaction *txn = NULL; Transaction *prevtxn = NULL; gint count = 0; DB( g_print("\n[register] move up\n\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); txn = list_txn_get_surround_transaction(GTK_TREE_VIEW(data->LV_ope), &prevtxn, NULL); if( txn && prevtxn ) { if( txn->date == prevtxn->date ) { DB( g_print(" swapping, as txn are same date\n") ); //swap position gint savedpos = txn->pos; txn->pos = prevtxn->pos; prevtxn->pos = savedpos; GLOBALS->changes_count++; count++; } } if( count > 0 ) { data->do_sort = TRUE; register_panel_update(data->LV_ope, GINT_TO_POINTER(UF_SENSITIVE|UF_BALANCE)); } } static void register_panel_move_down(GtkWidget *widget, gpointer user_data) { struct register_panel_data *data; Transaction *txn = NULL; Transaction *nexttxn = NULL; gint count = 0; DB( g_print("\n[register] move down\n\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); txn = list_txn_get_surround_transaction(GTK_TREE_VIEW(data->LV_ope), NULL, &nexttxn); if( txn && nexttxn ) { if( txn->date == nexttxn->date ) { DB( g_print(" swapping, as txn are same date\n") ); //swap position gint savedpos = txn->pos; txn->pos = nexttxn->pos; nexttxn->pos = savedpos; GLOBALS->changes_count++; count++; } } if( count > 0 ) { data->do_sort = TRUE; register_panel_update(data->LV_ope, GINT_TO_POINTER(UF_SENSITIVE|UF_BALANCE)); } } static void register_panel_cb_bar_duplicate_response(GtkWidget *info_bar, gint response_id, gpointer user_data) { struct register_panel_data *data; DB( g_print("\n[register] bar_duplicate_response\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(info_bar, GTK_TYPE_WINDOW)), "inst_data"); switch( response_id ) { case HB_RESPONSE_REFRESH: register_panel_action_duplicate_mark(NULL, data); break; case GTK_RESPONSE_CLOSE: register_panel_action_duplicate_unmark(NULL, data); gtk_widget_hide (GTK_WIDGET (info_bar)); break; } } static void register_panel_cb_filter_daterange(GtkWidget *widget, gpointer user_data) { struct register_panel_data *data; gboolean future; gint range; DB( g_print("\n[register] filter_daterange\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); range = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_range)); future = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_future)); data->filter->nbdaysfuture = 0; if(range != FLT_RANGE_OTHER) { filter_preset_daterange_set(data->filter, range, (data->showall == FALSE) ? data->acc->key : 0); // add eventual x days into future display if( future && (PREFS->date_future_nbdays > 0) ) filter_preset_daterange_add_futuregap(data->filter, PREFS->date_future_nbdays); register_panel_collect_filtered_txn(data->LV_ope, FALSE); register_panel_listview_populate(data->LV_ope); } else { if(ui_flt_manage_dialog_new(GTK_WINDOW(data->window), data->filter, data->showall, TRUE) != GTK_RESPONSE_REJECT) { register_panel_collect_filtered_txn(data->LV_ope, FALSE); register_panel_listview_populate(data->LV_ope); register_panel_update(data->LV_ope, GINT_TO_POINTER(UF_SENSITIVE+UF_BALANCE)); } } } static void register_panel_cb_filter_type(GtkWidget *widget, gpointer user_data) { struct register_panel_data *data; gint type; DB( g_print("\n[register] filter_type\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); type = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_type)); filter_preset_type_set(data->filter, type); register_panel_collect_filtered_txn(data->LV_ope, FALSE); register_panel_listview_populate(data->LV_ope); } static void register_panel_cb_filter_status(GtkWidget *widget, gpointer user_data) { struct register_panel_data *data; gint status; DB( g_print("\n[register] filter_status\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); status = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_status)); filter_preset_status_set(data->filter, status); register_panel_collect_filtered_txn(data->LV_ope, FALSE); register_panel_listview_populate(data->LV_ope); } static void register_panel_cb_filter_reset(GtkWidget *widget, gpointer user_data) { struct register_panel_data *data; DB( g_print("\n[register] filter_reset\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); filter_reset(data->filter); filter_preset_daterange_set (data->filter, PREFS->date_range_txn, (data->showall == FALSE) ? data->acc->key : 0); if(PREFS->hidereconciled) filter_preset_status_set (data->filter, FLT_STATUS_UNRECONCILED); // add eventual x days into future display if( PREFS->date_future_nbdays > 0 ) filter_preset_daterange_add_futuregap(data->filter, PREFS->date_future_nbdays); register_panel_collect_filtered_txn(data->LV_ope, TRUE); register_panel_listview_populate(data->LV_ope); g_signal_handler_block(data->CY_range, data->handler_id[HID_RANGE]); g_signal_handler_block(data->CY_type, data->handler_id[HID_TYPE]); g_signal_handler_block(data->CY_status, data->handler_id[HID_STATUS]); hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_range), data->filter->range); gtk_combo_box_set_active(GTK_COMBO_BOX(data->CY_type), data->filter->type); gtk_combo_box_set_active(GTK_COMBO_BOX(data->CY_status), data->filter->rawstatus); g_signal_handler_unblock(data->CY_status, data->handler_id[HID_STATUS]); g_signal_handler_unblock(data->CY_type, data->handler_id[HID_TYPE]); g_signal_handler_unblock(data->CY_range, data->handler_id[HID_RANGE]); } static void register_panel_balance_refresh(GtkWidget *view) { struct register_panel_data *data; Transaction *minbalope; GList *list; gdouble balance; GtkTreeModel *model; gdouble lbalance = 0; guint32 ldate = 0; gushort lpos = 1; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(view, GTK_TYPE_WINDOW)), "inst_data"); // noaction if show all account if(data->showall) return; DB( g_print("\n[account %d] balance refresh\n", data->acc != NULL ? (gint)data->acc->key : -1) ); balance = data->acc->initial; //#1270687: sort if date changed if(data->do_sort) { DB( g_print(" - complete txn sort\n") ); da_transaction_queue_sort(data->acc->txn_queue); data->do_sort = FALSE; } minbalope = NULL; list = g_queue_peek_head_link(data->acc->txn_queue); while (list != NULL) { Transaction *ope = list->data; gdouble value; //#1267344 maybe no remind in running balance if( transaction_is_balanceable(ope) ) balance += ope->amount; ope->balance = balance; // clear mark flags ope->dspflags &= ~(TXN_DSPFLG_OVER|TXN_DSPFLG_LOWBAL); //#1661806 add show overdraft //#1672209 added round like for #400483 value = hb_amount_round(balance, 2); if( (value != 0.0) && (value < data->acc->minimum) ) { ope->dspflags |= TXN_DSPFLG_OVER; } //# mark lowest balance for future if( (ope->date > GLOBALS->today) ) { if( balance < lbalance ) minbalope = ope; } if(ope->date == ldate) { ope->pos = ++lpos; } else { ope->pos = lpos = 1; } ldate = ope->date; lbalance = balance; list = g_list_next(list); } if( minbalope != NULL ) minbalope->dspflags |= TXN_DSPFLG_LOWBAL; model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_ope)); list_txn_sort_force(GTK_TREE_SORTABLE(model), NULL); } static void register_panel_collect_filtered_txn(GtkWidget *view, gboolean emptysearch) { struct register_panel_data *data; GList *lst_acc, *lnk_acc; GList *lnk_txn; DB( g_print("\n[register] collect_filtered_txn\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(view, GTK_TYPE_WINDOW)), "inst_data"); if(data->gpatxn != NULL) g_ptr_array_free (data->gpatxn, TRUE); //TODO: why this ? data->gpatxn = g_ptr_array_sized_new(64); lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; // skip closed in showall mode //#1861337 users want them //if( data->showall == TRUE && (acc->flags & AF_CLOSED) ) // goto next_acc; // skip other than current in normal mode if( (data->showall == FALSE) && (data->acc != NULL) && (acc->key != data->acc->key) ) goto next_acc; lnk_txn = g_queue_peek_head_link(acc->txn_queue); while (lnk_txn != NULL) { Transaction *ope = lnk_txn->data; if(filter_txn_match(data->filter, ope) == 1) { //add to the list g_ptr_array_add(data->gpatxn, (gpointer)ope); } lnk_txn = g_list_next(lnk_txn); } next_acc: lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); //#1789698 not always empty if( emptysearch == TRUE ) { g_signal_handler_block(data->ST_search, data->handler_id[HID_SEARCH]); gtk_entry_set_text (GTK_ENTRY(data->ST_search), ""); g_signal_handler_unblock(data->ST_search, data->handler_id[HID_SEARCH]); } } static void register_panel_listview_populate(GtkWidget *widget) { struct register_panel_data *data; GtkTreeModel *model; GtkTreeIter iter; gboolean hastext; gchar *needle; gint sort_column_id; GtkSortType order; guint i, qs_flag; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n[register] listview_populate\n") ); model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_ope)); // ref model to keep it //g_object_ref(model); //gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_ope), NULL); gtk_list_store_clear (GTK_LIST_STORE(model)); // perf: if you leave the sort, insert is damned slow gtk_tree_sortable_get_sort_column_id (GTK_TREE_SORTABLE(GTK_LIST_STORE(model)), &sort_column_id, &order); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(GTK_LIST_STORE(model)), GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID, PREFS->lst_ope_sort_order); hastext = (gtk_entry_get_text_length (GTK_ENTRY(data->ST_search)) >= 2) ? TRUE : FALSE; needle = (gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_search)); //build the mask flag for quick search qs_flag = 0; if(hastext) { qs_flag = list_txn_get_quicksearch_column_mask(GTK_TREE_VIEW(data->LV_ope)); } data->total = 0; data->totalsum = 0.0; for(i=0;igpatxn->len;i++) { Transaction *txn = g_ptr_array_index(data->gpatxn, i); gboolean insert = TRUE; if(hastext) { insert = filter_txn_search_match(needle, txn, qs_flag); } if(insert) { //gtk_list_store_append (GTK_LIST_STORE(model), &iter); //gtk_list_store_set (GTK_LIST_STORE(model), &iter, gtk_list_store_insert_with_values(GTK_LIST_STORE(model), &iter, -1, MODEL_TXN_POINTER, txn, -1); if( data->showall == FALSE ) data->totalsum += txn->amount; else data->totalsum += hb_amount_base (txn->amount, txn->kcur); data->total++; } } //gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_ope), model); /* Re-attach model to view */ //g_object_unref(model); // push back the sort id gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(GTK_LIST_STORE(model)), sort_column_id, order); /* update info range text */ { gchar *daterange; daterange = filter_daterange_text_get(data->filter); gtk_widget_set_tooltip_markup(GTK_WIDGET(data->CY_range), daterange); gtk_label_set_markup(GTK_LABEL(data->TX_daterange), daterange); g_free(daterange); } register_panel_update(data->LV_ope, GINT_TO_POINTER(UF_SENSITIVE+UF_BALANCE)); } static gint txn_list_get_count_reconciled(GtkTreeView *treeview) { GtkTreeModel *model; GList *lselection, *list; gint count = 0; model = gtk_tree_view_get_model(treeview); lselection = gtk_tree_selection_get_selected_rows(gtk_tree_view_get_selection(treeview), &model); list = g_list_last(lselection); while(list != NULL) { GtkTreeIter iter; Transaction *txn; gtk_tree_model_get_iter(model, &iter, list->data); gtk_tree_model_get(model, &iter, MODEL_TXN_POINTER, &txn, -1); if(txn->status == TXN_STATUS_RECONCILED) count++; list = g_list_previous(list); } g_list_foreach(lselection, (GFunc)gtk_tree_path_free, NULL); g_list_free(lselection); return count; } static void txn_list_add_by_value(GtkTreeView *treeview, Transaction *ope) { GtkTreeModel *model; GtkTreeIter iter; //GtkTreePath *path; //GtkTreeSelection *sel; if( ope == NULL ) return; DB( g_print("\n[transaction] add_treeview\n") ); model = gtk_tree_view_get_model(GTK_TREE_VIEW(treeview)); gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, MODEL_TXN_POINTER, ope, -1); //activate that new line //path = gtk_tree_model_get_path(model, &iter); //gtk_tree_view_expand_to_path(GTK_TREE_VIEW(treeview), path); //sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)); //gtk_tree_selection_select_iter(sel, &iter); //gtk_tree_path_free(path); } /* used to remove a intxfer child from a treeview */ static void txn_list_remove_by_value(GtkTreeModel *model, Transaction *txn) { GtkTreeIter iter; gboolean valid; if( txn == NULL ) return; DB( g_print("remove by value %p\n\n", txn) ); valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { Transaction *tmp; gtk_tree_model_get (model, &iter, MODEL_TXN_POINTER, &tmp, -1); if( txn == tmp ) { gtk_list_store_remove(GTK_LIST_STORE(model), &iter); break; } valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } } static void status_selected_foreach_func (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer userdata) { gint targetstatus = GPOINTER_TO_INT(userdata); Transaction *txn; gtk_tree_model_get(model, iter, MODEL_TXN_POINTER, &txn, -1); account_balances_sub(txn); switch(targetstatus) { case TXN_STATUS_NONE: switch(txn->status) { case TXN_STATUS_CLEARED: case TXN_STATUS_RECONCILED: txn->status = TXN_STATUS_NONE; txn->flags |= OF_CHANGED; break; } break; case TXN_STATUS_CLEARED: switch(txn->status) { case TXN_STATUS_NONE: txn->status = TXN_STATUS_CLEARED; txn->flags |= OF_CHANGED; break; case TXN_STATUS_CLEARED: txn->status = TXN_STATUS_NONE; txn->flags |= OF_CHANGED; break; } break; case TXN_STATUS_RECONCILED: switch(txn->status) { case TXN_STATUS_NONE: case TXN_STATUS_CLEARED: txn->status = TXN_STATUS_RECONCILED; txn->flags |= OF_CHANGED; break; case TXN_STATUS_RECONCILED: txn->status = TXN_STATUS_CLEARED; txn->flags |= OF_CHANGED; break; } break; } transaction_changed(txn); account_balances_add(txn); /* #492755 let the child transfer unchanged */ } static void register_panel_add_after_propagate(struct register_panel_data *data, Transaction *add_txn) { if((data->showall == TRUE) || ( (data->acc != NULL) && (add_txn->kacc == data->acc->key) ) ) { txn_list_add_by_value(GTK_TREE_VIEW(data->LV_ope), add_txn); //#1716181 also add to the ptr_array (quickfilter) g_ptr_array_add(data->gpatxn, (gpointer)add_txn); //#1840100 updates when use multiple account window if( (add_txn->flags & OF_INTXFER) ) { GtkWindow *accwin = account_window(add_txn->kxferacc); if(accwin) { Transaction *child = transaction_xfer_child_strong_get(add_txn); if( child ) { register_panel_add_single_transaction(accwin, child); register_panel_update(GTK_WIDGET(accwin), GINT_TO_POINTER(UF_BALANCE)); } } } } } static void remove_active_transaction(GtkTreeView *treeview) { GtkTreeModel *model; GList *list; model = gtk_tree_view_get_model(treeview); list = gtk_tree_selection_get_selected_rows(gtk_tree_view_get_selection(treeview), &model); if(list != NULL) { GtkTreeIter iter; gtk_tree_model_get_iter(model, &iter, list->data); gtk_list_store_remove(GTK_LIST_STORE(model), &iter); } g_list_foreach(list, (GFunc)gtk_tree_path_free, NULL); g_list_free(list); } static void register_panel_add_single_transaction(GtkWindow *window, Transaction *txn) { struct register_panel_data *data; if(txn == NULL) return; DB( g_print("\n[register] add single txn\n") ); data = g_object_get_data(G_OBJECT(window), "inst_data"); txn_list_add_by_value(GTK_TREE_VIEW(data->LV_ope), txn); } static void register_panel_action(GtkWidget *widget, gpointer user_data) { struct register_panel_data *data; gint action = GPOINTER_TO_INT(user_data); guint changes = GLOBALS->changes_count; gboolean result; DB( g_print("\n[register] action\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); //data = INST_DATA(widget); DB( g_print(" - action=%d\n", action) ); switch(action) { case ACTION_ACCOUNT_ADD: case ACTION_ACCOUNT_INHERIT: { GtkWidget *dialog; gint kacc, type = 0; homebank_app_date_get_julian(); if(action == ACTION_ACCOUNT_ADD) { DB( g_print("(transaction) add multiple\n") ); data->cur_ope = da_transaction_malloc(); type = TXN_DLG_ACTION_ADD; result = HB_RESPONSE_ADD; } else { DB( g_print("(transaction) inherit multiple\n") ); data->cur_ope = da_transaction_clone(list_txn_get_active_transaction(GTK_TREE_VIEW(data->LV_ope))); //#1432204 data->cur_ope->status = TXN_STATUS_NONE; type = TXN_DLG_ACTION_INHERIT; result = HB_RESPONSE_ADDKEEP; } kacc = (data->acc != NULL) ? data->acc->key : 0; dialog = create_deftransaction_window(GTK_WINDOW(data->window), type, TXN_DLG_TYPE_TXN, kacc ); while(result == HB_RESPONSE_ADD || result == HB_RESPONSE_ADDKEEP) { if( result == HB_RESPONSE_ADD ) { da_transaction_init(data->cur_ope, kacc); } //#1858945 if keep date=0 we should override with today else if( result == HB_RESPONSE_ADDKEEP ) { //#318733 #1335285 if( PREFS->heritdate == FALSE ) data->cur_ope->date = GLOBALS->today; } deftransaction_set_transaction(dialog, data->cur_ope); result = gtk_dialog_run (GTK_DIALOG (dialog)); if(result == HB_RESPONSE_ADD || result == HB_RESPONSE_ADDKEEP || result == GTK_RESPONSE_ACCEPT) { Transaction *add_txn; deftransaction_get(dialog, NULL); add_txn = transaction_add(GTK_WINDOW(data->window), data->cur_ope); //#1831975 if(PREFS->txn_showconfirm) deftransaction_external_confirm(dialog, add_txn); register_panel_add_after_propagate(data, add_txn); register_panel_update(widget, GINT_TO_POINTER(UF_BALANCE)); //#1667201 already done into transaction_add //data->acc->flags |= AF_ADDED; GLOBALS->changes_count++; } } da_transaction_free (data->cur_ope); deftransaction_dispose(dialog, NULL); gtk_widget_destroy (dialog); } break; case ACTION_ACCOUNT_EDIT: { Transaction *active_txn; DB( g_print(" - edit\n") ); active_txn = list_txn_get_active_transaction(GTK_TREE_VIEW(data->LV_ope)); if(active_txn) { Transaction *old_txn, *new_txn; old_txn = da_transaction_clone (active_txn); new_txn = active_txn; result = deftransaction_external_edit(GTK_WINDOW(data->window), old_txn, new_txn); if(result == GTK_RESPONSE_ACCEPT) { //manage current window display stuff //#1270687: sort if date changed if(old_txn->date != new_txn->date) data->do_sort = TRUE; // txn changed of account //TODO: maybe this should move to deftransaction_external_edit if( data->acc != NULL && (new_txn->kacc != data->acc->key) ) { GtkWindow *accwin = account_window(new_txn->kacc); remove_active_transaction(GTK_TREE_VIEW(data->LV_ope)); //#1667501 update target account window if open if(accwin) { register_panel_add_single_transaction(accwin, new_txn); register_panel_update(GTK_WIDGET(accwin), GINT_TO_POINTER(UF_BALANCE)); } } //#1812470 txn is xfer update target account window if open if( (old_txn->flags & OF_INTXFER) && (old_txn->amount != new_txn->amount) ) { GtkWindow *accwin = account_window(new_txn->kxferacc); if(accwin) { register_panel_update(GTK_WIDGET(accwin), GINT_TO_POINTER(UF_BALANCE)); } } //da_transaction_copy(new_txn, old_txn); register_panel_update(widget, GINT_TO_POINTER(UF_BALANCE)); transaction_changed(new_txn); GLOBALS->changes_count++; } da_transaction_free (old_txn); } } break; case ACTION_ACCOUNT_DELETE: { GtkTreeModel *model; GList *selection, *list; gint result; DB( g_print(" - delete\n") ); result = ui_dialog_msg_confirm_alert( GTK_WINDOW(data->window), NULL, _("Do you want to delete\neach of the selected transaction ?"), _("_Delete") ); if(result == GTK_RESPONSE_OK) { model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_ope)); selection = gtk_tree_selection_get_selected_rows(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_ope)), &model); //block selection change to avoid refresh and call to update g_signal_handlers_block_by_func (G_OBJECT (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_ope))), G_CALLBACK (register_panel_selection), NULL); list = g_list_last(selection); while(list != NULL) { Transaction *rem_txn; GtkTreeIter iter; //#1860232 crash here if no test when reach a txn already removed if( gtk_tree_model_get_iter(model, &iter, list->data) == TRUE ) { gtk_tree_model_get(model, &iter, MODEL_TXN_POINTER, &rem_txn, -1); DB( g_print(" delete %s %.2f\n", rem_txn->memo, rem_txn->amount) ); //#1716181 also remove from the ptr_array (quickfilter) g_ptr_array_remove(data->gpatxn, (gpointer)rem_txn); // 1) remove visible current and potential xfer gtk_list_store_remove(GTK_LIST_STORE(model), &iter); //manage target open window as well if((rem_txn->flags & OF_INTXFER)) { Transaction *child = transaction_xfer_child_strong_get(rem_txn); if( child ) { if( data->showall ) { txn_list_remove_by_value(model, child); //#1716181 also remove from the ptr_array (quickfilter) g_ptr_array_remove(data->gpatxn, (gpointer)child); data->total--; GLOBALS->changes_count++; } //TODO: else } } // 2) remove datamodel transaction_remove(rem_txn); data->total--; GLOBALS->changes_count++; } list = g_list_previous(list); } g_list_foreach(selection, (GFunc)gtk_tree_path_free, NULL); g_list_free(selection); g_signal_handlers_unblock_by_func (G_OBJECT (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_ope))), G_CALLBACK (register_panel_selection), NULL); register_panel_update(widget, GINT_TO_POINTER(UF_BALANCE)); } } break; case ACTION_ACCOUNT_NONE: { GtkTreeSelection *selection; gint count, result; count = txn_list_get_count_reconciled(GTK_TREE_VIEW(data->LV_ope)); if(count > 0 ) { result = ui_dialog_msg_confirm_alert( GTK_WINDOW(data->window), _("Are you sure you want to change the status to None?"), _("Some transaction in your selection are already Reconciled."), _("_Change") ); } else result = GTK_RESPONSE_OK; if( result == GTK_RESPONSE_OK ) { selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_ope)); gtk_tree_selection_selected_foreach(selection, (GtkTreeSelectionForeachFunc)status_selected_foreach_func, GINT_TO_POINTER(TXN_STATUS_NONE)); DB( g_print(" - none\n") ); gtk_widget_queue_draw (data->LV_ope); //gtk_widget_queue_resize (data->LV_acc); register_panel_update(widget, GINT_TO_POINTER(UF_BALANCE)); GLOBALS->changes_count++; } } break; case ACTION_ACCOUNT_CLEAR: { GtkTreeSelection *selection; selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_ope)); gtk_tree_selection_selected_foreach(selection, (GtkTreeSelectionForeachFunc)status_selected_foreach_func, GINT_TO_POINTER(TXN_STATUS_CLEARED)); DB( g_print(" - clear\n") ); gtk_widget_queue_draw (data->LV_ope); //gtk_widget_queue_resize (data->LV_acc); register_panel_update(widget, GINT_TO_POINTER(UF_BALANCE)); GLOBALS->changes_count++; } break; case ACTION_ACCOUNT_RECONCILE: { GtkTreeSelection *selection; gint count, result; count = txn_list_get_count_reconciled(GTK_TREE_VIEW(data->LV_ope)); if(count > 0 ) { result = ui_dialog_msg_confirm_alert( GTK_WINDOW(data->window), _("Are you sure you want to toggle the status Reconciled?"), _("Some transaction in your selection are already Reconciled."), _("_Toggle") ); } else result = GTK_RESPONSE_OK; if( result == GTK_RESPONSE_OK ) { selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_ope)); gtk_tree_selection_selected_foreach(selection, (GtkTreeSelectionForeachFunc)status_selected_foreach_func, GINT_TO_POINTER(TXN_STATUS_RECONCILED)); DB( g_print(" - reconcile\n") ); gtk_widget_queue_draw (data->LV_ope); //gtk_widget_queue_resize (data->LV_acc); register_panel_update(widget, GINT_TO_POINTER(UF_BALANCE)); GLOBALS->changes_count++; } } break; case ACTION_ACCOUNT_FILTER: { if(ui_flt_manage_dialog_new(GTK_WINDOW(data->window), data->filter, data->showall, TRUE) != GTK_RESPONSE_REJECT) { register_panel_collect_filtered_txn(data->LV_ope, TRUE); register_panel_listview_populate(data->LV_ope); register_panel_update(data->LV_ope, GINT_TO_POINTER(UF_SENSITIVE+UF_BALANCE)); g_signal_handler_block(data->CY_range, data->handler_id[HID_RANGE]); hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_range), FLT_RANGE_OTHER); g_signal_handler_unblock(data->CY_range, data->handler_id[HID_RANGE]); } } break; } //refresh main if( GLOBALS->changes_count > changes ) ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE)); } static void register_panel_toggle_minor(GtkWidget *widget, gpointer user_data) { struct register_panel_data *data; DB( g_print("\n[register] toggle\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); register_panel_update(data->LV_ope, GINT_TO_POINTER(UF_BALANCE)); gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_ope)); } static void register_panel_selection(GtkTreeSelection *treeselection, gpointer user_data) { DB( g_print("\n[register] selection changed cb\n") ); register_panel_update(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), GINT_TO_POINTER(UF_SENSITIVE)); } static void register_panel_update(GtkWidget *widget, gpointer user_data) { struct register_panel_data *data; GtkTreeSelection *selection; gint flags = GPOINTER_TO_INT(user_data); gboolean visible; gint count = 0; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); //data = INST_DATA(widget); DB( g_print("\n[account %d] update\n", data->acc != NULL ? (gint)data->acc->key : -1) ); GLOBALS->minor = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_minor)); /* set window title */ if(flags & UF_TITLE) { DB( g_print(" - UF_TITLE\n") ); } /* update toolbar & list */ if(flags & UF_VISUAL) { DB( g_print(" - UF_VISUAL\n") ); if(PREFS->toolbar_style == 0) gtk_toolbar_unset_style(GTK_TOOLBAR(data->TB_bar)); else gtk_toolbar_set_style(GTK_TOOLBAR(data->TB_bar), PREFS->toolbar_style-1); //minor ? if( PREFS->euro_active ) { gtk_widget_show(data->CM_minor); } else { gtk_widget_hide(data->CM_minor); } } /* update balances */ if(flags & UF_BALANCE) { DB( g_print(" - UF_BALANCE\n") ); if(data->showall == FALSE) { Account *acc = data->acc; register_panel_balance_refresh(widget); hb_label_set_colvalue(GTK_LABEL(data->TX_balance[0]), acc->bal_bank, acc->kcur, GLOBALS->minor); hb_label_set_colvalue(GTK_LABEL(data->TX_balance[1]), acc->bal_today, acc->kcur, GLOBALS->minor); hb_label_set_colvalue(GTK_LABEL(data->TX_balance[2]), acc->bal_future, acc->kcur, GLOBALS->minor); } else { GList *lst_acc, *lnk_acc; gdouble bank, today, future; bank = today = future = 0.0; lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; bank += hb_amount_base(acc->bal_bank, acc->kcur); today += hb_amount_base(acc->bal_today, acc->kcur); future += hb_amount_base(acc->bal_future, acc->kcur); lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); hb_label_set_colvalue(GTK_LABEL(data->TX_balance[0]), bank, GLOBALS->kcur, GLOBALS->minor); hb_label_set_colvalue(GTK_LABEL(data->TX_balance[1]), today, GLOBALS->kcur, GLOBALS->minor); hb_label_set_colvalue(GTK_LABEL(data->TX_balance[2]), future, GLOBALS->kcur, GLOBALS->minor); } ui_hub_account_compute(GLOBALS->mainwindow, NULL); } /* update disabled things */ if(flags & UF_SENSITIVE) { gboolean sensitive; GtkTreeModel *model; gint sort_column_id; GtkSortType order; DB( g_print(" - UF_SENSITIVE\n") ); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_ope)); count = gtk_tree_selection_count_selected_rows(selection); DB( g_print(" - count = %d\n", count) ); //showall part visible = !data->showall; hb_widget_visible(data->MI_exportpdf, visible); hb_widget_visible(data->MI_exportqif, visible); hb_widget_visible(data->MI_exportcsv, visible); hb_widget_visible(data->MI_chkintxfer, visible); hb_widget_visible(data->MI_markdup, visible); //5.3.1 if closed account : disable any change sensitive = TRUE; if( (data->showall == FALSE) && (data->acc->flags & AF_CLOSED) ) sensitive = FALSE; gtk_widget_set_sensitive(data->TB_bar, sensitive); gtk_widget_set_sensitive(data->ME_menuedit, sensitive); gtk_widget_set_sensitive(data->ME_menutxn, sensitive); gtk_widget_set_sensitive(data->ME_menutools, sensitive); // multiple: disable inherit, edit sensitive = (count != 1 ) ? FALSE : TRUE; gtk_widget_set_sensitive(data->MI_herit, sensitive); gtk_widget_set_sensitive(data->MI_edit, sensitive); gtk_widget_set_sensitive(data->BT_herit, sensitive); gtk_widget_set_sensitive(data->BT_edit, sensitive); // single: disable multiedit sensitive = (count <= 1 ) ? FALSE : TRUE; gtk_widget_set_sensitive(data->MI_multiedit, sensitive); gtk_widget_set_sensitive(data->BT_multiedit, sensitive); // no selection: disable reconcile, delete sensitive = (count > 0 ) ? TRUE : FALSE; gtk_widget_set_sensitive(data->MI_copy, sensitive); gtk_widget_set_sensitive(data->ME_menustatus, sensitive); gtk_widget_set_sensitive(data->MI_delete, sensitive); gtk_widget_set_sensitive(data->MI_template, sensitive); gtk_widget_set_sensitive(data->BT_delete ,sensitive); gtk_widget_set_sensitive(data->BT_clear, sensitive); gtk_widget_set_sensitive(data->BT_reconcile, sensitive); gtk_widget_set_sensitive(data->BT_template, sensitive); //edit menu sensitive = g_queue_get_length(data->q_txn_clip) > 0 ? TRUE : FALSE; gtk_widget_set_sensitive(data->MI_pasten, sensitive); gtk_widget_set_sensitive(data->MI_pastet, sensitive); // euro convert visible = (data->showall == TRUE) ? FALSE : PREFS->euro_active; if( (data->acc != NULL) && currency_is_euro(data->acc->kcur) ) visible = FALSE; hb_widget_visible(data->MI_conveuro, visible); //move up/down button visible = (count == 1 ) ? TRUE : FALSE; model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_ope)); gtk_tree_sortable_get_sort_column_id (GTK_TREE_SORTABLE(GTK_LIST_STORE(model)), &sort_column_id, &order); if( (data->showall == TRUE) || (sort_column_id != LST_DSPOPE_DATE) ) visible = FALSE; hb_widget_visible(data->BT_up, visible); hb_widget_visible(data->BT_down, visible); //test next txn Transaction *prevtxn, *nexttxn; prevtxn = NULL; nexttxn = NULL; Transaction *txn = list_txn_get_surround_transaction(GTK_TREE_VIEW(data->LV_ope), &prevtxn, &nexttxn); sensitive = FALSE; if( prevtxn && txn ) { sensitive = (prevtxn->date == txn->date) ? TRUE : FALSE; } gtk_widget_set_sensitive(data->BT_up, sensitive); sensitive = FALSE; if( nexttxn && txn ) { sensitive = (nexttxn->date == txn->date) ? TRUE : FALSE; } gtk_widget_set_sensitive(data->BT_down, sensitive); } //#1835588 visible = PREFS->date_future_nbdays > 0 ? TRUE : FALSE; if( !(filter_preset_daterange_future_enable( hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_range)) )) ) visible = FALSE; hb_widget_visible(data->CM_future, visible); DB( g_print(" - show future=%d\n", visible) ); /* update fltinfo */ DB( g_print(" - UF_INFOBAR\n") ); DB( g_print(" - statusbar\n") ); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_ope)); count = gtk_tree_selection_count_selected_rows(selection); DB( g_print(" - nb selected = %d\n", count) ); /* if more than one ope selected, we make a sum to display to the user */ gdouble opeexp = 0.0; gdouble opeinc = 0.0; gchar buf1[64]; gchar buf2[64]; gchar buf3[64]; gchar fbufavg[64]; guint32 kcur; kcur = (data->showall == TRUE) ? GLOBALS->kcur : data->acc->kcur; if( count >= 1 ) { GList *list, *tmplist; GtkTreeModel *model; GtkTreeIter iter; model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_ope)); list = gtk_tree_selection_get_selected_rows(selection, &model); tmplist = g_list_first(list); while (tmplist != NULL) { Transaction *item; gtk_tree_model_get_iter(model, &iter, tmplist->data); gtk_tree_model_get(model, &iter, MODEL_TXN_POINTER, &item, -1); if( data->showall == FALSE ) { if( item->flags & OF_INCOME ) opeinc += item->amount; else opeexp += item->amount; } else { if( item->flags & OF_INCOME ) opeinc += hb_amount_base(item->amount, item->kcur); else opeexp += hb_amount_base(item->amount, item->kcur); } DB( g_print(" - %s, %.2f\n", item->memo, item->amount ) ); tmplist = g_list_next(tmplist); } g_list_free(list); DB( g_print(" %f - %f = %f\n", opeinc, opeexp, opeinc + opeexp) ); hb_strfmon(buf1, 64-1, opeinc, kcur, GLOBALS->minor); hb_strfmon(buf2, 64-1, -opeexp, kcur, GLOBALS->minor); hb_strfmon(buf3, 64-1, opeinc + opeexp, kcur, GLOBALS->minor); hb_strfmon(fbufavg, 64-1, (opeinc + opeexp) / count, kcur, GLOBALS->minor); } gchar *msg; if( count <= 1 ) { msg = g_strdup_printf(_("%d transactions"), data->total); } else msg = g_strdup_printf(_("%d transactions, %d selected, avg: %s, sum: %s (%s - %s)"), data->total, count, fbufavg, buf3, buf1, buf2); gtk_label_set_markup(GTK_LABEL(data->TX_selection), msg); g_free (msg); } void register_panel_onRowActivated (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *col, gpointer userdata) { struct register_panel_data *data; GtkTreeModel *model; GtkTreeIter iter; gint col_id, count; Transaction *ope; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(treeview), GTK_TYPE_WINDOW)), "inst_data"); //5.3.1 if closed account : disable any change if( (data->showall == FALSE) && (data->acc->flags & AF_CLOSED) ) return; col_id = gtk_tree_view_column_get_sort_column_id (col); count = gtk_tree_selection_count_selected_rows(gtk_tree_view_get_selection(treeview)); model = gtk_tree_view_get_model(treeview); //get transaction double clicked to initiate the widget gtk_tree_model_get_iter(model, &iter, path); gtk_tree_model_get(model, &iter, MODEL_TXN_POINTER, &ope, -1); DB( g_print ("%d rows been double-clicked on column=%d! ope=%s\n", count, col_id, ope->memo) ); if( count == 1) { register_panel_action(GTK_WIDGET(treeview), GINT_TO_POINTER(ACTION_ACCOUNT_EDIT)); } else { if( data->showall == FALSE ) { if(col_id >= LST_DSPOPE_DATE && col_id != LST_DSPOPE_BALANCE) { register_panel_edit_multiple (data->window, ope, col_id, data); } } } } /* static gint listview_context_cb (GtkWidget *widget, GdkEventButton *event, GtkWidget *menu) { if (event->button == 3) { if (gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (treeview), (gint) event->x, (gint) event->y, &path, NULL, NULL, NULL)) { gtk_tree_view_set_cursor (GTK_TREE_VIEW (treeview), path, NULL, FALSE); gtk_tree_path_free (path); } gtk_menu_popup (GTK_MENU(menu), NULL, NULL, NULL, NULL, event->button, event->time); // On indique à l'appelant que l'on a géré cet événement. return TRUE; } // On indique à l'appelant que l'on n'a pas géré cet événement. return FALSE; } */ /* ** populate the account window */ void register_panel_window_init(GtkWidget *widget, gpointer user_data) { struct register_panel_data *data; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n[register] init window\n") ); if( data->showall == TRUE ) { //gtk_label_set_text (GTK_LABEL(data->LB_name), _("All transactions")); //hb_widget_visible (data->IM_closed, FALSE); } else { //gtk_label_set_text (GTK_LABEL(data->LB_name), data->acc->name); //hb_widget_visible (data->IM_closed, (data->acc->flags & AF_CLOSED) ? TRUE : FALSE); DB( g_print(" - sort transactions\n") ); da_transaction_queue_sort(data->acc->txn_queue); } list_txn_set_column_acc_visible(GTK_TREE_VIEW(data->LV_ope), data->showall); if( (data->showall == FALSE) && !(data->acc->flags & AF_NOBUDGET) ) list_txn_set_warn_nocategory(GTK_TREE_VIEW(data->LV_ope), TRUE); //DB( g_print(" mindate=%d, maxdate=%d %x\n", data->filter->mindate,data->filter->maxdate) ); DB( g_print(" - set range or populate+update sensitive+balance\n") ); register_panel_cb_filter_reset(widget, user_data); DB( g_print(" - call update visual\n") ); register_panel_update(widget, GINT_TO_POINTER(UF_VISUAL|UF_SENSITIVE)); } /* ** */ static gboolean register_panel_getgeometry(GtkWidget *widget, GdkEventConfigure *event, gpointer user_data) { //struct register_panel_data *data = user_data; struct WinGeometry *wg; DB( g_print("\n[register] get geometry\n") ); //store position and size wg = &PREFS->acc_wg; gtk_window_get_position(GTK_WINDOW(widget), &wg->l, &wg->t); gtk_window_get_size(GTK_WINDOW(widget), &wg->w, &wg->h); GdkWindow *gdk_window = gtk_widget_get_window(GTK_WIDGET(widget)); GdkWindowState state = gdk_window_get_state(gdk_window); wg->s = (state & GDK_WINDOW_STATE_MAXIMIZED) ? 1 : 0; DB( g_print(" window: l=%d, t=%d, w=%d, h=%d s=%d, state=%d\n", wg->l, wg->t, wg->w, wg->h, wg->s, state & GDK_WINDOW_STATE_MAXIMIZED) ); return FALSE; } //beta static gboolean register_panel_cb_focus_in_event(GtkWidget *widget, GdkEventFocus *event, gpointer user_data) { struct register_panel_data *data; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n[register] focus-in event\n") ); if( gtk_widget_is_visible (data->window) ) { DB( g_print("- window is visible\n") ); //register_panel_collect_filtered_txn(data->LV_ope); //register_panel_listview_populate(data->LV_ope); //register_panel_update(data->LV_ope, GINT_TO_POINTER(UF_SENSITIVE+UF_BALANCE)); } return FALSE; } /* ** */ static gboolean register_panel_dispose(GtkWidget *widget, GdkEvent *event, gpointer user_data) { struct register_panel_data *data = user_data; data = g_object_get_data(G_OBJECT(widget), "inst_data"); DB( g_print("\n[register] delete-event\n") ); register_panel_getgeometry(data->window, NULL, data); return FALSE; } /* Another callback */ static gboolean register_panel_destroy( GtkWidget *widget, gpointer user_data ) { struct register_panel_data *data; data = g_object_get_data(G_OBJECT(widget), "inst_data"); DB( g_print ("\n[register] destroy event occurred\n") ); //enable define windows GLOBALS->define_off--; /* unset transaction edit mutex */ if(data->showall == FALSE) data->acc->window = NULL; else GLOBALS->alltxnwindow = NULL; /* free title and filter */ DB( g_print(" user_data=%p to be free\n", user_data) ); g_free(data->wintitle); if(data->gpatxn != NULL) g_ptr_array_free (data->gpatxn, TRUE); g_queue_free_full(data->q_txn_clip, (GDestroyNotify)da_transaction_free); da_flt_free(data->filter); g_free(data); //our global list has changed, so update the treeview ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE+UF_BALANCE+UF_REFRESHALL)); return FALSE; } static void quick_search_text_changed_cb (GtkWidget *widget, gpointer user_data) { struct register_panel_data *data = user_data; register_panel_listview_populate (data->window); } static GtkWidget * register_panel_menubar_create(struct register_panel_data *data) { GtkWidget *menubar; GtkWidget *menu, *submenu; GtkWidget *menuitem; GtkAccelGroup *accel_group = NULL; menubar = gtk_menu_bar_new (); accel_group = gtk_accel_group_new(); gtk_window_add_accel_group(GTK_WINDOW(data->window), accel_group); menu = hbtk_menubar_add_menu(menubar, _("A_ccount"), &data->ME_menuacc); data->MI_exportqif = hbtk_menu_add_menuitem(menu, _("Export QIF...") ); data->MI_exportcsv = hbtk_menu_add_menuitem(menu, _("Export CSV...") ); gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_separator_menu_item_new()); data->MI_exportpdf = hbtk_menu_add_menuitem(menu, _("Export as PDF...") ); gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_separator_menu_item_new()); data->MI_close = menuitem = hbtk_menu_add_menuitem(menu, _("_Close") ); gtk_widget_add_accelerator(menuitem, "activate", accel_group, GDK_KEY_w, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); //#1818052 wish: copy/paste one/multiple transaction(s) menu = hbtk_menubar_add_menu(menubar, _("_Edit"), &data->ME_menuedit); data->MI_copy = menuitem = hbtk_menu_add_menuitem(menu, _("Copy") ); gtk_widget_add_accelerator(menuitem, "activate", accel_group, GDK_KEY_c, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); data->MI_pasten = menuitem = hbtk_menu_add_menuitem(menu, _("Paste") ); gtk_widget_add_accelerator(menuitem, "activate", accel_group, GDK_KEY_v, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); data->MI_pastet = menuitem = hbtk_menu_add_menuitem(menu, _("Paste (today)") ); gtk_widget_add_accelerator(menuitem, "activate", accel_group, GDK_KEY_v, GDK_CONTROL_MASK|GDK_SHIFT_MASK, GTK_ACCEL_VISIBLE); menu = hbtk_menubar_add_menu(menubar, _("Transacti_on"), &data->ME_menutxn); data->MI_add = menuitem = hbtk_menu_add_menuitem(menu, _("_Add...") ); gtk_widget_add_accelerator(menuitem, "activate", accel_group, GDK_KEY_n, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); data->MI_herit = menuitem = hbtk_menu_add_menuitem(menu, _("_Inherit...") ); gtk_widget_add_accelerator(menuitem, "activate", accel_group, GDK_KEY_u, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); data->MI_edit = menuitem = hbtk_menu_add_menuitem(menu, _("_Edit...") ); gtk_widget_add_accelerator(menuitem, "activate", accel_group, GDK_KEY_e, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_separator_menu_item_new()); submenu = hbtk_menubar_add_menu(menu, _("_Status"), &data->ME_menustatus); data->MI_statnone = menuitem = hbtk_menu_add_menuitem(submenu, _("_None") ); gtk_widget_add_accelerator(menuitem, "activate", accel_group, GDK_KEY_c, GDK_CONTROL_MASK|GDK_SHIFT_MASK, GTK_ACCEL_VISIBLE); data->MI_statclear = menuitem = hbtk_menu_add_menuitem(submenu, _("_Cleared") ); gtk_widget_add_accelerator(menuitem, "activate", accel_group, GDK_KEY_r, GDK_CONTROL_MASK|GDK_SHIFT_MASK, GTK_ACCEL_VISIBLE); data->MI_statrecon = menuitem = hbtk_menu_add_menuitem(submenu, _("_Reconciled") ); gtk_widget_add_accelerator(menuitem, "activate", accel_group, GDK_KEY_r, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); data->MI_multiedit = hbtk_menu_add_menuitem(menu, _("_Multiple Edit...") ); data->MI_template = hbtk_menu_add_menuitem(menu, _("Create template...") ); data->MI_delete = menuitem = hbtk_menu_add_menuitem(menu, _("_Delete...") ); gtk_widget_add_accelerator (menuitem, "activate", accel_group, GDK_KEY_Delete, (GdkModifierType)0, GTK_ACCEL_VISIBLE); gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_separator_menu_item_new()); data->MI_find = menuitem = hbtk_menu_add_menuitem(menu, _("_Find") ); gtk_widget_add_accelerator (menuitem, "activate", accel_group, GDK_KEY_f, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); menu = hbtk_menubar_add_menu(menubar, _("_Tools"), &data->ME_menutools); data->MI_markdup = hbtk_menu_add_menuitem(menu, _("Mark duplicate...") ); data->MI_chkintxfer = hbtk_menu_add_menuitem(menu, _("Check internal transfer") ); data->MI_autoassign = hbtk_menu_add_menuitem(menu, _("Auto. assignments") ); data->MI_filter = hbtk_menu_add_menuitem(menu, _("_Filter...") ); data->MI_conveuro = hbtk_menu_add_menuitem(menu, _("Convert to Euro...") ); return menubar; } static GtkWidget * register_panel_toolbar_create(struct register_panel_data *data) { GtkWidget *toolbar, *button; toolbar = gtk_toolbar_new(); data->BT_add = button = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_OPE_ADD, _("Add"), _("Add a new transaction")); g_object_set(button, "is-important", TRUE, NULL); data->BT_herit = button = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_OPE_HERIT, _("Inherit"), _("Inherit from the active transaction")); g_object_set(button, "is-important", TRUE, NULL); data->BT_edit = button = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_OPE_EDIT, _("Edit"), _("Edit the active transaction")); g_object_set(button, "is-important", TRUE, NULL); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), gtk_separator_tool_item_new(), -1); data->BT_clear = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_OPE_CLEARED, _("Cleared"), _("Toggle cleared for selected transaction(s)")); data->BT_reconcile = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_OPE_RECONCILED, _("Reconciled"), _("Toggle reconciled for selected transaction(s)")); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), gtk_separator_tool_item_new(), -1); data->BT_multiedit = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_OPE_MULTIEDIT, _("Edit Multiple"), _("Edit multiple transaction")); data->BT_template = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_CONVERT, _("Create template"), _("Create template")); data->BT_delete = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_OPE_DELETE, _("Delete"), _("Delete selected transaction(s)")); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), gtk_separator_tool_item_new(), -1); data->BT_up = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_OPE_MOVUP, _("Up"), _("Move transaction up")); data->BT_down = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_OPE_MOVDW, _("Down"), _("Move transaction down")); return toolbar; } /* * if accnum = 0 or acc is null : show all account */ GtkWidget *register_panel_window_new(Account *acc) { struct register_panel_data *data; struct WinGeometry *wg; GtkWidget *window, *mainbox, *intbox, *menubar, *table, *sw, *bar; GtkWidget *treeview, *label, *widget, *image; //GtkWidget *menu, *menu_items; DB( g_print("\n[register] create_register_panel_window\n") ); data = g_malloc0(sizeof(struct register_panel_data)); if(!data) return NULL; //disable define windows GLOBALS->define_off++; ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_SENSITIVE)); /* setup TODO: to moove */ data->filter = da_flt_malloc(); data->q_txn_clip = g_queue_new (); /* create window, etc */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); data->window = window; //store our window private data g_object_set_data(G_OBJECT(window), "inst_data", (gpointer)data); DB( g_print(" - new window=%p, inst_data=%p\n", window, data) ); data->acc = acc; data->showall = (acc != NULL) ? FALSE : TRUE; if(data->showall == FALSE) { data->acc->window = GTK_WINDOW(window); if( data->acc->flags & AF_CLOSED ) data->wintitle = g_strdup_printf("%s %s - HomeBank", data->acc->name, _("(closed)")); else data->wintitle = g_strdup_printf("%s - HomeBank", data->acc->name); } else { GLOBALS->alltxnwindow = window; data->wintitle = g_strdup_printf(_("%s - HomeBank"), _("All transactions")); } gtk_window_set_title (GTK_WINDOW (window), data->wintitle); gtk_window_set_icon_name(GTK_WINDOW (window), ICONNAME_HB_OPE_SHOW ); // connect our dispose function g_signal_connect (window, "delete-event", G_CALLBACK (register_panel_dispose), (gpointer)data); // connect our dispose function g_signal_connect (window, "destroy", G_CALLBACK (register_panel_destroy), (gpointer)data); // connect our dispose function //g_signal_connect (window, "configure-event", // G_CALLBACK (register_panel_getgeometry), (gpointer)data); mainbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); //gtk_container_set_border_width(GTK_CONTAINER(mainbox), SPACING_SMALL); gtk_container_add (GTK_CONTAINER (window), mainbox); // new menubar menubar = register_panel_menubar_create(data); gtk_box_pack_start (GTK_BOX (mainbox), menubar, FALSE, FALSE, 0); // info bar for duplicate bar = gtk_info_bar_new_with_buttons (_("_Refresh"), HB_RESPONSE_REFRESH, NULL); data->IB_duplicate = bar; gtk_box_pack_start (GTK_BOX (mainbox), bar, FALSE, FALSE, 0); gtk_info_bar_set_message_type (GTK_INFO_BAR (bar), GTK_MESSAGE_WARNING); gtk_info_bar_set_show_close_button (GTK_INFO_BAR (bar), TRUE); label = gtk_label_new (NULL); data->LB_duplicate = label; gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); gtk_label_set_xalign (GTK_LABEL (label), 0); gtk_box_pack_start (GTK_BOX (gtk_info_bar_get_content_area (GTK_INFO_BAR (bar))), label, FALSE, FALSE, 0); widget = make_numeric(NULL, 0, HB_DATE_MAX_GAP); data->NB_txn_daygap = widget; gtk_box_pack_start (GTK_BOX (gtk_info_bar_get_content_area (GTK_INFO_BAR (bar))), widget, FALSE, FALSE, 0); // windows interior intbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width(GTK_CONTAINER(intbox), SPACING_SMALL); gtk_box_pack_start (GTK_BOX (mainbox), intbox, TRUE, TRUE, 0); table = gtk_grid_new(); gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM); gtk_widget_set_margin_top(table, SPACING_SMALL); gtk_widget_set_margin_bottom(table, SPACING_SMALL); gtk_box_pack_start (GTK_BOX (intbox), table, FALSE, FALSE, 0); label = make_label_widget(_("_Range:")); gtk_grid_attach (GTK_GRID(table), label, 0, 0, 1, 1); data->CY_range = make_daterange(label, DATE_RANGE_CUSTOM_SHOW); gtk_grid_attach (GTK_GRID(table), data->CY_range, 1, 0, 1, 1); widget = gtk_toggle_button_new(); image = gtk_image_new_from_icon_name (ICONNAME_HB_OPE_FUTURE, GTK_ICON_SIZE_MENU); g_object_set (widget, "image", image, NULL); gtk_widget_set_tooltip_text (widget, _("Toggle show future transaction")); data->CM_future = widget; gtk_grid_attach (GTK_GRID(table), widget, 2, 0, 1, 1); label = make_label_widget(_("_Type:")); gtk_grid_attach (GTK_GRID(table), label, 3, 0, 1, 1); data->CY_type = make_cycle(label, CYA_FLT_TYPE); gtk_grid_attach (GTK_GRID(table), data->CY_type, 4, 0, 1, 1); label = make_label_widget(_("_Status:")); gtk_grid_attach (GTK_GRID(table), label, 5, 0, 1, 1); data->CY_status = make_cycle(label, CYA_FLT_STATUS); gtk_grid_attach (GTK_GRID(table), data->CY_status, 6, 0, 1, 1); //widget = gtk_button_new_with_mnemonic (_("Reset _filters")); widget = gtk_button_new_with_mnemonic (_("_Reset")); data->BT_reset = widget; gtk_grid_attach (GTK_GRID(table), widget, 7, 0, 1, 1); widget = make_image_button(ICONNAME_HB_FILTER, _("Open the list filter")); data->BT_filter = widget; gtk_grid_attach (GTK_GRID(table), widget, 8, 0, 1, 1); //TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency widget = gtk_check_button_new_with_mnemonic (_("Euro _minor")); data->CM_minor = widget; gtk_grid_attach (GTK_GRID(table), widget, 9, 0, 1, 1); // account name (+ balance) /* widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); data->IM_closed = widget; gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); label = gtk_label_new(NULL); data->LB_name = label; gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); gtk_widget_set_halign (label, GTK_ALIGN_START); gtk_widget_set_hexpand (label, TRUE); gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); */ //space label = gtk_label_new(NULL); gtk_widget_set_hexpand (label, TRUE); gtk_grid_attach (GTK_GRID(table), label, 10, 0, 1, 1); //test menubutton /* widget = gtk_menu_button_new(); image = gtk_image_new_from_icon_name (ICONNAME_HB_BUTTON_MENU, GTK_ICON_SIZE_MENU); g_object_set (widget, "image", image, NULL); gtk_grid_attach (GTK_GRID(table), widget, 9, 0, 1, 1); */ //quick search widget = make_search (); data->ST_search = widget; gtk_widget_set_size_request(widget, HB_MINWIDTH_SEARCH, -1); gtk_widget_set_halign(widget, GTK_ALIGN_END); gtk_grid_attach (GTK_GRID(table), widget, 11, 0, 1, 1); data->handler_id[HID_SEARCH] = g_signal_connect (data->ST_search, "search-changed", G_CALLBACK (quick_search_text_changed_cb), data); /* test */ table = gtk_grid_new(); gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM); //gtk_style_context_add_class (gtk_widget_get_style_context (table), GTK_STYLE_CLASS_FRAME); //gtk_style_context_add_class (gtk_widget_get_style_context (table), GTK_STYLE_CLASS_VIEW); gtk_box_pack_start (GTK_BOX (intbox), table, FALSE, FALSE, 0); // text range label = gtk_label_new(NULL); data->TX_daterange = label; gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_SMALL, -1); //gtk_widget_set_halign (label, GTK_ALIGN_CENTER); //gtk_widget_set_hexpand (label, TRUE); gtk_grid_attach (GTK_GRID(table), label, 0, 0, 1, 1); // text total/selection label = make_label(NULL, 0.0, 0.5); //gtk_widget_set_halign (label, GTK_ALIGN_START); gtk_widget_set_halign (label, GTK_ALIGN_CENTER); gtk_widget_set_hexpand (label, TRUE); data->TX_selection = label; g_object_set(label, "margin", SPACING_TINY, NULL); gtk_grid_attach (GTK_GRID(table), label, 1, 0, 1, 1); // lock + account name /*hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); //gtk_widget_set_hexpand (hbox, TRUE); gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); data->IM_closed = widget; //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); label = gtk_label_new(NULL); data->LB_name = label; //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); gtk_widget_set_halign (label, GTK_ALIGN_CENTER); //gtk_widget_set_hexpand (label, TRUE); //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); */ label = gtk_label_new(_("Bank:")); gtk_grid_attach (GTK_GRID(table), label, 3, 0, 1, 1); widget = gtk_label_new(NULL); data->TX_balance[0] = widget; gtk_grid_attach (GTK_GRID(table), widget, 4, 0, 1, 1); label = gtk_label_new(_("Today:")); gtk_grid_attach (GTK_GRID(table), label, 5, 0, 1, 1); widget = gtk_label_new(NULL); data->TX_balance[1] = widget; gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); label = gtk_label_new(_("Future:")); gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); widget = gtk_label_new(NULL); data->TX_balance[2] = widget; g_object_set(widget, "margin", SPACING_TINY, NULL); gtk_grid_attach (GTK_GRID(table), widget, 8, 0, 1, 1); //list sw = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); treeview = (GtkWidget *)create_list_transaction(LIST_TXN_TYPE_BOOK, PREFS->lst_ope_columns); data->LV_ope = treeview; gtk_container_add (GTK_CONTAINER (sw), treeview); gtk_box_pack_start (GTK_BOX (intbox), sw, TRUE, TRUE, 0); list_txn_set_save_column_width(GTK_TREE_VIEW(treeview), TRUE); /* toolbars */ table = gtk_grid_new(); gtk_box_pack_start (GTK_BOX (intbox), table, FALSE, FALSE, 0); //test new toolbar bar = register_panel_toolbar_create(data); data->TB_bar = bar; gtk_box_pack_start (GTK_BOX (intbox), bar, FALSE, FALSE, 0); #ifdef G_OS_WIN32 if(PREFS->toolbar_style == 0) { gtk_toolbar_unset_style(GTK_TOOLBAR(data->TB_bar)); } else { gtk_toolbar_set_style(GTK_TOOLBAR(data->TB_bar), PREFS->toolbar_style-1); } #endif //TODO should move this //setup //TODO minor data seems no more used g_object_set_data(G_OBJECT(gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_ope))), "minor", data->CM_minor); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_future), (PREFS->date_future_nbdays > 0) ? TRUE : FALSE ); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_minor), GLOBALS->minor); gtk_widget_grab_focus(GTK_WIDGET(data->LV_ope)); // connect signals //beta g_signal_connect (data->window, "focus-in-event", G_CALLBACK (register_panel_cb_focus_in_event), NULL); g_signal_connect (data->IB_duplicate , "response", G_CALLBACK (register_panel_cb_bar_duplicate_response), NULL); g_signal_connect (data->MI_exportqif , "activate", G_CALLBACK (register_panel_action_exportqif), (gpointer)data); g_signal_connect (data->MI_exportcsv , "activate", G_CALLBACK (register_panel_action_exportcsv), (gpointer)data); g_signal_connect (data->MI_exportpdf , "activate", G_CALLBACK (register_panel_action_exportpdf), (gpointer)data); g_signal_connect (data->MI_close , "activate", G_CALLBACK (register_panel_action_close), (gpointer)data); g_signal_connect (data->MI_copy , "activate", G_CALLBACK (register_panel_action_edit_copy), (gpointer)data); g_signal_connect (data->MI_pasten , "activate", G_CALLBACK (register_panel_action_edit_paste), (gpointer)data); g_signal_connect (data->MI_pastet , "activate", G_CALLBACK (register_panel_action_edit_paste), (gpointer)data); g_signal_connect (data->MI_add , "activate", G_CALLBACK (register_panel_action_add), (gpointer)data); g_signal_connect (data->MI_herit , "activate", G_CALLBACK (register_panel_action_inherit), (gpointer)data); g_signal_connect (data->MI_edit , "activate", G_CALLBACK (register_panel_action_edit), (gpointer)data); g_signal_connect (data->MI_statnone , "activate", G_CALLBACK (register_panel_action_none), (gpointer)data); g_signal_connect (data->MI_statclear , "activate", G_CALLBACK (register_panel_action_clear), (gpointer)data); g_signal_connect (data->MI_statrecon , "activate", G_CALLBACK (register_panel_action_reconcile), (gpointer)data); g_signal_connect (data->MI_multiedit , "activate", G_CALLBACK (register_panel_action_multiedit), (gpointer)data); g_signal_connect (data->MI_template , "activate", G_CALLBACK (register_panel_action_createtemplate), (gpointer)data); g_signal_connect (data->MI_delete , "activate", G_CALLBACK (register_panel_action_delete), (gpointer)data); g_signal_connect (data->MI_find , "activate", G_CALLBACK (register_panel_action_find), (gpointer)data); g_signal_connect (data->MI_markdup , "activate", G_CALLBACK (register_panel_action_duplicate_mark), (gpointer)data); g_signal_connect (data->MI_chkintxfer, "activate", G_CALLBACK (register_panel_action_check_internal_xfer), (gpointer)data); g_signal_connect (data->MI_autoassign, "activate", G_CALLBACK (register_panel_action_assign), (gpointer)data); g_signal_connect (data->MI_filter , "activate", G_CALLBACK (register_panel_action_editfilter), (gpointer)data); g_signal_connect (data->MI_conveuro , "activate", G_CALLBACK (register_panel_action_converttoeuro), (gpointer)data); data->handler_id[HID_RANGE] = g_signal_connect (data->CY_range , "changed", G_CALLBACK (register_panel_cb_filter_daterange), NULL); data->handler_id[HID_TYPE] = g_signal_connect (data->CY_type , "changed", G_CALLBACK (register_panel_cb_filter_type), NULL); data->handler_id[HID_STATUS] = g_signal_connect (data->CY_status, "changed", G_CALLBACK (register_panel_cb_filter_status), NULL); g_signal_connect (data->CM_future, "toggled", G_CALLBACK (register_panel_cb_filter_daterange), NULL); g_signal_connect (data->BT_reset , "clicked", G_CALLBACK (register_panel_cb_filter_reset), NULL); g_signal_connect (data->BT_filter, "clicked", G_CALLBACK (register_panel_action_editfilter), (gpointer)data); g_signal_connect (data->CM_minor , "toggled", G_CALLBACK (register_panel_toggle_minor), NULL); g_signal_connect (G_OBJECT (data->BT_add ), "clicked", G_CALLBACK (register_panel_action_add), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_herit ), "clicked", G_CALLBACK (register_panel_action_inherit), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_edit ), "clicked", G_CALLBACK (register_panel_action_edit), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_clear ), "clicked", G_CALLBACK (register_panel_action_clear), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_reconcile), "clicked", G_CALLBACK (register_panel_action_reconcile), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_multiedit), "clicked", G_CALLBACK (register_panel_action_multiedit), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_template ), "clicked", G_CALLBACK (register_panel_action_createtemplate), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_delete), "clicked", G_CALLBACK (register_panel_action_delete), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_up), "clicked", G_CALLBACK (register_panel_move_up), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_down), "clicked", G_CALLBACK (register_panel_move_down), (gpointer)data); //g_signal_connect (GTK_TREE_VIEW(treeview), "cursor-changed", G_CALLBACK (register_panel_update), (gpointer)2); g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)), "changed", G_CALLBACK (register_panel_selection), NULL); g_signal_connect (GTK_TREE_VIEW(treeview), "row-activated", G_CALLBACK (register_panel_onRowActivated), GINT_TO_POINTER(2)); //todo: test context menu /* menu = gtk_menu_new(); menu_items = gtk_ui_manager_get_widget (ui, "/MenuBar/TxnMenu/Add"); menu_items = gtk_menu_item_new_with_label ("test"); gtk_widget_show(menu_items); gtk_menu_shell_append (GTK_MENU (menu), menu_items); //todo: debug test g_signal_connect (treeview, "button-press-event", G_CALLBACK (listview_context_cb), // todo: here is not a GtkMenu but GtkImageMenuItem... menu //gtk_ui_manager_get_widget (ui, "/MenuBar") ); */ //setup, init and show window wg = &PREFS->acc_wg; if(wg->s == 0) { gtk_window_move(GTK_WINDOW(window), wg->l, wg->t); gtk_window_resize(GTK_WINDOW(window), wg->w, wg->h); } else gtk_window_maximize(GTK_WINDOW(window)); gtk_widget_show_all (window); gtk_widget_hide(data->IB_duplicate); /* make sure splash is up */ while (gtk_events_pending ()) gtk_main_iteration (); return window; } homebank-5.3.2/src/ui-transaction.c0000644000175000017500000014103313606602453014130 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "ui-transaction.h" #include "hb-transaction.h" #include "gtk-dateentry.h" #include "ui-payee.h" #include "ui-category.h" #include "ui-account.h" #include "ui-split.h" #include "ui-tag.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; extern HbKvData CYA_TXN_STATUS[]; // test gchar *CYA_TXN_TYPE[] = { N_("Expense"), N_("Income"), N_("Transfer"), NULL }; extern gchar *CYA_WEEKDAY[]; static void deftransaction_cb_type_toggled(GtkWidget *widget, gpointer user_data); static void ui_popover_tpl_populate(struct deftransaction_data *data, GList *srclist); static gboolean deftransaction_cb_amount_focusout(GtkWidget *widget, GdkEventFocus *event, gpointer user_data); /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void deftransaction_update(GtkWidget *widget, gpointer user_data) { struct deftransaction_data *data; gint type, paymode; gboolean sensitive, visible; Account *srcacc, *dstacc; DB( g_print("\n[ui-transaction] update\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); type = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_type)); paymode = paymode_combo_box_get_active(GTK_COMBO_BOX(data->NU_mode)); visible = (data->type == TXN_DLG_TYPE_TPL) ? FALSE : TRUE; hb_widget_visible(data->LB_date, visible); hb_widget_visible(data->GR_date, visible); visible = (type == TXN_TYPE_INTXFER) ? FALSE : TRUE; hb_widget_visible(data->BT_split, visible); hb_widget_visible(data->LB_mode , visible); hb_widget_visible(data->NU_mode , visible); hb_widget_visible(data->LB_accto, !visible); hb_widget_visible(data->PO_accto, !visible); //this code is duplicated into paymode visible = (paymode == PAYMODE_CHECK) ? TRUE : FALSE; visible = (type == TXN_TYPE_INTXFER) ? FALSE : visible; hb_widget_visible(data->CM_cheque, visible); /* disable amount+category if split is set */ sensitive = (data->ope->flags & (OF_SPLIT)) ? FALSE : TRUE; gtk_widget_set_sensitive(data->RA_type, sensitive); gtk_widget_set_sensitive(data->ST_amount, sensitive); gtk_widget_set_sensitive(data->PO_cat, sensitive); DB( g_print(" action:%d type:%d\n", data->action, data->type) ); //srcacc = ui_acc_comboboxentry_get(GTK_COMBO_BOX(data->PO_acc)); srcacc = ui_acc_entry_popover_get(GTK_BOX(data->PO_acc)); if( type == TXN_TYPE_INTXFER ) { gdouble amount = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_amount)); if( amount <= 0.0 ) { gtk_label_set_text_with_mnemonic (GTK_LABEL(data->LB_accfrom), _("_From:")); gtk_label_set_text_with_mnemonic (GTK_LABEL(data->LB_accto), _("_To:")); } else { gtk_label_set_text_with_mnemonic (GTK_LABEL(data->LB_accto), _("_From:")); gtk_label_set_text_with_mnemonic (GTK_LABEL(data->LB_accfrom), _("_To:")); } } else gtk_label_set_text_with_mnemonic (GTK_LABEL(data->LB_accfrom), _("A_ccount:")); //#1676162 update the nb digits of amount if( srcacc != NULL ) { Currency *cur = da_cur_get(srcacc->kcur); gtk_spin_button_set_digits (GTK_SPIN_BUTTON(data->ST_amount), (cur != NULL) ? cur->frac_digits : 2); gtk_label_set_label(GTK_LABEL(data->LB_curr), strlen(cur->iso_code) == 3 ? cur->iso_code : cur->symbol ); } else { gtk_spin_button_set_digits (GTK_SPIN_BUTTON(data->ST_amount), 2); gtk_label_set_label(GTK_LABEL(data->LB_curr), ""); } // item validation if( (data->type == TXN_DLG_TYPE_TPL) ) { DB( g_print(" add tpl no check\n") ); sensitive = TRUE; } else { DB( g_print(" eval src/dst acc\n") ); sensitive = ( (srcacc != NULL) && (srcacc->key != 0) ) ? TRUE : FALSE; if( (type == TXN_TYPE_INTXFER) ) { sensitive = FALSE; //#1858682 still disabled > faulty test a copy/paste acc instead of accto... //dstacc = ui_acc_comboboxentry_get(GTK_COMBO_BOX(data->PO_accto)); dstacc = ui_acc_entry_popover_get(GTK_BOX(data->PO_accto)); //todo if( (srcacc != NULL) && (dstacc != NULL) ) { if( (dstacc->key != 0) && (dstacc->key != srcacc->key) && (dstacc->kcur == srcacc->kcur) ) { sensitive = TRUE; } } } } gtk_dialog_set_response_sensitive(GTK_DIALOG (data->dialog), GTK_RESPONSE_ACCEPT, sensitive); gtk_dialog_set_response_sensitive(GTK_DIALOG (data->dialog), HB_RESPONSE_ADD, sensitive); gtk_dialog_set_response_sensitive(GTK_DIALOG (data->dialog), HB_RESPONSE_ADDKEEP, sensitive); } static void deftransaction_update_warnsign(GtkWidget *widget, gpointer user_data) { struct deftransaction_data *data; gboolean warning = FALSE; gdouble amount; gint type; Category *cat; DB( g_print("\n[ui-transaction] update warning sign\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); //#1830707 no warning for xfer type = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_type)); if( type != TXN_TYPE_INTXFER ) { //cat = ui_cat_comboboxentry_get(GTK_COMBO_BOX(data->PO_cat)); cat = ui_cat_entry_popover_get(GTK_BOX(data->PO_cat)); if(cat != NULL && cat->key > 0) { amount = hb_amount_round(gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_amount)), 2); if(amount != 0.0) { type = (amount > 0) ? 1 : -1; warning = (category_type_get(cat) != type) ? TRUE : FALSE; } } } if(warning) { gtk_widget_show_all(data->IB_warnsign); //#GTK+710888: hack waiting a GTK fix gtk_widget_queue_resize (data->IB_warnsign); } else gtk_widget_hide(data->IB_warnsign); } static void deftransaction_cb_payee_changed(GtkWidget *widget, gpointer user_data) { struct deftransaction_data *data; Category *cat; gint paymode; Payee *pay; DB( g_print("\n[ui-transaction] update payee\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); //pay = ui_pay_comboboxentry_get(GTK_COMBO_BOX(data->PO_pay)); pay = ui_pay_entry_popover_get(GTK_BOX(data->PO_pay)); if( pay != NULL ) { // only set for empty category // #1635053 and also paymode unset // #1817278 and independently //cat = ui_cat_comboboxentry_get(GTK_COMBO_BOX(data->PO_cat)); cat = ui_cat_entry_popover_get(GTK_BOX(data->PO_cat)); if( (cat == NULL || cat->key == 0) ) { g_signal_handlers_block_by_func (G_OBJECT (data->PO_cat), G_CALLBACK (deftransaction_update_warnsign), NULL); //ui_cat_comboboxentry_set_active(GTK_COMBO_BOX(data->PO_cat), pay->kcat); ui_cat_entry_popover_set_active(GTK_BOX(data->PO_cat), pay->kcat); g_signal_handlers_unblock_by_func (G_OBJECT (data->PO_cat), G_CALLBACK (deftransaction_update_warnsign), NULL); } paymode = paymode_combo_box_get_active(GTK_COMBO_BOX(data->NU_mode)); if( (paymode == PAYMODE_NONE) ) { paymode_combo_box_set_active(GTK_COMBO_BOX(data->NU_mode), pay->paymode); } } } static void deftransaction_set_cheque(GtkWidget *widget, gpointer user_data) { struct deftransaction_data *data; gdouble amount; Account *acc; guint cheque; gchar *cheque_str; DB( g_print("\n[ui-transaction] set_cheque\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); amount = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_amount)); if( amount < 0 ) { //acc = ui_acc_comboboxentry_get(GTK_COMBO_BOX(data->PO_acc)); acc = ui_acc_entry_popover_get(GTK_BOX(data->PO_acc)); //#1410166 if(acc != NULL) { DB( g_print(" - should fill for acc %d '%s'\n", acc->key, acc->name) ); cheque = ( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_cheque))==TRUE ? acc->cheque2 : acc->cheque1 ); cheque_str = g_strdup_printf("%d", cheque + 1); gtk_entry_set_text(GTK_ENTRY(data->ST_info), cheque_str); g_free(cheque_str); } } else if( amount > 0 ) { gtk_entry_set_text(GTK_ENTRY(data->ST_info), ""); } } static void deftransaction_cb_date_changed(GtkWidget *widget, gpointer user_data) { struct deftransaction_data *data; GDateWeekday weekday; DB( g_print("\n[ui-transaction] date changed\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); weekday = gtk_date_entry_get_weekday(GTK_DATE_ENTRY(data->PO_date)); DB( g_print(" wd=%d %s\n", weekday, CYA_WEEKDAY[weekday]) ); gtk_label_set_label(GTK_LABEL(data->LB_wday), CYA_WEEKDAY[weekday]); } static void deftransaction_cb_accfrom_changed(GtkWidget *widget, gpointer user_data) { struct deftransaction_data *data; Account *srcacc; DB( g_print("\n[ui-transaction] update accto\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); //srcacc = ui_acc_comboboxentry_get(GTK_COMBO_BOX(data->PO_acc)); srcacc = ui_acc_entry_popover_get(GTK_BOX(data->PO_acc)); if( srcacc ) { //ui_acc_comboboxentry_populate_except(GTK_COMBO_BOX(data->PO_accto), GLOBALS->h_acc, srcacc->key, ACC_LST_INSERT_NORMAL); ui_acc_entry_popover_populate_except(GTK_BOX(data->PO_accto), GLOBALS->h_acc, srcacc->key, ACC_LST_INSERT_NORMAL); } deftransaction_update(widget, user_data); } static void deftransaction_set(GtkWidget *widget, gpointer user_data) { struct deftransaction_data *data; Transaction *entry; gint type; gchar *tagstr; DB( g_print("\n[ui-transaction] set\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); entry = data->ope; DB( g_print(" - ope=%p data=%p\n", data->ope, data) ); //TRANSFER has priority on INCOME //type = TXN_TYPE_NONE; if(entry->flags & OF_INTXFER) type = TXN_TYPE_INTXFER; else { type = TXN_TYPE_EXPENSE; if(entry->flags & OF_INCOME) type = TXN_TYPE_INCOME; } hbtk_radio_button_block_by_func(GTK_CONTAINER(data->RA_type), G_CALLBACK(deftransaction_cb_type_toggled), NULL); hbtk_radio_button_set_active(GTK_CONTAINER(data->RA_type), type); hbtk_radio_button_unblock_by_func(GTK_CONTAINER(data->RA_type), G_CALLBACK(deftransaction_cb_type_toggled), NULL); gtk_date_entry_set_date(GTK_DATE_ENTRY(data->PO_date), (guint)entry->date); hbtk_entry_set_text(GTK_ENTRY(data->ST_memo), entry->memo); g_signal_handlers_block_by_func(G_OBJECT(data->ST_amount), G_CALLBACK(deftransaction_cb_amount_focusout), NULL); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->ST_amount), entry->amount); g_signal_handlers_unblock_by_func(G_OBJECT(data->ST_amount), G_CALLBACK(deftransaction_cb_amount_focusout), NULL); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_cheque), (entry->flags & OF_CHEQ2) ? 1 : 0); hbtk_entry_set_text(GTK_ENTRY(data->ST_info), entry->info); //ui_cat_comboboxentry_set_active(GTK_COMBO_BOX(data->PO_cat), entry->kcat); ui_cat_entry_popover_set_active(GTK_BOX(data->PO_cat), entry->kcat); //ui_pay_comboboxentry_set_active(GTK_COMBO_BOX(data->PO_pay), entry->kpay); ui_pay_entry_popover_set_active(GTK_BOX(data->PO_pay), entry->kpay); tagstr = tags_tostring(entry->tags); hbtk_entry_set_text(GTK_ENTRY(data->ST_tags), tagstr); g_free(tagstr); hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_status), entry->status ); //as we trigger an event on this //let's place it at the end to avoid missvalue on the trigger function //g_signal_handlers_block_by_func (G_OBJECT (data->PO_acc), G_CALLBACK (deftransaction_cb_accfrom_changed), NULL); g_signal_handlers_block_by_func (G_OBJECT (ui_acc_entry_popover_get_entry(GTK_BOX(data->PO_acc))), G_CALLBACK (deftransaction_cb_accfrom_changed), NULL); if( entry->kacc > 0 ) { //ui_acc_comboboxentry_set_active(GTK_COMBO_BOX(data->PO_acc), entry->kacc); ui_acc_entry_popover_set_active(GTK_BOX(data->PO_acc), entry->kacc); } else //1829007 set first item if only 1 account { //#1859077 >=5.3 no default account, as we should pass acckey here ui_acc_entry_popover_set_single(GTK_BOX(data->PO_acc)); } //g_signal_handlers_unblock_by_func (G_OBJECT (data->PO_acc), G_CALLBACK (deftransaction_cb_accfrom_changed), NULL); g_signal_handlers_unblock_by_func (G_OBJECT (ui_acc_entry_popover_get_entry(GTK_BOX(data->PO_acc))), G_CALLBACK (deftransaction_cb_accfrom_changed), NULL); //ui_acc_comboboxentry_populate_except(GTK_COMBO_BOX(data->PO_accto), GLOBALS->h_acc, entry->kacc, ACC_LST_INSERT_NORMAL); ui_acc_entry_popover_populate_except(GTK_BOX(data->PO_accto), GLOBALS->h_acc, entry->kacc, ACC_LST_INSERT_NORMAL); //ui_acc_comboboxentry_set_active(GTK_COMBO_BOX(data->PO_accto), entry->kxferacc); ui_acc_entry_popover_set_active(GTK_BOX(data->PO_accto), entry->kxferacc); paymode_combo_box_set_active(GTK_COMBO_BOX(data->NU_mode), entry->paymode); DB( g_print("[ui-transaction] end set\n") ); } static gboolean deftransaction_cb_amount_focusout(GtkWidget *widget, GdkEventFocus *event, gpointer user_data) { struct deftransaction_data *data; gint type; gdouble amount; gboolean change; DB( g_print("\n[ui-transaction] amount focus-out-event %d\n", gtk_widget_is_focus(widget)) ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); //#1681532 not reproduced, but prevent if( GTK_IS_COMBO_BOX(data->NU_mode) ) { type = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_type)); amount = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_amount)); change = FALSE; if( hb_amount_type_match(amount, type) == FALSE ) change = TRUE; // for internal transfer add, amount must be expense by default if( type == TXN_TYPE_INTXFER && data->action == TXN_DLG_ACTION_ADD && amount > 0) change = TRUE; if( change == TRUE ) { g_signal_handlers_block_by_func(G_OBJECT(data->ST_amount), G_CALLBACK(deftransaction_cb_amount_focusout), NULL); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->ST_amount), amount *= -1); g_signal_handlers_unblock_by_func(G_OBJECT(data->ST_amount), G_CALLBACK(deftransaction_cb_amount_focusout), NULL); } DB( g_print(" - call warnsign\n") ); deftransaction_update_warnsign(widget, NULL); } return FALSE; } static void deftransaction_cb_split_clicked(GtkWidget *widget, gpointer user_data) { struct deftransaction_data *data; Transaction *ope; gdouble amount; gint type, nbsplit; DB( g_print("\n[ui-transaction] cb split clicked\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); ope = data->ope; type = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_type)); amount = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_amount)); ui_split_dialog(data->dialog, &ope->splits, type, amount, &deftransaction_set_amount_from_split); DB( g_print(" - after closed dialog\n") ); /* old stuffs */ //# 1419476 empty category when no split either... if( (ope->flags & (OF_SPLIT)) ) { //# 1416624 empty category when split g_signal_handlers_block_by_func (G_OBJECT (data->PO_cat), G_CALLBACK (deftransaction_update_warnsign), NULL); //ui_cat_comboboxentry_set_active(GTK_COMBO_BOX(data->PO_cat), 0); ui_cat_entry_popover_set_active(GTK_BOX(data->PO_cat), 0); g_signal_handlers_unblock_by_func (G_OBJECT (data->PO_cat), G_CALLBACK (deftransaction_update_warnsign), NULL); } //eval split to garantee disabled items ope->flags &= ~(OF_SPLIT); nbsplit = da_splits_length(ope->splits); if(nbsplit > 0) data->ope->flags |= (OF_SPLIT); DB( g_print(" - call update\n") ); deftransaction_update(data->dialog, NULL); } static void deftransaction_paymode(GtkWidget *widget, gpointer user_data) { struct deftransaction_data *data; gint type, paymode; gboolean visible; DB( g_print("\n[ui-transaction] paymode change\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); type = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_type)); paymode = paymode_combo_box_get_active(GTK_COMBO_BOX(data->NU_mode)); visible = (paymode == PAYMODE_CHECK) ? TRUE : FALSE; visible = (type == TXN_TYPE_INTXFER) ? FALSE : visible; hb_widget_visible(data->CM_cheque, visible); /* todo: prefill the cheque number ? */ if( data->action != TXN_DLG_ACTION_EDIT ) { if(paymode == PAYMODE_CHECK) { deftransaction_set_cheque(widget, user_data); } } } static void deftransaction_cb_type_toggled(GtkWidget *widget, gpointer user_data) { struct deftransaction_data *data; gint type; DB( g_print("\n[ui-transaction] type change\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); type = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_type)); if( type == TXN_TYPE_INTXFER ) { if( !(data->action == TXN_DLG_ACTION_EDIT) ) deftransaction_cb_accfrom_changed(widget, user_data); } deftransaction_cb_amount_focusout(widget, NULL, user_data); DB( g_print("[ui-transaction] end type change\n") ); deftransaction_update(widget, user_data); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ void deftransaction_set_amount_from_split(GtkWidget *widget, gdouble amount) { struct deftransaction_data *data; DB( g_print("\n[ui-transaction] set_amount_from_split\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("- amount=%.2f\n", amount) ); data->ope->amount = amount; gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->ST_amount), amount); deftransaction_update(widget, NULL); } void deftransaction_get(GtkWidget *widget, gpointer user_data) { struct deftransaction_data *data; Transaction *entry; gchar *txt; gdouble value; gint type, active; DB( g_print("\n[ui-transaction] get\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); entry = data->ope; DB( g_print(" - ope = %p\n", entry) ); //if( entry == NULL ) // return; type = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_type)); entry->flags &= ~(OF_INCOME|OF_INTXFER); if( type == TXN_TYPE_INCOME) entry->flags |= OF_INCOME; if( type == TXN_TYPE_INTXFER) entry->flags |= OF_INTXFER; DB( g_print(" get type to %d\n", type) ); //DB( g_print(" get date to %d\n", entry->ope_Date) ); entry->date = gtk_date_entry_get_date(GTK_DATE_ENTRY(data->PO_date)); //g_object_get(GTK_DATE_ENTRY(data->PO_date), "date", entry->ope_Date); //free any previous string if( entry->memo ) { g_free(entry->memo); entry->memo = NULL; } txt = (gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_memo)); // ignore if entry is empty if (txt && *txt) { entry->memo = g_strdup(txt); //#1716182 add into memo autocomplete if( da_transaction_insert_memo(entry) ) { GtkEntryCompletion *completion; GtkTreeModel *model; GtkTreeIter iter; completion = gtk_entry_get_completion (GTK_ENTRY(data->ST_memo)); model = gtk_entry_completion_get_model (completion); gtk_list_store_insert_with_values(GTK_LIST_STORE(model), &iter, -1, 0, txt, -1); } } value = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_amount)); entry->amount = value; //free any previous string if( entry->info ) { g_free(entry->info); entry->info = NULL; } txt = (gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_info)); // ignore if entry is empty if (txt && *txt) { entry->info = g_strdup(txt); } entry->paymode = paymode_combo_box_get_active(GTK_COMBO_BOX(data->NU_mode)); //entry->kcat = ui_cat_comboboxentry_get_key_add_new(GTK_COMBO_BOX(data->PO_cat)); entry->kcat = ui_cat_entry_popover_get_key_add_new(GTK_BOX(data->PO_cat)); //entry->kpay = ui_pay_comboboxentry_get_key_add_new(GTK_COMBO_BOX(data->PO_pay)); entry->kpay = ui_pay_entry_popover_get_key_add_new(GTK_BOX(data->PO_pay)); //entry->kacc = ui_acc_comboboxentry_get_key(GTK_COMBO_BOX(data->PO_acc)); entry->kacc = ui_acc_entry_popover_get_key(GTK_BOX(data->PO_acc)); //entry->kxferacc = ui_acc_comboboxentry_get_key(GTK_COMBO_BOX(data->PO_accto)); entry->kxferacc = ui_acc_entry_popover_get_key(GTK_BOX(data->PO_accto)); DB( g_print(" - acc: '%d'\n", entry->kacc) ); /* tags */ txt = (gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_tags)); DB( g_print(" - tags: '%s'\n", txt) ); g_free(entry->tags); entry->tags = tags_parse(txt); entry->status = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_status)); // consistency checks /* for internal transfer add, amount must be expense */ // #617936 /* if( entry->paymode == PAYMODE_INTXFER && data->action == OPERATION_EDIT_ADD ) { if( entry->amount > 0 ) entry->amount *= -1; } */ //#1615245: moved here, after get combo entry key //if( entry->paymode != PAYMODE_INTXFER ) if( !(entry->flags & OF_INTXFER) ) { //#677351: revert kxferacc to 0 entry->kxferacc = 0; } else entry->paymode = PAYMODE_NONE; /* flags */ //entry->flags = 0; entry->flags &= ~(OF_SPLIT); //(split is set in hb_transaction) //1859117: keep the split flag if( da_splits_length (entry->splits) > 0 ) entry->flags |= OF_SPLIT; //Flag that Splits are active if( data->action == TXN_DLG_ACTION_ADD || data->action == TXN_DLG_ACTION_INHERIT) entry->flags |= OF_ADDED; if( data->action == TXN_DLG_ACTION_EDIT) entry->flags |= OF_CHANGED; active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_cheque)); if(active == 1) entry->flags |= OF_CHEQ2; //active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_amount)); active = entry->amount > 0 ? TRUE : FALSE; if(active == TRUE) entry->flags |= OF_INCOME; } static gboolean confirm_handler(struct deftransaction_data *data) { DB( g_print("\n[ui-transaction] hide confirm text\n") ); //#1859088 normally dispose remove the event source, so we don't land here after timeout hb_widget_visible(data->LB_msgadded, FALSE); data->evtsrcid = 0; return FALSE; } void deftransaction_external_confirm(GtkWidget *dialog, Transaction *ope) { struct deftransaction_data *data; gchar buf[G_ASCII_DTOSTR_BUF_SIZE]; gchar *txt; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(dialog, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n[ui-transaction] display confirm text\n") ); if(data->evtsrcid > 0 ) return; hb_strfmon(buf, G_ASCII_DTOSTR_BUF_SIZE-1, ope->amount, ope->kcur, GLOBALS->minor); txt = g_strdup_printf(_("Transaction of %s created."), buf); gtk_label_set_text(GTK_LABEL(data->LB_msgadded), txt); g_free(txt); hb_widget_visible(data->LB_msgadded, TRUE); data->evtsrcid = g_timeout_add(5000, (GSourceFunc) confirm_handler, (gpointer) data); } /* ** called from outside (register/report detail) */ gint deftransaction_external_edit(GtkWindow *parent, Transaction *old_txn, Transaction *new_txn) { GtkWidget *dialog; gboolean result; Account *acc; DB( g_print("\n[ui-transaction] external edit (from out)\n") ); dialog = create_deftransaction_window(GTK_WINDOW(parent), TXN_DLG_ACTION_EDIT, TXN_DLG_TYPE_TXN, 0); deftransaction_set_transaction(dialog, new_txn); result = gtk_dialog_run (GTK_DIALOG (dialog)); if(result == GTK_RESPONSE_ACCEPT) { deftransaction_get(dialog, NULL); account_balances_sub(old_txn); account_balances_add(new_txn); /* update account flag */ acc = da_acc_get(new_txn->kacc); if(acc) acc->flags |= AF_CHANGED; /* ok different case here * new is intxfer a) old was not check for existing child or add it b) old was sync (acc change is inside now) * new is not intxfer a) old was manage break intxfer * always manage account change */ //if( new_txn->paymode == PAYMODE_INTXFER ) if( new_txn->flags & OF_INTXFER ) { if( !(old_txn->flags & OF_INTXFER) ) { // this call can popup a user dialog to choose transaction_xfer_search_or_add_child(GTK_WINDOW(dialog), new_txn, new_txn->kxferacc); } else { Transaction *child; //use old in case of dst_acc change child = transaction_xfer_child_strong_get(old_txn); //#1584342 was faultly old_txn transaction_xfer_child_sync(new_txn, child); } } else { //#1250061 : manage ability to break an internal xfer if(old_txn->flags & OF_INTXFER) { gint break_result; DB( g_print(" - should break internal xfer\n") ); break_result = ui_dialog_msg_confirm_alert( GTK_WINDOW(parent), NULL, _("Do you want to break the internal transfer ?\n\n" "Proceeding will delete the target transaction."), _("_Break") ); if(break_result == GTK_RESPONSE_OK) { //we must use old_txn to ensure get the child //#1663789 but we must clean new as well transaction_xfer_remove_child(old_txn); new_txn->kxfer = 0; new_txn->kxferacc = 0; } else //force paymode to internal xfer { //new_txn->paymode = PAYMODE_INTXFER; new_txn->flags |= OF_INTXFER; } } } //1638035: manage account change if( old_txn->kacc != new_txn->kacc ) { //todo: maybe we should restrict this also to same currency account //=> no pb for normal, and intxfer is restricted by ui (in theory) transaction_acc_move(new_txn, old_txn->kacc, new_txn->kacc); } } deftransaction_dispose(dialog, NULL); gtk_widget_destroy (dialog); DB( g_print("[ui-transaction] end external edit (from out)\n") ); return result; } void deftransaction_set_transaction(GtkWidget *widget, Transaction *ope) { struct deftransaction_data *data; DB( g_print("\n[ui-transaction] set transaction (from out)\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); //if( ope == NULL ) // return; data->ope = ope; DB( g_print(" - ope=%p data=%p\n", data->ope, data) ); DB( g_print(" - call set\n") ); deftransaction_set(widget, NULL); DB( g_print(" - call update\n") ); deftransaction_update(widget, NULL); DB( g_print(" - call warnsign\n") ); deftransaction_update_warnsign(widget, NULL); DB( g_print("[ui-transaction] end set transaction (from out)\n") ); } // end external call static void deftransaction_setup(struct deftransaction_data *data) { DB( g_print("\n[ui-transaction] setup\n") ); if( data->showtemplate ) { ui_popover_tpl_populate (data, GLOBALS->arc_list); gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(data->modelfilter)); } //ui_acc_comboboxentry_populate(GTK_COMBO_BOX(data->PO_acc), GLOBALS->h_acc, ACC_LST_INSERT_NORMAL); ui_acc_entry_popover_populate(GTK_BOX(data->PO_acc), GLOBALS->h_acc, ACC_LST_INSERT_NORMAL); //5.3 it seems no need to populate @init //ui_acc_comboboxentry_populate(GTK_COMBO_BOX(data->PO_accto), GLOBALS->h_acc, ACC_LST_INSERT_NORMAL); //ui_acc_entry_popover_populate(GTK_COMBO_BOX(data->PO_accto), GLOBALS->h_acc, ACC_LST_INSERT_NORMAL); //5.3 done in popover //ui_cat_comboboxentry_populate(GTK_COMBO_BOX(data->PO_cat), GLOBALS->h_cat); //5.2.7 done in popover //ui_pay_comboboxentry_populate(GTK_COMBO_BOX(data->PO_pay), GLOBALS->h_pay); //ui_tag_combobox_populate(GTK_COMBO_BOX_TEXT(data->CY_tags)); DB( g_print("[ui-transaction] end setup\n") ); } static void ui_popover_tpl_onRowActivated(GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *col, gpointer userdata) { struct deftransaction_data *data; GtkTreeModel *model; GtkTreeIter iter; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(treeview), GTK_TYPE_WINDOW)), "inst_data"); model = gtk_tree_view_get_model(treeview); if (gtk_tree_model_get_iter(model, &iter, path)) { Archive *arc; Transaction *txn; gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, LST_DSPTPL_DATAS, &arc, -1); txn = data->ope; da_transaction_init_from_template(txn, arc); DB( g_print(" calls\n") ); deftransaction_set(GTK_WIDGET(treeview), NULL); deftransaction_paymode(GTK_WIDGET(treeview), NULL); deftransaction_update(GTK_WIDGET(treeview), NULL); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(data->MB_template), FALSE); } } static void ui_popover_tpl_populate(struct deftransaction_data *data, GList *srclist) { GtkTreeModel *model; GtkTreeIter iter; GList *list; //insert all glist item into treeview model = data->model; gtk_list_store_clear(GTK_LIST_STORE(model)); list = g_list_first(srclist); while (list != NULL) { Archive *entry = list->data; gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, LST_DSPTPL_DATAS, entry, LST_DSPTPL_NAME, entry->memo, -1); //DB( g_print(" populate_treeview: %d %08x\n", i, list->data) ); list = g_list_next(list); } } static void ui_popover_tpl_refilter (GtkWidget *widget, gpointer user_data) { struct deftransaction_data *data = user_data; DB( g_print(" text changed\n") ); gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(data->modelfilter)); } static gboolean ui_popover_tpl_func_visible (GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { struct deftransaction_data *data = user_data; Archive *entry; gchar *str; gboolean visible = TRUE; gboolean showsched; gboolean showallacc; showsched = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(data->CM_showsched)); showallacc = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(data->CM_showallacc)); gchar *needle = g_ascii_strdown(gtk_entry_get_text(GTK_ENTRY(data->ST_search)), -1); gtk_tree_model_get (model, iter, LST_DSPTPL_DATAS, &entry, LST_DSPTPL_NAME, &str, -1); if( entry ) { if( !showallacc && (data->kacc != 0) && (entry->kacc != data->kacc) ) visible = FALSE; else { if( (entry->flags & OF_AUTO) && !showsched) { visible = FALSE; } else { gchar *haystack = g_ascii_strdown(str, -1); if (str && g_strrstr (haystack, needle) == NULL ) { visible = FALSE; } DB( g_print("filter: '%s' '%s' %d\n", str, needle, visible) ); g_free(haystack); } } } g_free(needle); g_free (str); return visible; } static GtkWidget *ui_popover_tpl_create(struct deftransaction_data *data) { GtkListStore *store; GtkCellRenderer *renderer; GtkTreeViewColumn *column; GtkWidget *box, *widget, *scrollwin, *treeview; box = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING_SMALL); widget = make_search(); data->ST_search = widget; gtk_box_pack_start (GTK_BOX(box), widget, FALSE, FALSE, 0); scrollwin = gtk_scrolled_window_new(NULL,NULL); gtk_box_pack_start (GTK_BOX(box), scrollwin, TRUE, TRUE, 0); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); store = gtk_list_store_new(NUM_LST_DSPTPL, G_TYPE_POINTER, G_TYPE_STRING); data->model = GTK_TREE_MODEL(store); data->modelfilter = GTK_TREE_MODEL_FILTER(gtk_tree_model_filter_new(GTK_TREE_MODEL(data->model), NULL)); gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(data->modelfilter), ui_popover_tpl_func_visible, data, NULL); treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(data->modelfilter)); data->LV_arc = treeview; gtk_container_add(GTK_CONTAINER(scrollwin), treeview); gtk_widget_grab_focus(treeview); /* column for bug numbers */ renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes (NULL, renderer, "text", LST_DSPTPL_NAME, NULL); //gtk_tree_view_column_set_resizable (column, TRUE); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW(treeview), FALSE); widget = gtk_check_button_new_with_mnemonic(_("Show _scheduled")); data->CM_showsched = widget; gtk_box_pack_start (GTK_BOX(box), widget, FALSE, FALSE, 0); widget = gtk_check_button_new_with_mnemonic(_("Show _all accounts")); data->CM_showallacc = widget; gtk_box_pack_start (GTK_BOX(box), widget, FALSE, FALSE, 0); gtk_widget_show_all (box); //#1796564 hide show all template if no account gtk_widget_set_visible (data->CM_showallacc, data->kacc == 0 ? FALSE : TRUE); //signals g_signal_connect (data->CM_showsched, "toggled", G_CALLBACK (ui_popover_tpl_refilter), data); g_signal_connect (data->CM_showallacc, "toggled", G_CALLBACK (ui_popover_tpl_refilter), data); g_signal_connect (data->ST_search, "search-changed", G_CALLBACK (ui_popover_tpl_refilter), data); return box; } static GtkWidget *deftransaction_create_template(struct deftransaction_data *data) { GtkWidget *box, *menubutton, *image; menubutton = gtk_menu_button_new (); data->MB_template = menubutton; box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); //label = gtk_label_new_with_mnemonic (_("Use a _template")); //gtk_box_pack_start (GTK_BOX(box), label, FALSE, FALSE, 0); image = gtk_image_new_from_icon_name ("pan-down-symbolic", GTK_ICON_SIZE_BUTTON); gtk_box_pack_start (GTK_BOX(box), image, FALSE, FALSE, 0); gtk_container_add(GTK_CONTAINER(menubutton), box); gtk_widget_set_tooltip_text(menubutton, _("Use a template")); gtk_menu_button_set_direction (GTK_MENU_BUTTON(menubutton), GTK_ARROW_DOWN ); gtk_widget_set_halign (menubutton, GTK_ALIGN_END); //gtk_widget_set_hexpand (menubutton, TRUE); gtk_widget_show_all(menubutton); GtkWidget *template = ui_popover_tpl_create(data); GtkWidget *popover = create_popover (menubutton, template, GTK_POS_BOTTOM); gtk_widget_set_size_request (popover, 2*HB_MINWIDTH_LIST, PHI*HB_MINHEIGHT_LIST); //gtk_widget_set_vexpand (popover, TRUE); //gtk_widget_set_hexpand (popover, TRUE); gtk_menu_button_set_popover(GTK_MENU_BUTTON(menubutton), popover); g_signal_connect (GTK_TREE_VIEW(data->LV_arc), "row-activated", G_CALLBACK (ui_popover_tpl_onRowActivated), NULL); return menubutton; } static gboolean deftransaction_getgeometry(GtkWidget *widget, GdkEventConfigure *event, gpointer user_data) { struct WinGeometry *wg; DB( g_print("\n[ui-transaction] get geometry\n") ); //store size wg = &PREFS->txn_wg; gtk_window_get_size(GTK_WINDOW(widget), &wg->w, NULL); DB( g_print(" window: w=%d\n", wg->w) ); return FALSE; } //note: this is called from external usage void deftransaction_dispose(GtkWidget *widget, gpointer user_data) { struct deftransaction_data *data; DB( g_print("\n[ui-transaction] dispose\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); //#1859088 remove any pending event source (g_timeout_add) if(data->evtsrcid > 0) g_source_remove(data->evtsrcid); deftransaction_getgeometry(data->dialog, NULL, data); g_free(data); } GtkWidget *create_deftransaction_window (GtkWindow *parent, HbTxnDlgAction action, HbTxnDlgType type, guint32 kacc) { struct deftransaction_data *data; struct WinGeometry *wg; GtkWidget *dialog, *content; GtkWidget *bar; GtkWidget *group_grid, *hbox, *label, *widget; gchar *title; gint row; DB( g_print("\n\n------------------------\n") ); DB( g_print("\n[ui-transaction] new\n") ); data = g_malloc0(sizeof(struct deftransaction_data)); if(!data) return NULL; dialog = gtk_dialog_new(); gtk_window_set_transient_for (GTK_WINDOW(dialog), GTK_WINDOW(parent)); //store our window private data g_object_set_data(G_OBJECT(dialog), "inst_data", (gpointer)data); DB( g_print(" - window=%p, inst_data=%p\n", dialog, data) ); data->dialog = dialog; data->action = action; data->type = type; data->kacc = kacc; // if you add/delete response_id also change into deftransaction_update if(action == TXN_DLG_ACTION_EDIT) { gtk_dialog_add_buttons (GTK_DIALOG(dialog), _("_Cancel"), GTK_RESPONSE_REJECT, _("_OK"), GTK_RESPONSE_ACCEPT, NULL); } else //ADD_INHERIT { gtk_dialog_add_button(GTK_DIALOG(dialog), _("_Close"), GTK_RESPONSE_REJECT); if( type == TXN_DLG_TYPE_TXN ) gtk_dialog_add_button(GTK_DIALOG(dialog), _("Add & _Keep"), HB_RESPONSE_ADDKEEP); if( !(type == TXN_DLG_TYPE_SCH) ) gtk_dialog_add_button(GTK_DIALOG(dialog), _("_Add"), HB_RESPONSE_ADD); else gtk_dialog_add_button (GTK_DIALOG(dialog), _("_Post"), HB_RESPONSE_ADD); } title = NULL; switch(action) { case TXN_DLG_ACTION_NONE: title = NULL; break; case TXN_DLG_ACTION_ADD: title = _("Add transaction"); if(type == TXN_DLG_TYPE_TPL) { title = _("Add template"); } else if(type == TXN_DLG_TYPE_SCH) { title = _("Post scheduled"); } gtk_window_set_icon_name(GTK_WINDOW (dialog), ICONNAME_HB_OPE_ADD); break; case TXN_DLG_ACTION_INHERIT: title = _("Inherit transaction"); if(type == TXN_DLG_TYPE_TPL) title = _("Inherit template"); gtk_window_set_icon_name(GTK_WINDOW (dialog), ICONNAME_HB_OPE_HERIT); break; case TXN_DLG_ACTION_EDIT: title = _("Edit transaction"); if(type == TXN_DLG_TYPE_TPL) title = _("Edit template"); gtk_window_set_icon_name(GTK_WINDOW (dialog), ICONNAME_HB_OPE_EDIT); break; } gtk_window_set_title (GTK_WINDOW(dialog), title); DB( g_print(" action:%d, type:%d, title:'%s'\n", action, type, title) ); //gtk_window_set_decorated(GTK_WINDOW(dialog), TRUE); //dialog contents content = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); //group main group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); g_object_set(group_grid, "margin", SPACING_LARGE, NULL); gtk_box_pack_start (GTK_BOX (content), group_grid, FALSE, FALSE, 0); row=0; widget = hbtk_radio_button_new(CYA_TXN_TYPE, TRUE); data->RA_type = widget; gtk_widget_set_halign (widget, GTK_ALIGN_CENTER); gtk_grid_attach (GTK_GRID (group_grid), widget, 0, row, 3, 1); gtk_widget_set_margin_bottom(widget, SPACING_MEDIUM); data->showtemplate = FALSE; if( data->action != TXN_DLG_ACTION_EDIT && da_archive_length() > 0 && data->type == TXN_DLG_TYPE_TXN ) { data->showtemplate = TRUE; widget = deftransaction_create_template(data); gtk_widget_set_halign (widget, GTK_ALIGN_END); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); gtk_widget_set_margin_bottom(widget, SPACING_MEDIUM); } row++; label = make_label_widget(_("_Date:")); data->LB_date = label; gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); data->GR_date = hbox; //gtk_widget_set_hexpand(hbox, FALSE); gtk_grid_attach (GTK_GRID (group_grid), hbox, 1, row, 2, 1); widget = gtk_date_entry_new(label); data->PO_date = widget; //gtk_widget_set_halign(widget, GTK_ALIGN_START); gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); widget = gtk_image_new_from_icon_name (ICONNAME_INFO, GTK_ICON_SIZE_BUTTON); //gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); gtk_widget_set_tooltip_text(widget, _("- type: d, d/m, m/d a complete date\n- use arrow key + ctrl or shift\n- empty for today")); gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); label = make_label(NULL, 0, 0.5); data->LB_wday = label; gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); row++; label = make_label_widget(_("Amou_nt:")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); //gtk_widget_set_hexpand(hbox, FALSE); gtk_grid_attach (GTK_GRID (group_grid), hbox, 1, row, 2, 1); widget = make_amount(label); data->ST_amount = widget; //gtk_entry_set_icon_from_icon_name(GTK_ENTRY(widget), GTK_ENTRY_ICON_PRIMARY, ICONNAME_HB_TOGGLE_SIGN); //gtk_entry_set_icon_tooltip_text(GTK_ENTRY(widget), GTK_ENTRY_ICON_PRIMARY, _("Toggle amount sign")); gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); widget = make_image_button(ICONNAME_HB_BUTTON_SPLIT, _("Transaction splits")); data->BT_split = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); label = make_label(NULL, 0, 0.5); data->LB_curr = label; gtk_widget_set_margin_start(label, SPACING_SMALL); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); /*row++; label = make_label_widget(_("A_ccount:")); data->LB_accfrom = label; gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); widget = ui_acc_comboboxentry_new(label); data->PO_acc = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1);*/ row++; label = make_label_widget(_("A_ccount:")); data->LB_accfrom = label; gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); widget = ui_acc_entry_popover_new(label); data->PO_acc = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1); gtk_widget_set_margin_top(label, SPACING_MEDIUM); gtk_widget_set_margin_top(widget, SPACING_MEDIUM); /*row++; label = make_label_widget(_("T_o:")); data->LB_accto = label; gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); widget = ui_acc_comboboxentry_new(label); data->PO_accto = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1);*/ row++; label = make_label_widget(_("T_o:")); data->LB_accto = label; gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); widget = ui_acc_entry_popover_new(label); data->PO_accto = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1); row++; label = make_label_widget(_("Pa_yment:")); data->LB_mode = label; gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); widget = make_paymode(label); data->NU_mode = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); widget = gtk_check_button_new_with_mnemonic(_("Book _2")); data->CM_cheque = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; label = make_label_widget(_("_Info:")); data->LB_info = label; gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); widget = make_string(label); data->ST_info = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); /*row++; label = make_label_widget(_("_Payee:")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_MEDIUM); gtk_widget_set_hexpand(hbox, TRUE); gtk_grid_attach (GTK_GRID (group_grid), hbox, 1, row, 2, 1); widget = ui_pay_comboboxentry_new(label); data->PO_pay = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); widget = gtk_image_new_from_icon_name (ICONNAME_INFO, GTK_ICON_SIZE_BUTTON); //gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); gtk_widget_set_tooltip_text(widget, _("- type some letter for autocompletion\n- type new text to create entry")); gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); gtk_widget_set_margin_top(label, SPACING_MEDIUM); gtk_widget_set_margin_top(hbox, SPACING_MEDIUM); */ //test row++; label = make_label_widget(_("_Payee:")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_MEDIUM); gtk_widget_set_hexpand(hbox, TRUE); gtk_grid_attach (GTK_GRID (group_grid), hbox, 1, row, 2, 1); widget = ui_pay_entry_popover_new(label); data->PO_pay = widget; gtk_widget_set_hexpand(widget, TRUE); gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); widget = gtk_image_new_from_icon_name (ICONNAME_INFO, GTK_ICON_SIZE_BUTTON); gtk_widget_set_tooltip_text(widget, _("- type some letter for autocompletion\n- type new text to create entry")); gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); gtk_widget_set_margin_top(label, SPACING_MEDIUM); gtk_widget_set_margin_top(hbox, SPACING_MEDIUM); row++; label = make_label_widget(_("Cate_gory:")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_MEDIUM); gtk_widget_set_hexpand(hbox, TRUE); gtk_grid_attach (GTK_GRID (group_grid), hbox, 1, row, 2, 1); //widget = ui_cat_comboboxentry_new(label); widget = ui_cat_entry_popover_new(label); data->PO_cat = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); widget = gtk_image_new_from_icon_name (ICONNAME_INFO, GTK_ICON_SIZE_BUTTON); //gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); gtk_widget_set_tooltip_text(widget, _("- type some letter for autocompletion\n- type new text to create entry")); gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); row++; label = make_label_widget(_("_Status:")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); widget = hbtk_combo_box_new_with_data (label, CYA_TXN_STATUS); gtk_widget_set_halign(widget, GTK_ALIGN_START); data->CY_status = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1); gtk_widget_set_margin_top(label, SPACING_MEDIUM); gtk_widget_set_margin_top(widget, SPACING_MEDIUM); row++; label = make_label_widget(_("M_emo:")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); widget = make_memo_entry(label); data->ST_memo = widget; gtk_widget_set_hexpand(widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1); row++; label = make_label_widget(_("_Tags:")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_widget_set_hexpand(hbox, TRUE); gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET(hbox)), GTK_STYLE_CLASS_LINKED); gtk_grid_attach (GTK_GRID (group_grid), hbox, 1, row, 2, 1); widget = make_string(label); data->ST_tags = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); widget = ui_tag_popover_list(data->ST_tags); data->CY_tags = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); gtk_widget_show_all(group_grid); row++; bar = gtk_info_bar_new (); data->IB_warnsign = bar; gtk_info_bar_set_message_type (GTK_INFO_BAR (bar), GTK_MESSAGE_WARNING); label = gtk_label_new (_("Warning: amount and category sign don't match")); gtk_box_pack_start (GTK_BOX (gtk_info_bar_get_content_area (GTK_INFO_BAR (bar))), label, TRUE, TRUE, 0); gtk_grid_attach (GTK_GRID (group_grid), bar, 1, row, 2, 1); //#1831975 visual add confirmation row++; label = gtk_label_new(NULL); data->LB_msgadded = label; gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 3, 1); //setup, init and show window deftransaction_setup(data); wg = &PREFS->txn_wg; gtk_window_set_default_size(GTK_WINDOW(dialog), wg->w, -1); //connect all our signals //g_signal_connect (dialog, "configure-event", G_CALLBACK (deftransaction_getgeometry), (gpointer)data); hbtk_radio_button_connect (GTK_CONTAINER(data->RA_type), "toggled", G_CALLBACK (deftransaction_cb_type_toggled), NULL); g_signal_connect (data->PO_date, "changed", G_CALLBACK (deftransaction_cb_date_changed), NULL); //g_signal_connect (data->PO_acc , "changed", G_CALLBACK (deftransaction_cb_accfrom_changed), NULL); g_signal_connect (ui_acc_entry_popover_get_entry(GTK_BOX(data->PO_acc)), "changed", G_CALLBACK (deftransaction_cb_accfrom_changed), NULL); //g_signal_connect (data->PO_accto, "changed", G_CALLBACK (deftransaction_update), NULL); g_signal_connect (ui_acc_entry_popover_get_entry(GTK_BOX(data->PO_accto)), "changed", G_CALLBACK (deftransaction_update), NULL); g_signal_connect (data->ST_amount, "value-changed", G_CALLBACK (deftransaction_cb_amount_focusout), NULL); g_signal_connect (data->ST_amount, "focus-out-event", G_CALLBACK (deftransaction_cb_amount_focusout), NULL); //g_signal_connect (data->ST_amount, "icon-release", G_CALLBACK (deftransaction_toggleamount), NULL); g_signal_connect (data->BT_split, "clicked", G_CALLBACK (deftransaction_cb_split_clicked), NULL); g_signal_connect (data->NU_mode , "changed", G_CALLBACK (deftransaction_paymode), NULL); g_signal_connect (data->CM_cheque, "toggled", G_CALLBACK (deftransaction_paymode), NULL); //g_signal_connect (data->PO_pay , "changed", G_CALLBACK (deftransaction_cb_payee_changed), NULL); g_signal_connect (ui_pay_entry_popover_get_entry(GTK_BOX(data->PO_pay)), "changed", G_CALLBACK (deftransaction_cb_payee_changed), NULL); //g_signal_connect (data->PO_cat , "changed", G_CALLBACK (deftransaction_update_warnsign), NULL); g_signal_connect (ui_cat_entry_popover_get_entry(GTK_BOX(data->PO_cat)), "changed", G_CALLBACK (deftransaction_update_warnsign), NULL); return dialog; } homebank-5.3.2/src/ui-assist-import.c0000644000175000017500000022126613604720365014431 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hb-import.h" #include "ui-assist-import.h" #include "dsp-mainwindow.h" #include "list-operation.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; extern gchar *CYA_IMPORT_DATEORDER[]; extern gchar *CYA_IMPORT_OFXNAME[]; extern gchar *CYA_IMPORT_OFXMEMO[]; static void ui_import_page_filechooser_eval(GtkWidget *widget, gpointer user_data); /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ #if MYDEBUG == 1 static void list_txn_cell_data_function_debug (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { GenTxn *gentxn; gchar *text; gtk_tree_model_get(model, iter, LST_GENTXN_POINTER, &gentxn, -1); text = g_strdup_printf("%d %d > %d", gentxn->is_imp_similar, gentxn->is_dst_similar, gentxn->to_import); g_object_set(renderer, "text", text, NULL); g_free(text); } #endif static void list_txn_cell_data_function_toggle (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { GenTxn *gentxn; gtk_tree_model_get(model, iter, LST_GENTXN_POINTER, &gentxn, -1); g_object_set(renderer, "active", gentxn->to_import, NULL); } static void list_txn_cell_data_function_warning (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { GenTxn *gentxn; gchar *iconname = NULL; // get the transaction gtk_tree_model_get(model, iter, LST_GENTXN_POINTER, &gentxn, -1); //iconname = ( gentxn->julian == 0 ) ? ICONNAME_WARNING : NULL; //if(iconname == NULL) iconname = ( gentxn->is_dst_similar || gentxn->is_imp_similar ) ? ICONNAME_HB_OPE_SIMILAR : NULL; g_object_set(renderer, "icon-name", iconname, NULL); } static void list_txn_cell_data_function_error (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { GenTxn *gentxn; gchar *iconname = NULL; // get the transaction gtk_tree_model_get(model, iter, LST_GENTXN_POINTER, &gentxn, -1); iconname = ( gentxn->julian == 0 ) ? ICONNAME_ERROR : NULL; g_object_set(renderer, "icon-name", iconname, NULL); } static void list_txn_cell_data_function_text (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gint colid = GPOINTER_TO_INT(user_data); gchar buf[12]; GDate date; gchar *text = ""; GenTxn *item; gtk_tree_model_get(model, iter, LST_GENTXN_POINTER, &item, -1); switch(colid) { case LST_DSPOPE_DATE: //date { gchar *color = NULL; if(item->julian > 0) { g_date_set_julian(&date, item->julian); //#1794170 %F is ignored under ms windows //g_date_strftime (buf, 12-1, "%F", &date); g_date_strftime (buf, 12-1, "%Y-%m-%d", &date); text = buf; } else { text = item->date; color = PREFS->color_warn; } g_object_set(renderer, "foreground", color, NULL); } //g_object_set(renderer, "text", item->date, NULL); break; case LST_DSPOPE_MEMO: //memo text = item->memo; break; case LST_DSPOPE_PAYEE: //payee text = item->payee; break; case LST_DSPOPE_CATEGORY: //category text = item->category; break; } g_object_set(renderer, "text", text, //"scale-set", TRUE, //"scale", item->to_import ? 1.0 : 0.8, "strikethrough-set", TRUE, "strikethrough", item->to_import ? FALSE : TRUE, NULL); } /* ** amount cell function */ static void list_txn_cell_data_function_amount (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { GenTxn *item; gchar formatd_buf[G_ASCII_DTOSTR_BUF_SIZE]; gchar *color; gtk_tree_model_get(model, iter, LST_GENTXN_POINTER, &item, -1); //todo: we could use digit and currency of target account //hb_strfnum(buf, G_ASCII_DTOSTR_BUF_SIZE-1, item->amount, GLOBALS->kcur, FALSE); //hb_strfmon(buf, G_ASCII_DTOSTR_BUF_SIZE-1, ope->amount, GLOBALS->minor); g_ascii_formatd(formatd_buf, G_ASCII_DTOSTR_BUF_SIZE-1, "%.2f", item->amount); color = get_normal_color_amount(item->amount); g_object_set(renderer, "foreground", color, "text", formatd_buf, NULL); } static void list_txn_cell_data_function_info (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { GenTxn *item; gtk_tree_model_get(model, iter, LST_GENTXN_POINTER, &item, -1); switch(GPOINTER_TO_INT(user_data)) { case 1: g_object_set(renderer, "icon-name", get_paymode_icon_name(item->paymode), NULL); break; case 2: g_object_set(renderer, "text", item->info, NULL); break; } } static void list_txn_importfixed_toggled (GtkCellRendererToggle *cell, gchar *path_str, gpointer data) { GtkTreeModel *model = (GtkTreeModel *)data; GtkTreeIter iter; GtkTreePath *path = gtk_tree_path_new_from_string (path_str); GenTxn *gentxn; gtk_tree_model_get_iter (model, &iter, path); gtk_tree_model_get (model, &iter, LST_GENTXN_POINTER, &gentxn, -1); gentxn->to_import ^= 1; gtk_tree_path_free (path); } static gint list_txn_import_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { gint sortcol = GPOINTER_TO_INT(userdata); gint retval = 0; GenTxn *gentxn1, *gentxn2; gtk_tree_model_get(model, a, LST_GENTXN_POINTER, &gentxn1, -1); gtk_tree_model_get(model, b, LST_GENTXN_POINTER, &gentxn2, -1); switch(sortcol) { case LST_DSPOPE_MEMO: retval = hb_string_utf8_compare(gentxn1->memo, gentxn2->memo); break; case LST_DSPOPE_AMOUNT: retval = (gentxn1->amount - gentxn2->amount) > 0 ? 1 : -1; break; case LST_DSPOPE_PAYEE: retval = hb_string_utf8_compare(gentxn1->payee, gentxn2->payee); break; case LST_DSPOPE_CATEGORY: retval = hb_string_utf8_compare(gentxn1->category, gentxn2->category); break; case LST_DSPOPE_DATE: default: retval = gentxn1->julian - gentxn2->julian; break; } return retval; } static GtkTreeViewColumn * list_txn_import_column_text_create(gchar *title, gint sortcolumnid, gpointer user_data) { GtkTreeViewColumn *column; GtkCellRenderer *renderer; renderer = gtk_cell_renderer_text_new (); /*g_object_set(renderer, "ellipsize", PANGO_ELLIPSIZE_END, "ellipsize-set", TRUE, NULL);*/ if( sortcolumnid == LST_DSPOPE_AMOUNT ) g_object_set(renderer, "xalign", 1.0, NULL); column = gtk_tree_view_column_new_with_attributes(title, renderer, NULL); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_column_set_sort_column_id (column, sortcolumnid); if(sortcolumnid == LST_DSPOPE_AMOUNT ) gtk_tree_view_column_set_cell_data_func(column, renderer, list_txn_cell_data_function_amount, GINT_TO_POINTER(sortcolumnid), NULL); else gtk_tree_view_column_set_cell_data_func(column, renderer, list_txn_cell_data_function_text, GINT_TO_POINTER(sortcolumnid), NULL); return column; } static GtkWidget *list_txn_import_create(void) { GtkListStore *store; GtkWidget *treeview; GtkCellRenderer *renderer; GtkTreeViewColumn *column; /* create list store */ store = gtk_list_store_new( NUM_LST_GENTXN, G_TYPE_POINTER ); //treeview treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); g_object_unref(store); gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (treeview), PREFS->grid_lines|GTK_TREE_VIEW_GRID_LINES_VERTICAL); // debug/import checkbox column = gtk_tree_view_column_new(); #if MYDEBUG == 1 renderer = gtk_cell_renderer_text_new (); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_txn_cell_data_function_debug, NULL, NULL); #endif renderer = gtk_cell_renderer_toggle_new (); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_txn_cell_data_function_toggle, NULL, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); g_signal_connect (renderer, "toggled", G_CALLBACK (list_txn_importfixed_toggled), store); // icons column = gtk_tree_view_column_new(); //gtk_tree_view_column_set_title(column, _("Import ?")); renderer = gtk_cell_renderer_pixbuf_new (); //gtk_cell_renderer_set_fixed_size(renderer, 16, -1); //gtk_cell_renderer_set_fixed_size(renderer, GLOBALS->lst_pixbuf_maxwidth, -1); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_txn_cell_data_function_warning, NULL, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // date column = gtk_tree_view_column_new(); renderer = gtk_cell_renderer_pixbuf_new (); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_txn_cell_data_function_error, NULL, NULL); renderer = gtk_cell_renderer_text_new (); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_txn_cell_data_function_text, GINT_TO_POINTER(LST_DSPOPE_DATE), NULL); gtk_tree_view_column_set_title (column, _("Date")); gtk_tree_view_column_set_sort_column_id (column, LST_DSPOPE_DATE); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // memo column = list_txn_import_column_text_create(_("Memo"), LST_DSPOPE_MEMO, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // amount column = list_txn_import_column_text_create(_("Amount"), LST_DSPOPE_AMOUNT, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // info column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Info")); renderer = gtk_cell_renderer_pixbuf_new (); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_txn_cell_data_function_info, GINT_TO_POINTER(1), NULL); renderer = gtk_cell_renderer_text_new (); /*g_object_set(renderer, "ellipsize", PANGO_ELLIPSIZE_END, "ellipsize-set", TRUE, NULL);*/ gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_txn_cell_data_function_info, GINT_TO_POINTER(2), NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // payee column = list_txn_import_column_text_create(_("Payee"), LST_DSPOPE_PAYEE, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // category column = list_txn_import_column_text_create(_("Category"), LST_DSPOPE_CATEGORY, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // empty column = gtk_tree_view_column_new(); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); //gtk_tree_sortable_set_default_sort_func(GTK_TREE_SORTABLE(store), list_txn_import_compare_func, NULL, NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DSPOPE_DATE , list_txn_import_compare_func, GINT_TO_POINTER(LST_DSPOPE_DATE), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DSPOPE_MEMO , list_txn_import_compare_func, GINT_TO_POINTER(LST_DSPOPE_MEMO), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DSPOPE_AMOUNT , list_txn_import_compare_func, GINT_TO_POINTER(LST_DSPOPE_AMOUNT), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DSPOPE_PAYEE , list_txn_import_compare_func, GINT_TO_POINTER(LST_DSPOPE_PAYEE), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DSPOPE_CATEGORY, list_txn_import_compare_func, GINT_TO_POINTER(LST_DSPOPE_CATEGORY), NULL); return(treeview); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static gint ui_genacc_comboboxtext_get_active(GtkWidget *widget) { GtkTreeModel *model; GtkTreeIter iter; gint key = -1; g_return_val_if_fail(GTK_IS_COMBO_BOX(widget), key); if( gtk_combo_box_get_active_iter(GTK_COMBO_BOX(widget), &iter)) { model = gtk_combo_box_get_model (GTK_COMBO_BOX(widget)); gtk_tree_model_get(model, &iter, LST_GENACC_KEY, &key, -1); } return key; } static void ui_genacc_comboboxtext_set_active(GtkWidget *widget, gint active_key) { GtkTreeModel *model; GtkTreeIter iter; gboolean valid; gint key; g_return_if_fail(GTK_IS_COMBO_BOX(widget)); model = gtk_combo_box_get_model(GTK_COMBO_BOX(widget)); valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { gtk_tree_model_get(model, &iter, LST_GENACC_KEY, &key, -1); if(key == active_key) gtk_combo_box_set_active_iter (GTK_COMBO_BOX(widget), &iter); valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } } static GtkWidget *ui_genacc_comboboxtext_new(struct import_data *data, GtkWidget *label) { GtkListStore *store; GtkCellRenderer *renderer; GtkWidget *combobox; GtkTreeIter iter; GList *lacc, *list; store = gtk_list_store_new (NUM_LST_GENACC, G_TYPE_STRING, G_TYPE_INT); combobox = gtk_combo_box_new_with_model (GTK_TREE_MODEL(store)); renderer = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(combobox), renderer, FALSE); gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT(combobox), renderer, "text", LST_GENACC_NAME); g_object_unref(store); gtk_list_store_insert_with_values (GTK_LIST_STORE(store), &iter, -1, LST_GENACC_NAME, _(""), LST_GENACC_KEY, DST_ACC_GLOBAL, -1); gtk_list_store_insert_with_values (GTK_LIST_STORE(store), &iter, -1, LST_GENACC_NAME, _(""), LST_GENACC_KEY, DST_ACC_NEW, -1); lacc = list = account_glist_sorted(0); while (list != NULL) { Account *item = list->data; if( !(item->flags & AF_CLOSED) ) { gtk_list_store_insert_with_values (GTK_LIST_STORE(store), &iter, -1, LST_GENACC_NAME, item->name, LST_GENACC_KEY, item->key, -1); } list = g_list_next(list); } g_list_free(lacc); gtk_list_store_insert_with_values (GTK_LIST_STORE(store), &iter, -1, LST_GENACC_NAME, _(""), LST_GENACC_KEY, DST_ACC_SKIP, -1); gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), 0); if(label) gtk_label_set_mnemonic_widget (GTK_LABEL(label), combobox); return combobox; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ enum { TARGET_URI_LIST }; static GtkTargetEntry drop_types[] = { {"text/uri-list", 0, TARGET_URI_LIST} }; static void list_file_add(GtkWidget *treeview, GenFile *genfile) { char *basename; GtkTreeModel *model; GtkTreeIter iter; basename = g_path_get_basename(genfile->filepath); model = gtk_tree_view_get_model(GTK_TREE_VIEW(treeview)); gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, LST_GENFILE_POINTER, genfile, LST_GENFILE_NAME, g_strdup(basename), -1); g_free(basename); } static void list_file_drag_data_received (GtkWidget *widget, GdkDragContext *context, gint x, gint y, GtkSelectionData *selection_data, guint info, guint time, GtkWindow *window) { struct import_data *data; gchar **uris, **str; gchar *newseldata; gint slen; if (info != TARGET_URI_LIST) return; DB( g_print("\n[ui-treeview] drag_data_received\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); /* On MS-Windows, it looks like `selection_data->data' is not NULL terminated. */ slen = gtk_selection_data_get_length(selection_data); newseldata = g_new (gchar, slen + 1); memcpy (newseldata, gtk_selection_data_get_data(selection_data), slen); newseldata[slen] = 0; uris = g_uri_list_extract_uris (newseldata); ImportContext *ictx = &data->ictx; str = uris; for (str = uris; *str; str++) //if( *str ) { GError *error = NULL; gchar *path = g_filename_from_uri (*str, NULL, &error); if (path) { GenFile *genfile; genfile = da_gen_file_append_from_filename(ictx, path); if(genfile) list_file_add(data->LV_file, genfile); } else { g_warning ("Could not convert uri to local path: %s", error->message); g_error_free (error); } g_free (path); } g_strfreev (uris); g_free(newseldata); ui_import_page_filechooser_eval(widget, NULL); } static void list_file_valid_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { GenFile *genfile; gchar *iconname = NULL; gtk_tree_model_get(model, iter, LST_GENFILE_POINTER, &genfile, -1); iconname = (genfile->filetype == FILETYPE_UNKNOWN) ? ICONNAME_HB_FILE_INVALID : ICONNAME_HB_FILE_VALID; g_object_set(renderer, "icon-name", iconname, NULL); } static GtkWidget * list_file_new(void) { GtkListStore *store; GtkWidget *treeview; GtkCellRenderer *renderer; GtkTreeViewColumn *column; // create list store store = gtk_list_store_new(NUM_LST_FILE, G_TYPE_POINTER, G_TYPE_STRING ); // treeview treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); g_object_unref(store); //column: valid column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Valid")); renderer = gtk_cell_renderer_pixbuf_new (); //gtk_cell_renderer_set_fixed_size(renderer, 16, -1); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_file_valid_cell_data_function, NULL, NULL); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); g_object_set(renderer, "stock-size", GTK_ICON_SIZE_LARGE_TOOLBAR, NULL); // column: name renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes (_("Name"), renderer, "text", LST_GENFILE_NAME, NULL); gtk_tree_view_column_set_sort_column_id (column, LST_GENFILE_NAME); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // treeviewattribute gtk_tree_view_set_headers_visible (GTK_TREE_VIEW(treeview), TRUE); //gtk_tree_sortable_set_default_sort_func(GTK_TREE_SORTABLE(store), ui_acc_listview_compare_func, NULL, NULL); //gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING); gtk_drag_dest_set (GTK_WIDGET (treeview), GTK_DEST_DEFAULT_ALL, drop_types, G_N_ELEMENTS (drop_types), GDK_ACTION_COPY); g_signal_connect (G_OBJECT (treeview), "drag-data-received", G_CALLBACK (list_file_drag_data_received), treeview); return treeview; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void ui_import_page_filechooser_delete_action(GtkWidget *widget, gpointer user_data) { struct import_data *data; ImportContext *ictx; GtkTreeModel *model; GtkTreeIter iter; GtkTreeSelection *selection; DB( g_print("\n[ui-import] page_filechooser_delete_action\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); ictx = &data->ictx; selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_file)); //if true there is a selected node if (gtk_tree_selection_get_selected(selection, &model, &iter)) { GenFile *genfile; gtk_tree_model_get(model, &iter, LST_GENFILE_POINTER, &genfile, -1); gtk_list_store_remove(GTK_LIST_STORE(model), &iter); ictx->gen_lst_file = g_list_remove(ictx->gen_lst_file, genfile); da_gen_file_free(genfile); } ui_import_page_filechooser_eval(widget, NULL); } static void ui_import_page_filechooser_add_action(GtkWidget *widget, gpointer user_data) { struct import_data *data; ImportContext *ictx; GtkWidget *dialog; GtkFileFilter *filter; gint res; DB( g_print("\n[ui-import] page_filechooser_add_action\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); ictx = &data->ictx; dialog = gtk_file_chooser_dialog_new ("Open File", GTK_WINDOW(data->assistant), GTK_FILE_CHOOSER_ACTION_OPEN, _("_Cancel"), GTK_RESPONSE_CANCEL, _("_Open"), GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER(dialog), PREFS->path_import); DB( g_print(" set current folder '%s'\n", PREFS->path_import) ); gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), TRUE); filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, _("Known files")); gtk_file_filter_add_pattern (filter, "*.[Qq][Ii][Ff]"); #ifndef NOOFX gtk_file_filter_add_pattern (filter, "*.[OoQq][Ff][Xx]"); #endif gtk_file_filter_add_pattern (filter, "*.[Cc][Ss][Vv]"); gtk_file_chooser_add_filter (GTK_FILE_CHOOSER(dialog), filter); //if(data->filetype == FILETYPE_UNKNOWN) // gtk_file_chooser_set_filter (GTK_FILE_CHOOSER(dialog), filter); filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, _("QIF files")); gtk_file_filter_add_pattern (filter, "*.[Qq][Ii][Ff]"); gtk_file_chooser_add_filter (GTK_FILE_CHOOSER(dialog), filter); //if(data->filetype == FILETYPE_QIF) // gtk_file_chooser_set_filter (GTK_FILE_CHOOSER(dialog), filter); #ifndef NOOFX filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, _("OFX/QFX files")); gtk_file_filter_add_pattern (filter, "*.[OoQq][Ff][Xx]"); gtk_file_chooser_add_filter (GTK_FILE_CHOOSER(dialog), filter); //if(data->filetype == FILETYPE_OFX) // gtk_file_chooser_set_filter (GTK_FILE_CHOOSER(dialog), filter); #endif filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, _("CSV files")); gtk_file_filter_add_pattern (filter, "*.[Cc][Ss][Vv]"); gtk_file_chooser_add_filter (GTK_FILE_CHOOSER(dialog), filter); //if(data->filetype == FILETYPE_CSV_HB) // gtk_file_chooser_set_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); res = gtk_dialog_run (GTK_DIALOG (dialog)); if (res == GTK_RESPONSE_ACCEPT) { GSList *list; GtkFileChooser *chooser = GTK_FILE_CHOOSER (dialog); list = gtk_file_chooser_get_filenames(chooser); while(list) { GenFile *genfile; DB( g_print(" selected '%p'\n", list->data) ); genfile = da_gen_file_append_from_filename(ictx, list->data); if(genfile) list_file_add(data->LV_file, genfile); list = g_slist_next(list); } g_slist_free_full (list, g_free); /* remind folder to preference */ gchar *folder = gtk_file_chooser_get_current_folder(GTK_FILE_CHOOSER(chooser)); DB( g_print(" store folder '%s'\n", folder) ); g_free(PREFS->path_import); PREFS->path_import = folder; } gtk_widget_destroy (dialog); ui_import_page_filechooser_eval(widget, NULL); } static void ui_import_page_filechooser_visible (GtkWidget *widget, gpointer user_data) { struct import_data *data; DB( g_print("\n[ui-import] page_filechooser_visible\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); //open the file add if no file if( gtk_tree_model_iter_n_children(gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_file)), NULL) == 0 ) { //g_signal_emit_by_name(data->BT_file_add, "clicked", NULL); ui_import_page_filechooser_add_action(data->BT_file_add, NULL); } } static void ui_import_page_confirmation_fill(struct import_data *data) { ImportContext *ictx = &data->ictx; GList *list; GString *node; DB( g_print("\n[ui-import] page_confirmation_fill\n") ); node = g_string_sized_new(255); list = g_list_first(ictx->gen_lst_acc); while (list != NULL) { GenAcc *genacc = list->data; gchar *targetname = NULL; switch( genacc->kacc ) { case DST_ACC_GLOBAL: targetname = _("new global account"); break; case DST_ACC_NEW: targetname = _("new account"); break; case DST_ACC_SKIP: targetname = _("skipped"); break; default: { Account *acc = da_acc_get (genacc->kacc); if(acc) targetname = acc->name; } break; } //line1: title g_string_append_printf(node, "'%s'\n => '%s'", genacc->name, targetname); //line2: count if( genacc->kacc != DST_ACC_SKIP) { hb_import_gen_acc_count_txn(ictx, genacc); g_string_append_printf(node, _(", %d of %d transactions"), genacc->n_txnimp, genacc->n_txnall); } g_string_append(node, "\n\n"); list = g_list_next(list); } gtk_label_set_markup (GTK_LABEL(data->TX_summary), node->str); g_string_free(node, TRUE); } static gboolean ui_import_page_import_eval(GtkWidget *widget, gpointer user_data) { //struct import_data *data; //ImportContext *ictx; //gint count; DB( g_print("\n[ui-import] page_import_eval\n") ); //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); //ictx = &data->ictx; //count = g_list_length (ictx->gen_lst_acc); //DB( g_print(" count=%d (max=%d)\n", count, TXN_MAX_ACCOUNT) ); //if( count <= TXN_MAX_ACCOUNT ) return TRUE; //return FALSE; } static void ui_import_page_filechooser_eval(GtkWidget *widget, gpointer user_data) { struct import_data *data; ImportContext *ictx; GList *list; gint count = 0; DB( g_print("\n[ui-import] page_filechooser_eval\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); ictx = &data->ictx; list = g_list_first(ictx->gen_lst_file); while (list != NULL) { GenFile *genfile = list->data; if(genfile->filetype != FILETYPE_UNKNOWN) count++; list = g_list_next(list); } gint index = gtk_assistant_get_current_page(GTK_ASSISTANT(data->assistant)); GtkWidget *current_page = gtk_assistant_get_nth_page (GTK_ASSISTANT(data->assistant), index); gtk_assistant_set_page_complete (GTK_ASSISTANT(data->assistant), current_page, (count > 0) ? TRUE : FALSE); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static ImpTxnData *ui_import_page_transaction_data_get(GArray *txndata, guint32 idx) { //gint i; /*g_print(" array @%p, len is %d\n", txndata, txndata->len); for(i=0;ilen;i++) g_print(" %d %p\n", i, &g_array_index(txndata, ImpTxnData, i) ); g_print(" get idx=%d - %p\n", idx, &g_array_index (txndata, ImpTxnData, idx) ); */ if( idx <= txndata->len ) return &g_array_index (txndata, ImpTxnData, idx); return NULL; } static void ui_import_page_transaction_cb_fill_same(GtkTreeSelection *treeselection, gpointer user_data) { struct import_data *data; ImpTxnData *txndata; //ImportContext *ictx; GtkTreeSelection *selection; GtkTreeModel *model, *dupmodel; GtkTreeIter iter, newiter; GList *tmplist; GtkWidget *widget; guint count = 0; DB( g_print("\n[ui-import] page_transaction_cb_fill_same\n") ); widget = GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); //ictx = &data->ictx; gint pageidx = gtk_assistant_get_current_page(GTK_ASSISTANT(data->assistant)); gint acckey = pageidx - (PAGE_IMPORT); //GenAcc *genacc = da_gen_acc_get_by_key(ictx->gen_lst_acc, acckey); //txndata = &data->txndata[acckey]; txndata = ui_import_page_transaction_data_get(data->txndata, acckey); dupmodel = gtk_tree_view_get_model(GTK_TREE_VIEW(txndata->LV_duptxn)); gtk_list_store_clear (GTK_LIST_STORE(dupmodel)); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(txndata->LV_gentxn)); //if true there is a selected node if (gtk_tree_selection_get_selected(selection, &model, &iter)) { GenTxn *gentxn; gtk_tree_model_get(model, &iter, MODEL_TXN_POINTER, &gentxn, -1); if( gentxn->lst_existing != NULL ) { tmplist = g_list_first(gentxn->lst_existing); while (tmplist != NULL) { Transaction *tmp = tmplist->data; /* append to our treeview */ //gtk_list_store_append (GTK_LIST_STORE(dupmodel), &newiter); //gtk_list_store_set (GTK_LIST_STORE(dupmodel), &newiter, //#1830523/#1840393 count++; gtk_list_store_insert_with_values(GTK_LIST_STORE(dupmodel), &newiter, -1, MODEL_TXN_POINTER, tmp, MODEL_TXN_SPLITAMT, tmp->amount, -1); //DB( g_print(" - fill: %s %.2f %x\n", item->memo, item->amount, (unsigned int)item->same) ); tmplist = g_list_next(tmplist); } } } gtk_expander_set_expanded (GTK_EXPANDER(txndata->EX_duptxn), (count > 0) ? TRUE : FALSE); } static void ui_import_page_transaction_options_get(struct import_data *data) { ImpTxnData *txndata; ImportContext *ictx; DB( g_print("\n[ui-import] options_get\n") ); ictx = &data->ictx; gint pageidx = gtk_assistant_get_current_page(GTK_ASSISTANT(data->assistant)); gint accidx = pageidx - (PAGE_IMPORT); //GenAcc *genacc = g_list_nth_data(ictx->gen_lst_acc, accidx); //txndata = &data->txndata[accidx]; txndata = ui_import_page_transaction_data_get(data->txndata, accidx); ictx->opt_dateorder = gtk_combo_box_get_active (GTK_COMBO_BOX(txndata->CY_txn_dateorder)); ictx->opt_daygap = gtk_spin_button_get_value(GTK_SPIN_BUTTON(txndata->NB_txn_daygap)); ictx->opt_ucfirst = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(txndata->CM_txn_ucfirst)); ictx->opt_ofxname = gtk_combo_box_get_active (GTK_COMBO_BOX(txndata->CY_txn_ofxname)); ictx->opt_ofxmemo = gtk_combo_box_get_active (GTK_COMBO_BOX(txndata->CY_txn_ofxmemo)); ictx->opt_qifmemo = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(txndata->CM_txn_qifmemo)); ictx->opt_qifswap = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(txndata->CM_txn_qifswap)); DB( g_print(" datefmt = '%s' (%d)\n", CYA_IMPORT_DATEORDER[ictx->opt_dateorder], ictx->opt_dateorder) ); } static void ui_import_page_transaction_update(struct import_data *data) { ImpTxnData *txndata; ImportContext *ictx; gboolean sensitive, visible; gboolean iscomplete; GtkTreeModel *model; DB( g_print("\n[ui-import] page_transaction_update\n") ); ictx = &data->ictx; gint pageidx = gtk_assistant_get_current_page(GTK_ASSISTANT(data->assistant)); gint acckey = pageidx - (PAGE_IMPORT); //GenAcc *genacc = g_list_nth_data(ictx->gen_lst_acc, acckey); GenAcc *genacc = da_gen_acc_get_by_key(ictx->gen_lst_acc, acckey); //txndata = &data->txndata[acckey]; txndata = ui_import_page_transaction_data_get(data->txndata, acckey); DB( g_print(" page idx:%d, genacckey:%d genacc:%p, txndata:%p\n", pageidx, acckey, genacc, txndata) ); if(genacc) { DB( g_print(" genacc id=%d name='%s'\n dstacc=%d\n", acckey, genacc->name, genacc->kacc ) ); visible = (genacc->is_unamed == TRUE) && (genacc->filetype != FILETYPE_CSV_HB) ? TRUE: FALSE; hb_widget_visible (txndata->IM_unamed, visible); sensitive = (genacc->kacc == DST_ACC_SKIP) ? FALSE : TRUE; DB( g_print(" sensitive=%d\n", sensitive) ); gtk_widget_set_sensitive(txndata->LV_gentxn, sensitive); gtk_widget_set_sensitive(txndata->EX_duptxn, sensitive); //todo: disable option button gtk_widget_set_sensitive(txndata->GR_misc, sensitive); gtk_widget_set_sensitive(txndata->GR_date, sensitive); gtk_widget_set_sensitive(txndata->GR_ofx, sensitive); gtk_widget_set_sensitive(txndata->GR_qif, sensitive); gtk_widget_set_sensitive(txndata->GR_select, sensitive); //todo: display a warning if incorrect date gchar *msg_icon = NULL, *msg_label = NULL; iscomplete = (genacc->n_txnbaddate > 0) ? FALSE : TRUE; iscomplete = (genacc->kacc == DST_ACC_SKIP) ? TRUE : iscomplete; DB( g_print(" nbbaddates=%d, dstacc=%d\n", genacc->n_txnbaddate, genacc->kacc) ); DB( g_print(" iscomplete=%d\n", iscomplete) ); //show/hide invalid date group visible = FALSE; if(genacc->n_txnbaddate > 0) { visible = TRUE; DB( g_print(" invalid date detected\n" ) ); msg_icon = ICONNAME_ERROR; msg_label = _("Some date cannot be converted. Please try to change the date order to continue."); } gtk_image_set_from_icon_name(GTK_IMAGE(txndata->IM_txn), msg_icon, GTK_ICON_SIZE_BUTTON); gtk_label_set_text(GTK_LABEL(txndata->LB_txn), msg_label); hb_widget_visible (txndata->GR_msg, visible); //show/hide select valid button visible = (!genacc->n_txnsimimp && !genacc->n_txnsimdst) ? FALSE : TRUE; hb_widget_visible (txndata->BT_val, visible); //show/hide bottom duplicate panel visible = TRUE; if( genacc->kacc==DST_ACC_GLOBAL || genacc->kacc==DST_ACC_NEW || genacc->kacc==DST_ACC_SKIP) visible = FALSE; hb_widget_visible (txndata->EX_duptxn, visible); model = gtk_tree_view_get_model(GTK_TREE_VIEW(txndata->LV_gentxn)); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(model), LST_DSPOPE_DATE, GTK_SORT_ASCENDING); //gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(model), GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID, GTK_SORT_ASCENDING); //gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(model), GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING); GtkWidget *page = gtk_assistant_get_nth_page (GTK_ASSISTANT(data->assistant), pageidx); gtk_assistant_set_page_complete(GTK_ASSISTANT(data->assistant), page, iscomplete); } } static void ui_import_page_transaction_cb_account_changed(GtkWidget *widget, gpointer user_data) { struct import_data *data; ImpTxnData *txndata; ImportContext *ictx; gint dstacc; DB( g_print("\n[ui-import] cb_account_changed\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); ictx = &data->ictx; gint pageidx = gtk_assistant_get_current_page(GTK_ASSISTANT(data->assistant)); gint acckey = pageidx - (PAGE_IMPORT); //GenAcc *genacc = g_list_nth_data(ictx->gen_lst_acc, accidx); GenAcc *genacc = da_gen_acc_get_by_key(ictx->gen_lst_acc, acckey); //txndata = &data->txndata[acckey]; txndata = ui_import_page_transaction_data_get(data->txndata, acckey); dstacc = ui_genacc_comboboxtext_get_active (txndata->CY_acc); genacc->kacc = dstacc; ui_import_page_transaction_options_get(data); hb_import_option_apply(ictx, genacc); hb_import_gen_txn_check_duplicate(ictx, genacc); hb_import_gen_txn_check_target_similar(ictx, genacc); genacc->is_dupcheck = TRUE; gtk_tree_view_columns_autosize(GTK_TREE_VIEW(txndata->LV_gentxn)); ui_import_page_transaction_update(data); } static void ui_import_page_transaction_cb_option_changed(GtkWidget *widget, gpointer user_data) { struct import_data *data; ImpTxnData *txndata; ImportContext *ictx; DB( g_print("\n[ui-import] cb_option_changed\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); ictx = &data->ictx; gint pageidx = gtk_assistant_get_current_page(GTK_ASSISTANT(data->assistant)); gint acckey = pageidx - (PAGE_IMPORT); //GenAcc *genacc = g_list_nth_data(ictx->gen_lst_acc, accidx); GenAcc *genacc = da_gen_acc_get_by_key(ictx->gen_lst_acc, acckey); //txndata = &data->txndata[acckey]; txndata = ui_import_page_transaction_data_get(data->txndata, acckey); ui_import_page_transaction_options_get(data); hb_import_option_apply(ictx, genacc); gtk_tree_view_columns_autosize(GTK_TREE_VIEW(txndata->LV_gentxn)); ui_import_page_transaction_update(data); } static void ui_import_page_transaction_fill(struct import_data *data) { ImpTxnData *txndata; ImportContext *ictx = &data->ictx; GtkWidget *view; GtkTreeModel *model; GtkTreeIter iter; GList *tmplist; gchar *label = NULL; gboolean visible; //gint nbacc; DB( g_print("\n[ui-import] page_transaction_fill\n") ); //get the account, it will be the account into the glist //of pagenum - PAGE_IMPORT //gint pageidx = gtk_assistant_get_current_page(GTK_ASSISTANT(data->assistant)); gint acckey = gtk_assistant_get_current_page(GTK_ASSISTANT(data->assistant)) - (PAGE_IMPORT); //GenAcc *genacc = g_list_nth_data(ictx->gen_lst_acc, acckey); GenAcc *genacc = da_gen_acc_get_by_key(ictx->gen_lst_acc, acckey); //nbacc = g_list_length(ictx->gen_lst_acc); //txndata = &data->txndata[acckey]; txndata = ui_import_page_transaction_data_get(data->txndata, acckey); DB( g_print(" genacckey:%d genacc:%p, txndata:%p\n", acckey, genacc, txndata) ); if(genacc) { gint count; DB( g_print(" genacc id=%d name='%s'\n dstacc=%d\n", acckey, genacc->name, genacc->kacc ) ); g_signal_handlers_block_by_func(txndata->CY_acc, G_CALLBACK(ui_import_page_transaction_cb_account_changed), NULL); ui_genacc_comboboxtext_set_active(txndata->CY_acc, genacc->kacc); g_signal_handlers_unblock_by_func(txndata->CY_acc, G_CALLBACK(ui_import_page_transaction_cb_account_changed), NULL); ui_import_page_transaction_options_get(data); hb_import_option_apply(ictx, genacc); if( genacc->is_dupcheck == FALSE ) { hb_import_gen_txn_check_duplicate(ictx, genacc); hb_import_gen_txn_check_target_similar(ictx, genacc); genacc->is_dupcheck = TRUE; } view = txndata->LV_gentxn; model = gtk_tree_view_get_model(GTK_TREE_VIEW(view)); gtk_list_store_clear (GTK_LIST_STORE(model)); count = 0; genacc->n_txnimp = 0; tmplist = g_list_first(ictx->gen_lst_txn); while (tmplist != NULL) { GenTxn *item = tmplist->data; //todo: chnage this, this should be account if(item->kacc == genacc->key) { // append to our treeview //gtk_list_store_append (GTK_LIST_STORE(model), &iter); //gtk_list_store_set (GTK_LIST_STORE(model), &iter, gtk_list_store_insert_with_values(GTK_LIST_STORE(model), &iter, -1, LST_GENTXN_POINTER, item, -1); DB( g_print(" fill: %s, %d, %s %.2f\n", item->account, item->julian, item->memo, item->amount) ); count++; if(item->to_import) genacc->n_txnimp++; } tmplist = g_list_next(tmplist); } //label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); label = g_strdup_printf(_("Import %s in_to:"), genacc->is_unamed ? _("this file") : _("this account") ); gtk_label_set_markup_with_mnemonic (GTK_LABEL(txndata->LB_acc_title), label); g_free(label); //build tooltip GenFile *genfile = da_gen_file_get (ictx->gen_lst_file, genacc->kfile); label = g_strdup_printf(_("Name: %s\nNumber: %s\nFile: %s\nEncoding: %s"), genacc->name, genacc->number, genfile->filepath, genfile->encoding); gtk_widget_set_tooltip_text (GTK_WIDGET(txndata->LB_acc_title), label); g_free(label); //label = g_strdup_printf(_("Account %d of %d"), acckey+1, nbacc); //gtk_label_set_markup (GTK_LABEL(txndata->LB_acc_count), label); //g_free(label); if(genacc->n_txnsimimp || genacc->n_txnsimdst) label = g_strdup_printf(_("%d transaction(s), %d similar, %d existing, %d selected"), count, genacc->n_txnsimimp, genacc->n_txnsimdst, genacc->n_txnimp); else label = g_strdup_printf(_("%d transaction(s), %d selected"), count, genacc->n_txnimp); gtk_label_set_markup (GTK_LABEL(txndata->LB_txn_title), label); g_free(label); visible = (genacc->filetype == FILETYPE_OFX) ? FALSE : TRUE; hb_widget_visible(GTK_WIDGET(txndata->GR_date), visible); visible = (genacc->filetype == FILETYPE_OFX) ? TRUE : FALSE; hb_widget_visible(GTK_WIDGET(txndata->GR_ofx), visible); visible = (genacc->filetype == FILETYPE_QIF) ? TRUE : FALSE; hb_widget_visible(GTK_WIDGET(txndata->GR_qif), visible); gtk_stack_set_visible_child_name(GTK_STACK(txndata->ST_stack), visible ? "QIF" : "OFX"); } } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void ui_import_page_intro_cb_dontshow(GtkWidget *widget, gpointer user_data) { PREFS->dtex_nointro = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(widget)); } static GtkWidget * ui_import_page_intro_create(GtkWidget *assistant, struct import_data *data) { GtkWidget *mainbox, *label, *widget; mainbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, SPACING_SMALL); gtk_widget_set_halign(mainbox, GTK_ALIGN_CENTER); gtk_widget_set_valign(mainbox, GTK_ALIGN_CENTER); label = make_label(_("Import transactions from bank or credit card"), 0, 0); gimp_label_set_attributes(GTK_LABEL(label), PANGO_ATTR_WEIGHT, PANGO_WEIGHT_BOLD, PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); gtk_box_pack_start (GTK_BOX (mainbox), label, FALSE, FALSE, SPACING_SMALL); label = make_label( _("With this assistant you will be guided through the process of importing one or several\n" \ "downloaded statements from your bank or credit card, in the following formats:"), 0, 0); gtk_box_pack_start (GTK_BOX (mainbox), label, FALSE, FALSE, SPACING_SMALL); label = gtk_label_new(NULL); gtk_label_set_markup(GTK_LABEL(label), _("Recommended: .OFX or .QFX\n" \ "(Sometimes named Money™ or Quicken™)\n" \ "Supported: .QIF\n" \ "(Common Quicken™ file)\n" \ "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)")); /* supported format */ /*label = make_label( _("HomeBank can import files in the following formats:\n" \ "- QIF\n" \ "- OFX/QFX (optional at compilation time)\n" \ "- CSV (format is specific to HomeBank, see the documentation)\n" \ ), 0.0, 0.0);*/ gtk_box_pack_start (GTK_BOX (mainbox), label, FALSE, FALSE, SPACING_SMALL); label = make_label( _("No changes will be made until you click \"Apply\" at the end of this assistant."), 0., 0.0); gtk_box_pack_start (GTK_BOX (mainbox), label, FALSE, FALSE, SPACING_SMALL); widget = gtk_check_button_new_with_mnemonic (_("Don't show this again")); data->CM_dsta = widget; gtk_box_pack_end (GTK_BOX (mainbox), widget, FALSE, FALSE, SPACING_SMALL); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(data->CM_dsta), PREFS->dtex_nointro); gtk_widget_show_all (mainbox); g_signal_connect (data->CM_dsta, "toggled", G_CALLBACK (ui_import_page_intro_cb_dontshow), data); return mainbox; } static void ui_import_page_filechooser_update(GtkWidget *widget, gpointer user_data) { struct import_data *data; GtkTreeSelection *selection; gboolean sensitive; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_file)); gint count = gtk_tree_selection_count_selected_rows(selection); sensitive = (count > 0) ? TRUE : FALSE; gtk_widget_set_sensitive(data->BT_file_delete, sensitive); //gtk_widget_set_sensitive(data->BT_merge, sensitive); //gtk_widget_set_sensitive(data->BT_delete, sensitive); } static void ui_import_page_filechooser_selection(GtkTreeSelection *treeselection, gpointer user_data) { ui_import_page_filechooser_update(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), NULL); } static GtkWidget * ui_import_page_filechooser_create (GtkWidget *assistant, struct import_data *data) { GtkWidget *mainbox, *vbox, *hbox, *widget, *label, *scrollwin, *tbar; GtkToolItem *toolitem; mainbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, SPACING_SMALL); //gtk_container_set_border_width (GTK_CONTAINER(vbox), SPACING_SMALL); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (mainbox), hbox, FALSE, FALSE, SPACING_SMALL); widget = gtk_image_new_from_icon_name (ICONNAME_INFO, GTK_ICON_SIZE_LARGE_TOOLBAR); gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, SPACING_SMALL); label = make_label( _("Drag&Drop one or several files to import.\n" \ "You can also use the add/delete buttons of the list.") , 0., 0.0); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, SPACING_SMALL); vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (mainbox), vbox, TRUE, TRUE, 0); //list scrollwin = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrollwin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_widget_set_hexpand(scrollwin, TRUE); gtk_widget_set_vexpand(scrollwin, TRUE); widget = list_file_new(); data->LV_file = widget; gtk_container_add (GTK_CONTAINER (scrollwin), widget); //gtk_grid_attach (GTK_GRID (group_grid), scrollwin, 0, row, 2, 1); gtk_box_pack_start (GTK_BOX (vbox), scrollwin, TRUE, TRUE, 0); //list toolbar tbar = gtk_toolbar_new(); gtk_toolbar_set_icon_size (GTK_TOOLBAR(tbar), GTK_ICON_SIZE_MENU); gtk_toolbar_set_style(GTK_TOOLBAR(tbar), GTK_TOOLBAR_ICONS); gtk_style_context_add_class (gtk_widget_get_style_context (tbar), GTK_STYLE_CLASS_INLINE_TOOLBAR); gtk_box_pack_start (GTK_BOX (vbox), tbar, FALSE, FALSE, 0); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); toolitem = gtk_tool_item_new(); gtk_container_add (GTK_CONTAINER(toolitem), hbox); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); widget = make_image_button(ICONNAME_LIST_ADD, _("Add")); data->BT_file_add = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); widget = make_image_button(ICONNAME_LIST_DELETE, _("Delete")); data->BT_file_delete = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); gtk_widget_show_all (mainbox); ui_import_page_filechooser_update(assistant, NULL); g_signal_connect (G_OBJECT (data->BT_file_add), "clicked", G_CALLBACK (ui_import_page_filechooser_add_action), data); g_signal_connect (G_OBJECT (data->BT_file_delete), "clicked", G_CALLBACK (ui_import_page_filechooser_delete_action), data); g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_file)), "changed", G_CALLBACK (ui_import_page_filechooser_selection), NULL); return mainbox; } static GtkWidget * ui_import_page_import_create (GtkWidget *assistant, struct import_data *data) { GtkWidget *mainbox; GtkWidget *label, *widget; gchar *txt; mainbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); //gtk_widget_set_halign(mainbox, GTK_ALIGN_CENTER); //gtk_widget_set_valign(mainbox, GTK_ALIGN_CENTER); widget = gtk_image_new_from_icon_name(ICONNAME_ERROR, GTK_ICON_SIZE_DIALOG ); gtk_box_pack_start (GTK_BOX (mainbox), widget, FALSE, FALSE, 0); txt = _("There is too much account in the files you choosed,\n" \ "please use the back button to select less files."); label = gtk_label_new(txt); gtk_widget_set_valign (label, GTK_ALIGN_CENTER); gtk_box_pack_start (GTK_BOX (mainbox), label, FALSE, FALSE, 0); gtk_widget_show_all (mainbox); return mainbox; } static gboolean ui_import_page_transaction_cb_activate_link (GtkWidget *label, const gchar *uri, gpointer user_data) { GtkTreeModel *model; GtkTreeIter iter; gboolean valid; guint action; g_return_val_if_fail(GTK_IS_TREE_VIEW(user_data), TRUE); model = gtk_tree_view_get_model(GTK_TREE_VIEW(user_data)); DB( g_print(" comboboxlink '%s' \n", uri) ); //define the action action = LST_SELECT_UNSET; if (g_strcmp0 (uri, "all") == 0) action = LST_SELECT_ALL; else if (g_strcmp0 (uri, "non") == 0) action = LST_SELECT_NONE; else if (g_strcmp0 (uri, "inv") == 0) action = LST_SELECT_INVERT; else if (g_strcmp0 (uri, "val") == 0) action = LST_SELECT_VALID; //apply the action valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { GenTxn *gentxn; gtk_tree_model_get(model, &iter, LST_GENTXN_POINTER, &gentxn, -1); switch(action) { case LST_SELECT_ALL : gentxn->to_import = TRUE; break; case LST_SELECT_NONE: gentxn->to_import = FALSE; break; case LST_SELECT_INVERT: gentxn->to_import ^= TRUE; break; case LST_SELECT_VALID: gentxn->to_import = (!gentxn->is_imp_similar && !gentxn->is_dst_similar) ? TRUE : FALSE; break; } valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } gtk_widget_queue_draw(GTK_WIDGET(user_data)); return TRUE; } static GtkWidget * ui_import_page_transaction_create (GtkWidget *assistant, gint idx, struct import_data *data) { ImpTxnData *txndata; GtkWidget *table, *box, *group, *stack; GtkWidget *label, *scrollwin, *expander, *widget; ImpTxnData tmp; gint row; //txndata = &data->txndata[idx]; memset(&tmp, 0, sizeof(ImpTxnData)); g_array_insert_vals(data->txndata, idx, &tmp, 1); txndata = ui_import_page_transaction_data_get(data->txndata, idx); DB( g_print(" txndat=%p\n", txndata) ); if(!txndata) return NULL; table = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM); row = 0; //line 1 left box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); //gtk_widget_set_hexpand(box, TRUE); gtk_grid_attach (GTK_GRID(table), box, 0, row, 1, 1); // XXX (type) + accname label = make_label(NULL, 0.0, 0.5); txndata->LB_acc_title = label; //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); gtk_box_pack_start (GTK_BOX (box), label, FALSE, FALSE, 0); widget = ui_genacc_comboboxtext_new(data, label); //gtk_widget_set_hexpand(widget, TRUE); txndata->CY_acc = widget; gtk_box_pack_start (GTK_BOX (box), widget, FALSE, FALSE, 0); widget = gtk_image_new_from_icon_name(ICONNAME_WARNING, GTK_ICON_SIZE_SMALL_TOOLBAR); txndata->IM_unamed = widget; gtk_widget_set_tooltip_text (widget, _("Target account identification by name or number failed.")); gtk_box_pack_start (GTK_BOX (box), widget, FALSE, FALSE, 0); //line 1 right box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); //gtk_widget_set_hexpand(box, TRUE); gtk_grid_attach (GTK_GRID(table), box, 1, row, 1, 1); //csv options group = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); txndata->GR_date = group; gtk_box_pack_start (GTK_BOX(box), group, FALSE, FALSE, 0); label = make_label(_("Date order:"), 0, 0.5); gtk_box_pack_start (GTK_BOX(group), label, FALSE, FALSE, 0); widget = make_cycle(label, CYA_IMPORT_DATEORDER); txndata->CY_txn_dateorder = widget; gtk_box_pack_start (GTK_BOX(group), widget, FALSE, FALSE, 0); stack = gtk_stack_new(); gtk_box_pack_start (GTK_BOX(box), stack, FALSE, FALSE, 0); txndata->ST_stack= stack; //qif options group = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); txndata->GR_qif = group; //gtk_box_pack_start (GTK_BOX(box), group, FALSE, FALSE, 0); gtk_stack_add_named(GTK_STACK(stack), group, "QIF"); widget = gtk_check_button_new_with_mnemonic (_("_Import memos")); txndata->CM_txn_qifmemo = widget; gtk_box_pack_start (GTK_BOX(group), widget, FALSE, FALSE, 0); widget = gtk_check_button_new_with_mnemonic (_("_Swap memos with payees")); txndata->CM_txn_qifswap = widget; gtk_box_pack_start (GTK_BOX(group), widget, FALSE, FALSE, 0); //ofx options group = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); txndata->GR_ofx = group; //gtk_box_pack_start (GTK_BOX(box), group, FALSE, FALSE, 0); gtk_stack_add_named(GTK_STACK(stack), group, "OFX"); label = make_label(_("OFX _Name:"), 0, 0.5); gtk_box_pack_start (GTK_BOX(group), label, FALSE, FALSE, 0); widget = make_cycle(label, CYA_IMPORT_OFXNAME); txndata->CY_txn_ofxname = widget; gtk_box_pack_start (GTK_BOX(group), widget, FALSE, FALSE, 0); label = make_label(_("OFX _Memo:"), 0, 0.5); gtk_box_pack_start (GTK_BOX(group), label, FALSE, FALSE, 0); widget = make_cycle(label, CYA_IMPORT_OFXMEMO); txndata->CY_txn_ofxmemo = widget; gtk_box_pack_start (GTK_BOX(group), widget, FALSE, FALSE, 0); // n transaction ... row++; box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); //gtk_widget_set_hexpand(box, TRUE); gtk_grid_attach (GTK_GRID(table), box, 0, row, 1, 1); group = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); txndata->GR_select = group; gtk_box_pack_start (GTK_BOX (box), group, FALSE, FALSE, 0); label = make_label (_("Select:"), 0, 0.5); gtk_box_pack_start (GTK_BOX (group), label, FALSE, FALSE, 0); label = make_clicklabel("all", _("All")); txndata->BT_all= label; gtk_box_pack_start (GTK_BOX (group), label, FALSE, FALSE, 0); label = make_clicklabel("non", _("None")); txndata->BT_non = label; gtk_box_pack_start (GTK_BOX (group), label, FALSE, FALSE, 0); label = make_clicklabel("inv", _("Invert")); txndata->BT_inv = label; gtk_box_pack_start (GTK_BOX (group), label, FALSE, FALSE, 0); label = make_clicklabel("val", _("Valid")); txndata->BT_val = label; gtk_box_pack_start (GTK_BOX (group), label, FALSE, FALSE, 0); label = make_label(NULL, 0.5, 0.5); txndata->LB_txn_title = label; //gtk_widget_set_valign(label, GTK_ALIGN_CENTER); gtk_box_pack_start (GTK_BOX (group), label, FALSE, FALSE, 0); // import into box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); gtk_grid_attach (GTK_GRID(table), box, 1, row, 1, 1); group = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); txndata->GR_misc = group; gtk_box_pack_start (GTK_BOX (box), group, FALSE, FALSE, 0); widget = gtk_check_button_new_with_mnemonic (_("Sentence _case memo/payee")); txndata->CM_txn_ucfirst = widget; gtk_box_pack_start (GTK_BOX(group), widget, FALSE, FALSE, 0); // error messages row++; box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); txndata->GR_msg = box; //gtk_widget_set_hexpand(box, TRUE); gtk_grid_attach (GTK_GRID(table), box, 0, row, 2, 1); widget = gtk_image_new (); txndata->IM_txn = widget; gtk_widget_set_valign(widget, GTK_ALIGN_START); gtk_box_pack_start (GTK_BOX (box), widget, FALSE, FALSE, 0); label = make_label(NULL, 0.0, 0.5); txndata->LB_txn = label; gtk_box_pack_start (GTK_BOX (box), label, FALSE, FALSE, 0); row++; scrollwin = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrollwin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); widget = list_txn_import_create(); txndata->LV_gentxn = widget; gtk_widget_set_hexpand(scrollwin, TRUE); gtk_widget_set_vexpand(scrollwin, TRUE); gtk_container_add (GTK_CONTAINER (scrollwin), widget); gtk_grid_attach (GTK_GRID(table), scrollwin, 0, row, 2, 1); //duplicate row++; expander = gtk_expander_new (_("Similar transaction in target account (possible duplicate)")); txndata->EX_duptxn = expander; //gtk_widget_set_hexpand(expander, TRUE); gtk_grid_attach (GTK_GRID(table), expander, 0, row, 2, 1); group = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group), SPACING_SMALL); gtk_container_add (GTK_CONTAINER (expander), group); row = 0; scrollwin = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrollwin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_widget_set_hexpand(scrollwin, TRUE); //widget = create_list_transaction(LIST_TXN_TYPE_DETAIL, PREFS->lst_ope_columns); widget = create_list_transaction(LIST_TXN_TYPE_DETAIL, PREFS->lst_impope_columns); txndata->LV_duptxn = widget; gtk_container_add (GTK_CONTAINER (scrollwin), widget); gtk_widget_set_size_request(scrollwin, -1, HB_MINWIDTH_LIST/2); gtk_grid_attach (GTK_GRID (group), scrollwin, 0, row, 5, 1); row++; label = make_label(_("Date _gap:"), 0, 0.5); gtk_grid_attach (GTK_GRID (group), label, 0, row, 1, 1); widget = make_numeric(label, 0.0, HB_DATE_MAX_GAP); txndata->NB_txn_daygap = widget; gtk_grid_attach (GTK_GRID (group), widget, 1, row, 1, 1); //TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance label = make_label(_("days"), 0, 0.5); gtk_grid_attach (GTK_GRID (group), label, 2, row, 1, 1); widget = gtk_image_new_from_icon_name(ICONNAME_INFO, GTK_ICON_SIZE_SMALL_TOOLBAR ); gtk_widget_set_hexpand(widget, FALSE); gtk_grid_attach (GTK_GRID (group), widget, 3, row, 1, 1); label = make_label (_( "The match is done in order: by account, amount and date.\n" \ "A date tolerance of 0 day means an exact match"), 0, 0.5); gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_SMALL, -1); gtk_widget_set_hexpand(label, TRUE); gtk_grid_attach (GTK_GRID (group), label, 4, row, 1, 1); // init ofx/qfx option to move gtk_combo_box_set_active(GTK_COMBO_BOX(txndata->CY_txn_dateorder), PREFS->dtex_datefmt); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(txndata->CM_txn_ucfirst), PREFS->dtex_ucfirst); gtk_combo_box_set_active(GTK_COMBO_BOX(txndata->CY_txn_ofxname), PREFS->dtex_ofxname); gtk_combo_box_set_active(GTK_COMBO_BOX(txndata->CY_txn_ofxmemo), PREFS->dtex_ofxmemo); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(txndata->CM_txn_qifmemo), PREFS->dtex_qifmemo); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(txndata->CM_txn_qifswap), PREFS->dtex_qifswap); gtk_widget_show_all (table); gtk_widget_hide(txndata->GR_qif); gtk_widget_hide(txndata->GR_ofx); g_signal_connect (txndata->BT_all, "activate-link", G_CALLBACK (ui_import_page_transaction_cb_activate_link), txndata->LV_gentxn); g_signal_connect (txndata->BT_non, "activate-link", G_CALLBACK (ui_import_page_transaction_cb_activate_link), txndata->LV_gentxn); g_signal_connect (txndata->BT_inv, "activate-link", G_CALLBACK (ui_import_page_transaction_cb_activate_link), txndata->LV_gentxn); g_signal_connect (txndata->BT_val, "activate-link", G_CALLBACK (ui_import_page_transaction_cb_activate_link), txndata->LV_gentxn); g_signal_connect (txndata->CY_acc , "changed", G_CALLBACK (ui_import_page_transaction_cb_account_changed), data); g_signal_connect (txndata->CY_txn_dateorder, "changed", G_CALLBACK (ui_import_page_transaction_cb_account_changed), data); g_signal_connect (txndata->NB_txn_daygap , "value-changed", G_CALLBACK (ui_import_page_transaction_cb_account_changed), data); g_signal_connect (txndata->CY_txn_ofxname , "changed", G_CALLBACK (ui_import_page_transaction_cb_option_changed), data); g_signal_connect (txndata->CY_txn_ofxmemo , "changed", G_CALLBACK (ui_import_page_transaction_cb_option_changed), data); g_signal_connect (txndata->CM_txn_qifmemo, "toggled", G_CALLBACK (ui_import_page_transaction_cb_option_changed), data); g_signal_connect (txndata->CM_txn_qifswap, "toggled", G_CALLBACK (ui_import_page_transaction_cb_option_changed), data); g_signal_connect (txndata->CM_txn_ucfirst, "toggled", G_CALLBACK (ui_import_page_transaction_cb_option_changed), data); g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(txndata->LV_gentxn)), "changed", G_CALLBACK (ui_import_page_transaction_cb_fill_same), NULL); return table; } static GtkWidget * ui_import_page_confirmation_create(GtkWidget *assistant, struct import_data *data) { GtkWidget *group_grid, *label, *widget, *scrollwin; gint row = 0; group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); scrollwin = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_NONE); //gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrollwin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_widget_set_hexpand(scrollwin, TRUE); gtk_widget_set_vexpand(scrollwin, TRUE); widget = gtk_label_new (NULL); data->TX_summary = widget; gtk_container_add (GTK_CONTAINER (scrollwin), widget); //gtk_box_pack_start (GTK_BOX (mainbox), scrollwin, TRUE, TRUE, 0); gtk_grid_attach (GTK_GRID (group_grid), scrollwin, 0, row, 4, 1); row++; label = make_label_group(_("Run automation")); gtk_grid_attach (GTK_GRID (group_grid), label, 3, row, 1, 1); row++; widget = gtk_check_button_new_with_mnemonic(_("1) Enrich with _payee default")); gtk_widget_set_margin_start(widget, SPACING_MEDIUM); data->CM_do_auto_payee = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 3, row, 1, 1); row++; widget = gtk_check_button_new_with_mnemonic(_("2) Run automatic _assigment rules")); gtk_widget_set_margin_start(widget, SPACING_MEDIUM); data->CM_do_auto_assign = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 3, row, 1, 1); row++; label = make_label(_("Click \"Apply\" to update your accounts."), 0, 0.5); gtk_widget_set_margin_top(label, SPACING_LARGE); gtk_widget_set_margin_bottom(label, SPACING_LARGE); gimp_label_set_attributes(GTK_LABEL(label), PANGO_ATTR_WEIGHT, PANGO_WEIGHT_BOLD, -1); gtk_grid_attach (GTK_GRID (group_grid), label, 3, row, 1, 1); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(data->CM_do_auto_payee), PREFS->dtex_dodefpayee); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(data->CM_do_auto_assign), PREFS->dtex_doautoassign); gtk_widget_show_all (group_grid); return group_grid; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /** * ui_import_assistant_forward_page_func: * * define the page to be called when the user forward * * Return value: the page number * */ /*static gint ui_import_assistant_forward_page_func(gint current_page, gpointer func_data) { struct import_data *data; GtkWidget *page; gint next_page; data = func_data; DB( g_print("---------------------------\n") ); DB( g_print("\n[ui-import] forward page func\n") ); page = gtk_assistant_get_nth_page(GTK_ASSISTANT(data->assistant), current_page); DB( g_print(" -> current: %d %s\n", current_page, gtk_assistant_get_page_title(GTK_ASSISTANT(data->assistant), page) ) ); #if MYDEBUG == 1 struct import_data *data = func_data; gint i for(i=0;iassistant), data->pages[i]), page_titles[i] ); #endif next_page = current_page + 1; switch(current_page) { //case PAGE_IMPORT: // if no new account, skip the account page //if(ictx->nb_new_acc == 0) // next_page = PAGE_TRANSACTION; //break; } page = gtk_assistant_get_nth_page(GTK_ASSISTANT(data->assistant), next_page); DB( g_print(" -> next: %d %s\n", next_page, gtk_assistant_get_page_title(GTK_ASSISTANT(data->assistant), page) ) ); return next_page; }*/ static void ui_import_assistant_prepare (GtkWidget *widget, GtkWidget *page, gpointer user_data) { struct import_data *data; ImportContext *ictx; gint current_page, n_pages; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); ictx = &data->ictx; current_page = gtk_assistant_get_current_page (GTK_ASSISTANT(data->assistant)); n_pages = gtk_assistant_get_n_pages (GTK_ASSISTANT(data->assistant)); DB( g_print("\n--------\n[ui-import] prepare \n page %d of %d\n", current_page, n_pages) ); switch( current_page ) { case PAGE_WELCOME: DB( g_print("\n #1 intro\n") ); gtk_assistant_set_page_complete (GTK_ASSISTANT(data->assistant), page, TRUE); break; case PAGE_FILES: DB( g_print("\n #2 file choose\n") ); gtk_assistant_set_page_complete (GTK_ASSISTANT(data->assistant), page, FALSE); // the page complete is contextual in ui_import_page_filechooser_selection_changed // check is something valid :: count total rows ui_import_page_filechooser_eval(widget, user_data); break; case PAGE_IMPORT: DB( g_print("\n #3 real import\n") ); gtk_assistant_set_page_complete (GTK_ASSISTANT(data->assistant), page, FALSE); //todo: more test needed here //clean any previous txn page /*for(i=(n_pages-1);i>=PAGE_IMPORT+1;i--) { GtkWidget *page = gtk_assistant_get_nth_page (GTK_ASSISTANT(data->assistant), i); gboolean isacc; if( page != NULL ) { isacc = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(page), "pgacc")); DB( g_print(" %d is acc: %d\n", i, isacc) ); if( isacc ) { gtk_assistant_remove_page(GTK_ASSISTANT(data->assistant), i); gtk_widget_destroy (page); } } }*/ hb_import_load_all(&data->ictx); //add 1 page per account gint key, nbacc; nbacc = g_list_length (ictx->gen_lst_acc); if(data->txndata) { g_array_free(data->txndata, TRUE); data->txndata = NULL; } data->txndata = g_array_sized_new(FALSE, TRUE, sizeof(ImpTxnData), nbacc); //#1820618 patch for glib < 2.58 https://gitlab.gnome.org/GNOME/glib/issues/1374 if( glib_minor_version < 58 ) { g_array_set_size(data->txndata, nbacc); } DB( g_print(" accnb=%d @%p\n", nbacc, data->txndata) ); //debug //_import_context_debug_acc_list(&data->ictx); //if(nbacc < TXN_MAX_ACCOUNT) //{ for(key=1;keygen_lst_acc, key); DB( g_print(" create page txn for '%s' '%s' at page %d\n", genacc->name, genacc->number, PAGE_IMPORT + key) ); page = ui_import_page_transaction_create (data->assistant, key, data); //g_object_set_data(G_OBJECT(page), "pgacc", (gpointer)TRUE); gtk_widget_show_all (page); gtk_assistant_insert_page (GTK_ASSISTANT (data->assistant), page, PAGE_IMPORT + key); //gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); //gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); title = g_strdup_printf("%s %d", (!genacc->is_unamed) ? _("Account") : _("Unknown"), key ); gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, title); g_free(title); } //} // obsolete ?? if( ui_import_page_import_eval (widget, NULL) ) { /*if(ictx->nb_new_acc == 0) { DB( g_print(" -> jump to Transaction page\n") ); //gtk_assistant_set_page_complete (GTK_ASSISTANT(data->assistant), data->pages[PAGE_ACCOUNT], TRUE); gtk_assistant_next_page(GTK_ASSISTANT(data->assistant)); gtk_assistant_next_page(GTK_ASSISTANT(data->assistant)); //gtk_assistant_set_current_page (GTK_ASSISTANT(data->assistant), PAGE_TRANSACTION); } else { DB( g_print(" -> jump to Account page\n") ); //gtk_assistant_set_current_page (GTK_ASSISTANT(data->assistant), PAGE_ACCOUNT); gtk_assistant_next_page(GTK_ASSISTANT(data->assistant)); }*/ gtk_assistant_next_page(GTK_ASSISTANT(data->assistant)); gtk_assistant_set_page_complete (GTK_ASSISTANT(data->assistant), page, TRUE); } break; default: if(current_page != (n_pages - 1)) { DB( g_print("\n #4 transaction\n") ); if( current_page == PAGE_IMPORT + 1) //hack to get rid of back button gtk_assistant_set_page_type (GTK_ASSISTANT(data->assistant), page, GTK_ASSISTANT_PAGE_INTRO); ui_import_page_transaction_fill(data); ui_import_page_transaction_update(data); } else { DB( g_print("\n #5 confirmation\n") ); ui_import_page_confirmation_fill(data); gtk_assistant_set_page_complete (GTK_ASSISTANT(data->assistant), page, TRUE); } } } static void ui_import_assistant_apply (GtkWidget *widget, gpointer user_data) { struct import_data *data; ImportContext *ictx; DB( g_print("\n[ui-import] apply\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); ictx = &data->ictx; ictx->do_auto_payee = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_do_auto_payee)); ictx->do_auto_assign = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_do_auto_assign)); //#1845388 persist options for lazy people PREFS->dtex_dodefpayee = ictx->do_auto_payee; PREFS->dtex_doautoassign = ictx->do_auto_assign; hb_import_apply(&data->ictx); } static gboolean ui_import_assistant_dispose(GtkWidget *widget, gpointer user_data) { struct import_data *data = user_data; DB( g_print("\n[ui-import] dispose\n") ); #if MYDEBUG == 1 gpointer data2 = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); g_print(" user_data=%p to be free, data2=%p\n", user_data, data2); #endif da_import_context_destroy(&data->ictx); if(data->txndata) { g_array_free(data->txndata, TRUE); } // todo: optimize this //if(data->imp_cnt_trn > 0) //{ //GLOBALS->changes_count += data->imp_cnt_trn; //our global list has changed, so update the treeview ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE+UF_BALANCE+UF_REFRESHALL)); //} g_free(user_data); //delete-event TRUE abort/FALSE destroy return FALSE; } static void ui_import_assistant_close_cancel (GtkWidget *widget, gpointer user_data) { struct import_data *data; GtkWidget *assistant = (GtkWidget *) user_data; DB( g_print("\n[ui-import] close\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); ui_import_assistant_dispose(widget, data); gtk_widget_destroy (assistant); } /* starting point of import */ GtkWidget *ui_import_assistant_new (gchar **paths) { struct import_data *data; GtkWidget *assistant, *page, *page_file; gint w, h; DB( g_print("\n[ui-import] new\n") ); data = g_malloc0(sizeof(struct import_data)); if(!data) return NULL; assistant = gtk_assistant_new (); data->assistant = assistant; //store our window private data g_object_set_data(G_OBJECT(assistant), "inst_data", (gpointer)data); //DB( g_print("** \n[ui-import] window=%x, inst_data=%x\n", assistant, data) ); gtk_window_set_modal(GTK_WINDOW (assistant), TRUE); gtk_window_set_transient_for(GTK_WINDOW(assistant), GTK_WINDOW(GLOBALS->mainwindow)); //set a nice dialog size gtk_window_get_size(GTK_WINDOW(GLOBALS->mainwindow), &w, &h); gtk_window_set_default_size (GTK_WINDOW(assistant), w * 0.8, h * 0.8); //gtk_window_set_default_size (GTK_WINDOW(assistant), w - 24, h - 24); page = ui_import_page_intro_create (assistant, data); gtk_assistant_append_page (GTK_ASSISTANT (assistant), page); gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_INTRO); gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), page, _("Welcome")); gtk_assistant_set_page_complete (GTK_ASSISTANT(assistant), page, TRUE ); page = ui_import_page_filechooser_create (assistant, data); page_file = page; gtk_assistant_append_page (GTK_ASSISTANT (assistant), page); gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), page, _("Select file(s)")); page = ui_import_page_import_create (assistant, data); gtk_assistant_append_page (GTK_ASSISTANT (assistant), page); //gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), page, _("Import")); //3...x transaction page will be added automatically //page = ui_import_page_transaction_create (assistant, 0, data); //gtk_assistant_append_page (GTK_ASSISTANT (assistant), page); //hack to hide the back button here //gtk_assistant_set_page_type (GTK_ASSISTANT(assistant), page, GTK_ASSISTANT_PAGE_INTRO); //gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), page, _("Transaction")); page = ui_import_page_confirmation_create (assistant, data); gtk_assistant_append_page (GTK_ASSISTANT (assistant), page); gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_CONFIRM); gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), page, _("Confirmation")); //gtk_assistant_set_forward_page_func(GTK_ASSISTANT(assistant), ui_import_assistant_forward_page_func, data, NULL); //setup //ui_import_page_filechooser_selection_changed(assistant, data); DB( g_printf(" check list of paths '%p'\n", paths) ); if( paths != NULL ) { ImportContext *ictx = &data->ictx; GenFile *genfile; gchar **str = paths; while(*str != NULL) { DB( g_printf(" try to append '%s'\n", *str) ); genfile = da_gen_file_append_from_filename(ictx, *str); if(genfile) { list_file_add(data->LV_file, genfile); } str++; } g_strfreev(paths); } //connect all our signals //g_signal_connect (window, "delete-event", G_CALLBACK (hbfile_dispose), (gpointer)data); g_signal_connect (G_OBJECT (assistant), "prepare", G_CALLBACK (ui_import_assistant_prepare), NULL); g_signal_connect (G_OBJECT (page_file), "map", G_CALLBACK (ui_import_page_filechooser_visible), NULL); g_signal_connect (G_OBJECT (assistant), "cancel", G_CALLBACK (ui_import_assistant_close_cancel), assistant); g_signal_connect (G_OBJECT (assistant), "close", G_CALLBACK (ui_import_assistant_close_cancel), assistant); g_signal_connect (G_OBJECT (assistant), "apply", G_CALLBACK (ui_import_assistant_apply), NULL); gtk_widget_show (assistant); if(PREFS->dtex_nointro) gtk_assistant_set_current_page(GTK_ASSISTANT(assistant), PAGE_FILES); return assistant; } homebank-5.3.2/src/hb-tag.c0000644000175000017500000001762213604720365012341 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hb-tag.h" #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ void da_tag_free(Tag *item) { DB( g_print("da_tag_free\n") ); if(item != NULL) { DB( g_print(" => %d, %s\n", item->key, item->name) ); g_free(item->name); g_free(item); } } Tag *da_tag_malloc(void) { DB( g_print("da_tag_malloc\n") ); return g_malloc0(sizeof(Tag)); } void da_tag_destroy(void) { DB( g_print("da_tag_destroy\n") ); g_hash_table_destroy(GLOBALS->h_tag); } void da_tag_new(void) { DB( g_print("da_tag_new\n") ); GLOBALS->h_tag = g_hash_table_new_full(g_int_hash, g_int_equal, (GDestroyNotify)g_free, (GDestroyNotify)da_tag_free); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void da_tag_max_key_ghfunc(gpointer key, Tag *item, guint32 *max_key) { *max_key = MAX(*max_key, item->key); } static gboolean da_tag_name_grfunc(gpointer key, Tag *item, gchar *name) { if( name && item->name ) { if(!strcasecmp(name, item->name)) return TRUE; } return FALSE; } /** * da_tag_length: * * Return value: the number of elements */ guint da_tag_length(void) { return g_hash_table_size(GLOBALS->h_tag); } /** * da_tag_delete: * * delete an tag from the GHashTable * * Return value: TRUE if the key was found and deleted * */ gboolean da_tag_delete(guint32 key) { DB( g_print("da_tag_delete %d\n", key) ); return g_hash_table_remove(GLOBALS->h_tag, &key); } /** * da_tag_insert: * * insert an tag into the GHashTable * * Return value: TRUE if inserted * */ gboolean da_tag_insert(Tag *item) { guint32 *new_key; DB( g_print("da_tag_insert\n") ); new_key = g_new0(guint32, 1); *new_key = item->key; g_hash_table_insert(GLOBALS->h_tag, new_key, item); return TRUE; } /** * da_tag_append: * * append a new tag into the GHashTable * * Return value: TRUE if inserted * */ gboolean da_tag_append(Tag *item) { Tag *existitem; guint32 *new_key; DB( g_print("da_tag_append\n") ); if( item->name != NULL ) { /* ensure no duplicate */ //g_strstrip(item->name); existitem = da_tag_get_by_name( item->name ); if( existitem == NULL ) { new_key = g_new0(guint32, 1); *new_key = da_tag_get_max_key() + 1; item->key = *new_key; DB( g_print(" -> append id: %d\n", *new_key) ); g_hash_table_insert(GLOBALS->h_tag, new_key, item); return TRUE; } } DB( g_print(" -> %s already exist: %d\n", item->name, item->key) ); return FALSE; } /** * da_tag_get_max_key: * * Get the biggest key from the GHashTable * * Return value: the biggest key value * */ guint32 da_tag_get_max_key(void) { guint32 max_key = 0; g_hash_table_foreach(GLOBALS->h_tag, (GHFunc)da_tag_max_key_ghfunc, &max_key); return max_key; } /** * da_tag_get_by_name: * * Get an tag structure by its name * * Return value: Tag * or NULL if not found * */ Tag *da_tag_get_by_name(gchar *name) { DB( g_print("da_tag_get_by_name\n") ); return g_hash_table_find(GLOBALS->h_tag, (GHRFunc)da_tag_name_grfunc, name); } /** * da_tag_get: * * Get an tag structure by key * * Return value: Tag * or NULL if not found * */ Tag *da_tag_get(guint32 key) { DB( g_print("da_tag_get_tag\n") ); return g_hash_table_lookup(GLOBALS->h_tag, &key); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ guint tags_count(guint32 *tags) { guint count = 0; DB( g_print("\n[tags] count\n") ); if( tags == NULL ) return 0; while(*tags++ != 0 && count < 32) count++; return count; } guint32 *tags_clone(guint32 *tags) { guint32 *newtags = NULL; guint count; count = tags_count(tags); if(count > 0) { //1501962: we must also copy the final 0 newtags = g_memdup(tags, (count+1)*sizeof(guint32)); } return newtags; } static gboolean tags_key_exists(guint32 *tags, guint32 key) { guint count = 0; while(*tags != 0 && count < 32) { if( *tags == key ) return TRUE; tags++; count++; } return FALSE; } guint32 * tags_parse(const gchar *tagstring) { gchar **str_array; guint32 *tags = NULL; guint32 *ptags; guint count, i; Tag *tag; DB( g_print("\n[tags] parse\n") ); if( tagstring ) { str_array = g_strsplit (tagstring, " ", 0); count = g_strv_length( str_array ); DB( g_print("- %d tags '%s'\n", count, tagstring) ); if( count > 0 ) { tags = g_new0(guint32, count + 1); ptags = tags; for(i=0;iname = g_strdup(str_array[i]); da_tag_append(newtag); tag = da_tag_get_by_name(str_array[i]); } DB( g_print("- array add %d '%s'\n", tag->key, tag->name) ); //5.3 fixed duplicate tag in same tags if( tags_key_exists(tags, tag->key) == FALSE ) *ptags++ = tag->key; } *ptags = 0; } g_strfreev (str_array); } return tags; } gchar * tags_tostring(guint32 *tags) { guint count, i; gchar **str_array, **tptr; gchar *tagstring; Tag *tag; DB( g_print("\n[tags] tostring\n") ); if( tags == NULL ) { return NULL; } else { count = tags_count(tags); str_array = g_new0(gchar*, count+1); tptr = str_array; for(i=0;iname; } } *tptr = NULL; tagstring = g_strjoinv(" ", str_array); g_free (str_array); } return tagstring; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ #if MYDEBUG static void da_tag_debug_list_ghfunc(gpointer key, gpointer value, gpointer user_data) { guint32 *id = key; Tag *item = value; DB( g_print(" %d :: %s\n", *id, item->name) ); } static void da_tag_debug_list(void) { DB( g_print("\n** debug **\n") ); g_hash_table_foreach(GLOBALS->h_tag, da_tag_debug_list_ghfunc, NULL); DB( g_print("\n** end debug **\n") ); } #endif /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ gboolean tag_rename(Tag *item, const gchar *newname) { Tag *existitem; gchar *stripname; gboolean retval = FALSE; stripname = g_strdup(newname); g_strstrip(stripname); existitem = da_tag_get_by_name(stripname); if( existitem != NULL && existitem->key != item->key) { DB( g_print("- error, same name already exist with other key %d <> %d\n",existitem->key, item->key) ); g_free(stripname); } else { DB( g_print("- renaming\n") ); g_free(item->name); item->name = stripname; retval = TRUE; } return retval; } static gint tag_glist_name_compare_func(Tag *a, Tag *b) { return hb_string_utf8_compare(a->name, b->name); } static gint tag_glist_key_compare_func(Tag *a, Tag *b) { return a->key - b->key; } GList *tag_glist_sorted(gint column) { GList *list = g_hash_table_get_values(GLOBALS->h_tag); if(column == 0) return g_list_sort(list, (GCompareFunc)tag_glist_key_compare_func); else return g_list_sort(list, (GCompareFunc)tag_glist_name_compare_func); } homebank-5.3.2/src/hb-currency.h0000644000175000017500000000454013604720371013415 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_CURRENCY_H__ #define __HB_CURRENCY_H__ typedef struct _currency Currency; typedef struct _iso4217 Currency4217; struct _currency { guint32 key; gushort flags; gchar *name; gchar *iso_code; gboolean sym_prefix; gchar *symbol; /* max symbol is 3 digits in unicode but mostly is 1 digit */ gchar *decimal_char; gchar *grouping_char; gshort frac_digits; gshort _pad1; gdouble rate; guint32 mdate; /* unsaved datas */ gchar format[8]; /* hold decimal format: '%.xf' */ gchar monfmt[32]; /* hold monetary format: 'prefix %s suffix' */ }; // 0 is free #define CF_CUSTOM (1<<1) struct _iso4217 { gchar *curr_iso_code; guint curr_frac_digit; gchar *curr_dec_char; gchar *curr_grp_char; gboolean curr_is_prefix; gchar *curr_symbol; gchar *name; }; void da_cur_free(Currency *item); Currency *da_cur_malloc(void); void da_cur_destroy(void); void da_cur_new(void); guint da_cur_length(void); gboolean da_cur_delete(guint32 key); void da_cur_init_from4217(Currency *cur, Currency4217 *curfmt); void da_cur_initformat(Currency *item); gboolean da_cur_insert(Currency *item); gboolean da_cur_append(Currency *item); guint32 da_cur_get_max_key(void); Currency *da_cur_get_by_name(gchar *name); Currency *da_cur_get_by_iso_code(gchar *iso_code); Currency *da_cur_get(guint32 key); gboolean currency_is_euro(guint32 key); gboolean currency_is_used(guint32 key); Currency *currency_add_from_user(Currency4217 *curfmt); gboolean currency_online_sync(GError **error); Currency4217 *iso4217format_get(gchar *code); #endif homebank-5.3.2/src/ui-currency.h0000644000175000017500000000613613604720371013444 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_CURRENCY_GTK_H__ #define __HB_CURRENCY_GTK_H__ enum { LST_DEFCUR_TOGGLE, LST_DEFCUR_DATAS, NUM_LST_DEFCUR }; enum { LST_SELCUR_NAME, LST_SELCUR_DATA, NUM_LST_SELCUR }; struct ui_cur_manage_dialog_data { GtkWidget *dialog; GtkWidget *LV_cur; // GtkWidget *CY_curr; // GtkWidget *BT_curr; GtkWidget *BB_update; GtkWidget *BT_add; GtkWidget *BT_del; GtkWidget *BT_edit; GtkWidget *BT_base; gint change; }; struct ui_cur_edit_dialog_data { GtkWidget *dialog; GtkWidget *LB_name; GtkWidget *LB_rate; GtkWidget *NB_rate; GtkWidget *LB_sample; GtkWidget *ST_symbol; GtkWidget *CM_symisprefix; GtkWidget *ST_decimalchar; GtkWidget *ST_groupingchar; GtkWidget *NB_fracdigits; }; enum { CUR_SELECT_MODE_NORMAL, CUR_SELECT_MODE_BASE }; struct ui_cur_select_dialog_data { GtkWidget *dialog; GtkTreeModel *modelfilter; GtkTreeModel *sortmodel; GtkTreeModel *model; GtkWidget *ST_search; GtkWidget *LV_cur; GtkWidget *CM_custom; GtkWidget *LB_custiso, *ST_custiso; GtkWidget *LB_custname, *ST_custname; }; struct curPopContext { GtkTreeModel *model; guint except_key; }; struct curSelectContext { Currency4217 *cur_4217; gchar *cur_name; gchar *cur_iso; }; gchar *ui_cur_combobox_get_name(GtkComboBox *entry_box); guint32 ui_cur_combobox_get_key(GtkComboBox *entry_box); guint32 ui_cur_combobox_get_key_add_new(GtkComboBox *entry_box); gboolean ui_cur_combobox_set_active(GtkComboBox *entry_box, guint32 key); void ui_cur_combobox_add(GtkComboBox *entry_box, Currency *cur); void ui_cur_combobox_populate(GtkComboBox *entry_box, GHashTable *hash); void ui_cur_combobox_populate_except(GtkComboBox *entry_box, GHashTable *hash, guint except_key); GtkWidget *ui_cur_combobox_new(GtkWidget *label); /* = = = = = = = = = = */ void ui_cur_listview_add(GtkTreeView *treeview, Currency *item); guint32 ui_cur_listview_get_selected_key(GtkTreeView *treeview); void ui_cur_listview_remove_selected(GtkTreeView *treeview); void ui_cur_listview_populate(GtkWidget *view); GtkWidget *ui_cur_listview_new(gboolean withtoggle); gint ui_cur_manage_dialog_update_currencies(GtkWindow *parent); GtkWidget *ui_cur_manage_dialog (void); gint ui_cur_select_dialog_new(GtkWindow *parent, gint select_mode, struct curSelectContext *ctx); void ui_cur_edit_dialog_new(GtkWindow *parent, Currency *cur); #endif homebank-5.3.2/src/rep-balance.h0000644000175000017500000000352313604720371013345 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HOMEBANK_REPBALANCE_H__ #define __HOMEBANK_REPBALANCE_H__ enum { HID_REPBALANCE_MINDATE, HID_REPBALANCE_MAXDATE, HID_REPBALANCE_RANGE, MAX_REPBALANCE_HID }; /* list stat */ enum { LST_OVER_OVER, LST_OVER_DATE, LST_OVER_DATESTR, LST_OVER_EXPENSE, LST_OVER_INCOME, LST_OVER_BALANCE, NUM_LST_OVER }; struct repbalance_data { GList *ope_list; Filter *filter; guint32 accnum; gdouble minimum; gboolean detail; gdouble *tmp_income; gdouble *tmp_expense; guint n_result; guint nbbalance, nbope; GtkWidget *window; GtkUIManager *ui; GtkActionGroup *actions; GtkWidget *TB_bar; GtkWidget *TX_info; GtkWidget *TX_daterange; GtkWidget *CM_minor; GtkWidget *LV_report; GtkWidget *PO_acc; GtkWidget *CM_selectall; GtkWidget *CM_eachday; GtkWidget *RG_zoomx, *LB_zoomx; GtkWidget *PO_mindate, *PO_maxdate; GtkWidget *CY_range; GtkWidget *GR_result; GtkWidget *RE_line; GtkWidget *GR_detail; GtkWidget *LV_detail; gulong handler_id[MAX_REPBALANCE_HID]; }; GtkWidget *repbalance_window_new(gint32 accnum); #endifhomebank-5.3.2/src/hb-category.h0000644000175000017500000000500713604720371013377 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_CATEGORY_H__ #define __HB_CATEGORY_H__ typedef struct _category Category; struct _category { guint32 key; guint32 parent; gushort flags; gushort _pad1; gchar *name; gdouble budget[13]; //0:is same value, 1 ..12 are months /* unsaved datas */ gchar *fullname; gboolean flt_select; guint usage_count; }; #define GF_SUB (1<<0) //? useful as we can check item->parent= 0 #define GF_INCOME (1<<1) #define GF_CUSTOM (1<<2) #define GF_BUDGET (1<<3) #define GF_FORCED (1<<4) #define GF_MIXED (1<<5) //#1740368 if cat has mixed exp/inc type Category *da_cat_clone(Category *src_item); void da_cat_free(Category *item); Category *da_cat_malloc(void); void da_cat_destroy(void); void da_cat_new(void); guint da_cat_length(void); guint32 da_cat_get_max_key(void); guint32 da_cat_delete(guint32 key); gboolean da_cat_insert(Category *acc); gboolean da_cat_append(Category *cat); Category *da_cat_append_ifnew_by_fullname(gchar *rawfullname); Category *da_cat_get(guint32 key); gchar *da_cat_get_name(Category *item); Category *da_cat_get_by_fullname(gchar *rawfullname); void da_cat_consistency(Category *item); GList *category_glist_sorted(gint column); guint32 category_report_id(guint32 key, gboolean subcat); void category_delete_unused(void); void category_fill_usage(void); void category_move(guint32 key1, guint32 key2); gboolean category_rename(Category *item, const gchar *newname); gchar *category_find_preset(gchar **lang); gint category_type_get(Category *item); gchar category_get_type_char(Category *item); gint category_change_type(Category *item, gboolean isIncome, gboolean doChild); gboolean category_load_csv(gchar *filename, gchar **error); gboolean category_save_csv(gchar *filename, gchar **error); #endif homebank-5.3.2/src/ui-assign.h0000644000175000017500000000465713604720371013104 00000000000000/* HomeBank -- Free, easy, personal rulounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_ASSIGN_GTK_H__ #define __HB_ASSIGN_GTK_H__ enum { LST_DEFASG_TOGGLE, LST_DEFASG_DATAS, NUM_LST_DEFASG }; gchar *ui_asg_comboboxentry_get_name(GtkComboBox *entry_box); guint32 ui_asg_comboboxentry_get_key(GtkComboBox *entry_box); gboolean ui_asg_comboboxentry_set_active(GtkComboBox *entry_box, guint32 key); void ui_asg_comboboxentry_add(GtkComboBox *entry_box, Assign *asg); void ui_asg_comboboxentry_populate(GtkComboBox *entry_box, GHashTable *hash); void ui_asg_comboboxentry_populate_except(GtkComboBox *entry_box, GHashTable *hash, guint except_key); GtkWidget *ui_asg_comboboxentry_new(GtkWidget *label); /* = = = = = = = = = = */ void ui_asg_listview_add(GtkTreeView *treeview, Assign *item); guint32 ui_asg_listview_get_selected_key(GtkTreeView *treeview); void ui_asg_listview_remove_selected(GtkTreeView *treeview); void ui_asg_listview_populate(GtkWidget *view); GtkWidget *ui_asg_listview_new(gboolean withtoggle); /* = = = = = = = = = = */ struct ui_asg_manage_data { GList *tmp_list; gint change; gint action; guint32 lastkey; GtkWidget *dialog; GtkWidget *LV_rul; GtkWidget *BT_add, *BT_rem; GtkWidget *GR_condition; GtkWidget *CY_field; GtkWidget *ST_search; GtkWidget *GR_wrntxt, *LB_wrntxt; GtkWidget *CM_exact; GtkWidget *CM_re; GtkWidget *GR_assignment; GtkWidget *RA_pay; GtkWidget *LB_pay; GtkWidget *PO_pay; GtkWidget *RA_cat; GtkWidget *LB_cat; GtkWidget *PO_cat; GtkWidget *RA_mod; GtkWidget *LB_mod; GtkWidget *NU_mod; GtkWidget *GR_misc; GtkWidget *ST_notes; }; struct rulPopContext { GtkTreeModel *model; guint except_key; }; GtkWidget *ui_asg_manage_dialog (void); #endif homebank-5.3.2/src/hb-account.h0000644000175000017500000000673313604720371013225 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_ACCOUNT_H__ #define __HB_ACCOUNT_H__ typedef struct _account Account; struct _account { guint32 key; gushort flags; gushort type; guint32 pos; //display position guint32 kcur; gchar *name; gchar *number; gchar *bankname; guint32 kgrp; gdouble initial; gdouble warning; gdouble minimum; guint32 cheque1; guint32 cheque2; gchar *notes; guint32 karc; /* unsaved datas */ GQueue *txn_queue; GtkWindow *window; //dsp_account window opened gdouble bal_bank; //bank balance (reconciled transaction) gdouble bal_today; //today balance (every transaction until today) gdouble bal_future; //future balance (every transaction) gboolean flt_select; //true if selected into filter }; // 0 is free #define AF_CLOSED (1<<1) #define AF_ADDED (1<<2) #define AF_CHANGED (1<<3) #define AF_NOSUMMARY (1<<4) #define AF_NOBUDGET (1<<5) #define AF_NOREPORT (1<<6) #define AF_OLDBUDGET (1<<0) enum { // + https://www.kashoo.com/blog/what-are-the-different-account-types-in-accounting/ ACC_TYPE_NONE = 0, ACC_TYPE_BANK = 1, //Banque ACC_TYPE_CASH = 2, //Espèce ACC_TYPE_ASSET = 3, //Actif (avoir) ACC_TYPE_CREDITCARD = 4, //Carte crédit ACC_TYPE_LIABILITY = 5, //Passif (dettes) ACC_TYPE_CHECKING = 6, //OFX A standard checking account ACC_TYPE_SAVINGS = 7, //OFX A standard savings account // OFX_MONEYMRKT OFX A money market account // OFX_CREDITLINE OFX A line of credit // OFX_INVESTMENT OFX An investment account // ACC_TYPE_STOCK = 11, //Actions ACC_TYPE_MUTUALFUND = 12, //Fond de placement ACC_TYPE_INCOME = 13, //Revenus ACC_TYPE_EXPENSE = 14, //Dépenses ACC_TYPE_EQUITY = 15, //Capitaux propres // ACC_TYPE_, ACC_TYPE_MAXVALUE }; Account *da_acc_malloc(void); void da_acc_free(Account *item); Account *da_acc_malloc(void); void da_acc_destroy(void); void da_acc_new(void); guint da_acc_length(void); gboolean da_acc_create_none(void); gboolean da_acc_remove(guint32 key); gboolean da_acc_insert(Account *item); gboolean da_acc_append(Account *item); guint32 da_acc_get_max_key(void); Account *da_acc_get_by_name(gchar *name); Account *da_acc_get_by_imp_name(gchar *name); Account *da_acc_get(guint32 key); void da_acc_consistency(Account *item); GtkWindow *account_window(guint32 key); gboolean account_is_used(guint32 key); gboolean account_exists(gchar *name); gboolean account_rename(Account *item, gchar *newname); void account_set_currency(Account *item, guint32 kcur); void account_compute_balances(void); gboolean account_balances_add(Transaction *trn); gboolean account_balances_sub(Transaction *trn); GList *account_glist_sorted(gint column); void account_convert_euro(Account *acc); #endif homebank-5.3.2/src/ui-filter.h0000644000175000017500000000367113604720371013100 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_FILTER_GTK_H__ #define __HB_FILTER_GTK_H__ enum { BUTTON_ALL, BUTTON_NONE, BUTTON_INVERT, MAX_BUTTON }; struct ui_flt_hub_stuf { GtkWidget *treeview; GtkWidget *BT_all; GtkWidget *BT_none; GtkWidget *BT_invert; }; struct ui_flt_manage_data { Filter *filter; GtkWidget *stack; GtkWidget *CY_option[FILTER_MAX]; GtkWidget *GR_page[FILTER_MAX]; GtkWidget *PO_mindate, *PO_maxdate; GtkWidget *CY_month, *NB_year; GtkWidget *CY_type; GtkWidget *CY_status; GtkWidget *LB_force, *GR_force; GtkWidget *CM_forceadd, *CM_forcechg, *CM_forceremind, *CM_forcevoid; GtkWidget *CM_paymode[NUM_PAYMODE_MAX]; GtkWidget *ST_minamount, *ST_maxamount; GtkWidget *CM_exact; GtkWidget *ST_info, *ST_memo, *ST_tag; struct ui_flt_hub_stuf pnl_acc_data; struct ui_flt_hub_stuf pnl_pay_data; struct ui_flt_hub_stuf pnl_cat_data; GtkWidget *LV_acc, *BT_acc[MAX_BUTTON]; GtkWidget *LV_pay, *BT_pay[MAX_BUTTON]; GtkWidget *LV_cat, *BT_cat[MAX_BUTTON]; GtkWidget *BT_expand, *BT_collapse; gboolean show_account; }; gint ui_flt_manage_dialog_new(GtkWindow *parentwindow, Filter *filter, gboolean show_account, gboolean txnmode); #endif homebank-5.3.2/src/hb-report.c0000644000175000017500000005050313606624726013102 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hb-report.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; extern gchar *CYA_ABMONTHS[]; /* = = = = = = = = = = = = = = = = = = = = */ /* CarCost */ void da_vehiclecost_free(CarCost *item) { if(item != NULL) { g_free(item); } } CarCost *da_vehiclecost_malloc(void) { return g_malloc0(sizeof(CarCost)); } void da_vehiclecost_destroy(GList *list) { GList *tmplist = g_list_first(list); while (tmplist != NULL) { CarCost *item = tmplist->data; da_vehiclecost_free(item); tmplist = g_list_next(tmplist); } g_list_free(list); } /* = = = = = = = = = = = = = = = = = = = = */ static void da_datarow_free(DataRow *row) { if(row) { g_free(row->label); g_free(row->expense); g_free(row->income); } } static DataRow *da_datarow_malloc(guint32 nbcol) { DataRow *row; row = g_malloc0(sizeof(DataRow)); if(!row) return NULL; row->expense = g_malloc0((nbcol+2) * sizeof(gdouble)); row->income = g_malloc0((nbcol+2) * sizeof(gdouble)); return row; } void da_datatable_free(DataTable *dt) { guint i; DB( g_print("da_datatable_free\n") ); if(dt != NULL) { //free each rows for(i=0;inbrows;i++) { DataRow *dr = dt->rows[i]; da_datarow_free(dr); } g_free(dt->rows); g_free(dt); } } DataTable *da_datatable_malloc(gshort type, guint32 nbrows, guint32 nbcols) { DataTable *dt = g_malloc0(sizeof(DataTable)); guint i; DB( g_print("\nda_datatable_malloc\n") ); if(!dt) return NULL; //allocate 2 more slot for total and average dt->nbrows = nbrows; dt->nbcols = nbcols; dt->rows = g_malloc0((nbrows) * sizeof(gpointer)); for(i=0;inbrows;i++) { DataRow *dr = da_datarow_malloc(dt->nbcols+2); //dr->label = ; //dr.pos = ; dt->rows[i] = dr; } DB( g_print("- @%p, r=%d, c=%d\n", dt, nbrows, nbcols) ); return dt; } /* = = = = = = = = = = = = = = = = = = = = */ /* ** return the month list position correponding to the passed date */ static guint DateInMonth(guint32 from, guint32 opedate) { GDate *date1, *date2; guint pos; //todo // this return sometimes -1, -2 which is wrong date1 = g_date_new_julian(from); date2 = g_date_new_julian(opedate); pos = ((g_date_get_year(date2) - g_date_get_year(date1)) * 12) + g_date_get_month(date2) - g_date_get_month(date1); //g_print(" from=%d-%d ope=%d-%d => %d\n", g_date_get_month(date1), g_date_get_year(date1), g_date_get_month(date2), g_date_get_year(date2), pos); g_date_free(date2); g_date_free(date1); return(pos); } //for fiscal sub gap between 1st fiscal and 1/1/year //int quarterNumber = (date.Month-1)/3+1; //DateTime firstDayOfQuarter = new DateTime(date.Year, (quarterNumber-1)*3+1,1); //DateTime lastDayOfQuarter = firstDayOfQuarter.AddMonths(3).AddDays(-1); static guint DateInQuarter(guint32 from, guint32 opedate) { GDate *date1, *date2; guint quarter, pos; date1 = g_date_new_julian(from); date2 = g_date_new_julian(opedate); //#1758532 shift to first quarter day of 'from date' quarter = ((g_date_get_month(date1)-1)/3)+1; DB( g_print("-- from=%02d/%d :: Q%d\n", g_date_get_month(date1), g_date_get_year(date1), quarter) ); g_date_set_day(date1, 1); g_date_set_month(date1, ((quarter-1)*3)+1); pos = (((g_date_get_year(date2) - g_date_get_year(date1)) * 12) + g_date_get_month(date2) - g_date_get_month(date1))/3; DB( g_print("-- from=%02d/%d ope=%02d/%d => pos=%d\n", g_date_get_month(date1), g_date_get_year(date1), g_date_get_month(date2), g_date_get_year(date2), pos) ); g_date_free(date2); g_date_free(date1); return(pos); } static guint DateInHalfYear(guint32 from, guint32 opedate) { GDate *date1, *date2; guint hyear, pos; date1 = g_date_new_julian(from); date2 = g_date_new_julian(opedate); // shift to first half year of 'from date' hyear = ((g_date_get_month(date1)-1)/6)+1; DB( g_print("-- from=%02d/%d :: Q%d\n", g_date_get_month(date1), g_date_get_year(date1), hyear) ); g_date_set_day(date1, 1); g_date_set_month(date1, ((hyear-1)*6)+1); pos = (((g_date_get_year(date2) - g_date_get_year(date1)) * 12) + g_date_get_month(date2) - g_date_get_month(date1))/6; DB( g_print(" from=%d-%d ope=%d-%d => %d\n", g_date_get_month(date1), g_date_get_year(date1), g_date_get_month(date2), g_date_get_year(date2), pos) ); g_date_free(date2); g_date_free(date1); return(pos); } /* ** return the year list position correponding to the passed date */ static guint DateInYear(guint32 from, guint32 opedate) { GDate *date; guint year_from, year_ope, pos; date = g_date_new_julian(from); year_from = g_date_get_year(date); g_date_set_julian(date, opedate); year_ope = g_date_get_year(date); g_date_free(date); pos = year_ope - year_from; //g_print(" from=%d ope=%d => %d\n", year_from, year_ope, pos); return(pos); } void datatable_init_items(DataTable *dt, gint src, guint32 jfrom) { GList *list = NULL; gint pos; gchar *name; gchar buffer[64]; guint i; DB( g_print("\ndatatable_init_items\n") ); switch(src) { case REPORT_SRC_CATEGORY: case REPORT_SRC_SUBCATEGORY: list = category_glist_sorted(1); break; case REPORT_SRC_PAYEE: list = payee_glist_sorted(1); break; case REPORT_SRC_ACCOUNT: list = account_glist_sorted(1); break; case REPORT_SRC_TAG: list = tag_glist_sorted(1); break; } //todo: list_index has a cost //preferable to iter through the list for(i=0;inbrows;i++) { DataRow *dr = dt->rows[i]; pos = i; name = NULL; switch(src) { case REPORT_SRC_CATEGORY: case REPORT_SRC_SUBCATEGORY: { Category *entry = da_cat_get(i); if(entry != NULL) { name = entry->key == 0 ? _("(no category)") : entry->fullname; //if( src == REPORT_SRC_SUBCATEGORY ) //name = entry->name; pos = g_list_index(list, entry); } } break; case REPORT_SRC_PAYEE: { Payee *entry = da_pay_get(i); if(entry != NULL) { name = entry->key == 0 ? _("(no payee)") : entry->name; pos = g_list_index(list, entry); } } break; case REPORT_SRC_ACCOUNT: { Account *entry = da_acc_get(i); if(entry != NULL) { name = entry->name; pos = g_list_index(list, entry); } } break; case REPORT_SRC_TAG: { Tag *entry = da_tag_get(i+1); if(entry != NULL) { name = entry->name; pos = g_list_index(list, entry); } } break; case REPORT_SRC_MONTH: report_interval_snprint_name(buffer, sizeof(buffer)-1, REPORT_INTVL_MONTH, jfrom, i); name = buffer; pos = i; break; case REPORT_SRC_YEAR: report_interval_snprint_name(buffer, sizeof(buffer)-1, REPORT_INTVL_YEAR, jfrom, i); name = buffer; pos = i; break; } DB( g_print("- init row:%d / pos:%d '%s'\n", i, pos, name) ); dr->pos = pos; dr->label = g_strdup(name); } g_list_free(list); } // this is the add in total mode void datatable_amount_add(DataTable *dt, guint32 idx, gdouble amount) { if( idx <= (dt->nbrows) ) { DataRow *dr = dt->rows[idx]; if(amount > 0.0) { dr->income[1] += amount; dt->totinc += amount; } else { dr->expense[0] += amount; dt->totexp += amount; } } else g_warning("invalid datatable index"); } DataTable *report_compute_total(gint tmpsrc, Filter *flt, GQueue *txn_queue) { DataTable *dt; GList *list; guint i; gint n_result; DB( g_print("\n[report] compute_total\n") ); //todo: remove tnis later on n_result = report_items_count(tmpsrc, flt->mindate, flt->maxdate); DB( g_print(" %d :: n_result=%d\n", tmpsrc, n_result) ); dt = da_datatable_malloc (0, n_result, 3); if( dt != NULL ) { datatable_init_items(dt, tmpsrc, flt->mindate); list = g_queue_peek_head_link(txn_queue); while (list != NULL) { Transaction *ope = list->data; DB( g_print("** testing '%s', cat=%d==> %d\n", ope->memo, ope->kcat, filter_txn_match(flt, ope)) ); if( (filter_txn_match(flt, ope) == 1) ) { guint32 pos = 0; gdouble trn_amount; DB( g_print(" - should insert\n") ); trn_amount = report_txn_amount_get(flt, ope); trn_amount = hb_amount_base(trn_amount, ope->kcur); if( tmpsrc != REPORT_SRC_TAG ) { //for split, affect the amount to the category if( (tmpsrc == REPORT_SRC_CATEGORY || tmpsrc == REPORT_SRC_SUBCATEGORY) && ope->flags & OF_SPLIT ) { guint nbsplit = da_splits_length(ope->splits); Split *split; gboolean status; gint sinsert; for(i=0;isplits, i); status = da_flt_status_cat_get(flt, split->kcat); sinsert = ( status == TRUE ) ? 1 : 0; if(flt->option[FILTER_CATEGORY] == 2) sinsert ^= 1; DB( g_print(" split insert=%d, kcat=%d\n", sinsert, split->kcat) ); if( (flt->option[FILTER_CATEGORY] == 0) || sinsert) { pos = category_report_id(split->kcat, (tmpsrc == REPORT_SRC_SUBCATEGORY) ? TRUE : FALSE); trn_amount = hb_amount_base(split->amount, ope->kcur); datatable_amount_add(dt, pos, trn_amount); } } } else { pos = report_items_get_pos(tmpsrc, flt->mindate, ope); datatable_amount_add(dt, pos, trn_amount); } } else /* the TAG process is particular */ { if(ope->tags != NULL) { guint32 *tptr = ope->tags; while(*tptr) { pos = *tptr - 1; datatable_amount_add(dt, pos, trn_amount); tptr++; } } } } list = g_list_next(list); } } return dt; } void datatable_trend_add(DataTable *dt, guint32 row, guint32 col, gdouble amount) { DB( g_print(" add to r%d,c%d %.2f\n", row, col, amount) ); if( row <= (dt->nbrows) ) { DataRow *dr = dt->rows[row]; if( col <= dt->nbcols ) { if(amount > 0.0) { dr->income[col] += amount; dr->income[dt->nbcols+1] += (amount/dt->nbcols); dr->income[dt->nbcols+2] += amount; //dt->totinc += amount; } else { dr->expense[col] += amount; dr->expense[dt->nbcols+1] += (amount/dt->nbcols); dr->expense[dt->nbcols+2] += amount; //dt->totexp += amount; } } } else g_warning("invalid datatable index"); } DataTable *report_compute_trend(gint tmpsrc, gint tmpintvl, Filter *flt, GQueue *txn_queue) { DataTable *dt; GList *list; guint i; gint n_result, n_cols; DB( g_print("\n[report] compute_trend\n") ); //todo: remove this later on n_result = report_items_count(tmpsrc, flt->mindate, flt->maxdate); n_cols = report_interval_count(tmpintvl, flt->mindate, flt->maxdate); DB( g_print(" %d :: n_result=%d\n", tmpsrc, n_result) ); dt = da_datatable_malloc (0, n_result, n_cols); if( dt != NULL ) { datatable_init_items(dt, tmpsrc, flt->mindate); list = g_queue_peek_head_link(txn_queue); while (list != NULL) { Transaction *ope = list->data; if( (filter_txn_match(flt, ope) == 1) ) { guint32 pos = 0; guint32 col = 0; gdouble trn_amount; DB( g_print("\n srctxn '%s' %.2f, cat=%d, pay=%d, acc=%d\n", ope->memo, ope->amount, ope->kcat, ope->kpay, ope->kacc) ); trn_amount = report_txn_amount_get(flt, ope); trn_amount = hb_amount_base(trn_amount, ope->kcur); col = report_interval_get_pos(tmpintvl, flt->mindate, ope); switch( tmpsrc ) { case REPORT_SRC_CATEGORY: case REPORT_SRC_SUBCATEGORY: //for split, affect the amount to the category if( ope->flags & OF_SPLIT ) { guint nbsplit = da_splits_length(ope->splits); Split *split; gboolean status; gint sinsert; for(i=0;isplits, i); status = da_flt_status_cat_get(flt, split->kcat); sinsert = ( status == TRUE ) ? 1 : 0; if(flt->option[FILTER_CATEGORY] == 2) sinsert ^= 1; if( (flt->option[FILTER_CATEGORY] == 0) || sinsert) { DB( g_print(" split insert=%d, kcat=%d\n", sinsert, split->kcat) ); trn_amount = hb_amount_base(split->amount, ope->kcur); pos = category_report_id(split->kcat, (tmpsrc == REPORT_SRC_CATEGORY) ? FALSE : TRUE); datatable_trend_add(dt, pos, col, trn_amount); //add to parent as well if( tmpsrc == REPORT_SRC_SUBCATEGORY ) { //#1859279 test cat as subtype here to avoid count twice Category *cat = da_cat_get(split->kcat); if((cat != NULL) && (cat->flags & GF_SUB)) { pos = cat->parent; datatable_trend_add(dt, pos, col, trn_amount); } } } } } else { pos = category_report_id(ope->kcat, (tmpsrc == REPORT_SRC_CATEGORY) ? FALSE : TRUE); datatable_trend_add(dt, pos, col, trn_amount); //add to parent as well if( tmpsrc == REPORT_SRC_SUBCATEGORY ) { //#1859279 test cat as subtype here to avoid count twice Category *cat = da_cat_get(ope->kcat); if((cat != NULL) && (cat->flags & GF_SUB)) { pos = cat->parent; datatable_trend_add(dt, pos, col, trn_amount); } } } break; case REPORT_SRC_TAG: if(ope->tags != NULL) { guint32 *tptr = ope->tags; while(*tptr) { pos = *tptr - 1; datatable_trend_add(dt, pos, col, trn_amount); tptr++; } } break; default: pos = report_items_get_pos(tmpsrc, flt->mindate, ope); datatable_trend_add(dt, pos, col, trn_amount); break; } } list = g_list_next(list); } } return dt; } gint report_items_count(gint src, guint32 jfrom, guint32 jto) { GDate *date1, *date2; gint nbsrc = 0; switch(src) { case REPORT_SRC_CATEGORY: case REPORT_SRC_SUBCATEGORY: nbsrc = da_cat_get_max_key() + 1; break; case REPORT_SRC_PAYEE: nbsrc = da_pay_get_max_key() + 1; break; case REPORT_SRC_ACCOUNT: nbsrc = da_acc_get_max_key() + 1; break; case REPORT_SRC_TAG: nbsrc = da_tag_length(); break; case REPORT_SRC_MONTH: date1 = g_date_new_julian(jfrom); date2 = g_date_new_julian(jto); nbsrc = ((g_date_get_year(date2) - g_date_get_year(date1)) * 12) + g_date_get_month(date2) - g_date_get_month(date1) + 1; g_date_free(date2); g_date_free(date1); break; case REPORT_SRC_YEAR: date1 = g_date_new_julian(jfrom); date2 = g_date_new_julian(jto); nbsrc = g_date_get_year(date2) - g_date_get_year(date1) + 1; g_date_free(date2); g_date_free(date1); break; } return nbsrc; } gint report_items_get_pos(gint tmpsrc, guint jfrom, Transaction *ope) { gint pos = 0; switch(tmpsrc) { case REPORT_SRC_CATEGORY: pos = category_report_id(ope->kcat, FALSE); break; case REPORT_SRC_SUBCATEGORY: pos = ope->kcat; break; case REPORT_SRC_PAYEE: pos = ope->kpay; break; case REPORT_SRC_ACCOUNT: pos = ope->kacc; break; case REPORT_SRC_MONTH: pos = DateInMonth(jfrom, ope->date); break; case REPORT_SRC_YEAR: pos = DateInYear(jfrom, ope->date); break; } return pos; } gint report_interval_get_pos(gint intvl, guint jfrom, Transaction *ope) { gint pos = 0; switch(intvl) { case REPORT_INTVL_DAY: pos = ope->date - jfrom; break; case REPORT_INTVL_WEEK: pos = (ope->date - jfrom)/7; break; case REPORT_INTVL_MONTH: pos = DateInMonth(jfrom, ope->date); break; case REPORT_INTVL_QUARTER: pos = DateInQuarter(jfrom, ope->date); break; case REPORT_INTVL_HALFYEAR: pos = DateInHalfYear(jfrom, ope->date); break; case REPORT_INTVL_YEAR: pos = DateInYear(jfrom, ope->date); break; } return pos; } gint report_interval_count(gint intvl, guint32 jfrom, guint32 jto) { GDate *date1, *date2; gint nbintvl = 0; date1 = g_date_new_julian(jfrom); date2 = g_date_new_julian(jto); switch(intvl) { case REPORT_INTVL_DAY: nbintvl = 1 + (jto - jfrom); break; case REPORT_INTVL_WEEK: nbintvl = 1 + ((jto - jfrom) / 7); break; case REPORT_INTVL_MONTH: nbintvl = 1 + ((g_date_get_year(date2) - g_date_get_year(date1)) * 12) + g_date_get_month(date2) - g_date_get_month(date1); break; case REPORT_INTVL_QUARTER: nbintvl = 1 + (((g_date_get_year(date2) - g_date_get_year(date1)) * 12) + g_date_get_month(date2) - g_date_get_month(date1))/3; break; case REPORT_INTVL_HALFYEAR: nbintvl = 1 + (((g_date_get_year(date2) - g_date_get_year(date1)) * 12) + g_date_get_month(date2) - g_date_get_month(date1))/6; break; case REPORT_INTVL_YEAR: nbintvl = 1 + g_date_get_year(date2) - g_date_get_year(date1); break; } g_date_free(date2); g_date_free(date1); return nbintvl; } void report_interval_snprint_name(gchar *s, gint slen, gint intvl, guint32 jfrom, gint idx) { GDate *date = g_date_new_julian(jfrom); switch(intvl) { case REPORT_INTVL_DAY: g_date_add_days(date, idx); g_date_strftime (s, slen, PREFS->date_format, date); break; case REPORT_INTVL_WEEK: g_date_add_days(date, idx*7); //g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); //TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); break; case REPORT_INTVL_MONTH: g_date_add_months(date, idx); //g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); g_snprintf(s, slen, "%d-%s", g_date_get_year(date), _(CYA_ABMONTHS[g_date_get_month(date)])); break; case REPORT_INTVL_QUARTER: g_date_add_months(date, idx*3); //g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); //todo: will be innacurrate here if fiscal year start not 1/jan //TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 g_snprintf(s, slen, _("%d-q%d"), g_date_get_year(date), ((g_date_get_month(date)-1)/3)+1); break; case REPORT_INTVL_HALFYEAR: g_date_add_months(date, idx*6); g_snprintf(s, slen, "%d-%s", g_date_get_year(date), g_date_get_month(date) < 7 ? "h1" : "h2"); break; case REPORT_INTVL_YEAR: g_date_add_years(date, idx); g_snprintf(s, slen, "%d", g_date_get_year(date)); break; default: *s ='\0'; break; } g_date_free(date); } gdouble report_acc_initbalance_get(Filter *flt) { GList *lst_acc, *lnk_acc; gdouble initbal = 0.0; lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; //later, filter on acc if( !(acc->flags & AF_NOREPORT) ) initbal += hb_amount_base(acc->initial, acc->kcur); lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); return initbal; } //TODO: maybe migrate this to filter as well //#1562372 in case of a split we need to take amount for filter categories only gdouble report_txn_amount_get(Filter *flt, Transaction *txn) { gdouble amount; amount = txn->amount; if( flt->option[FILTER_CATEGORY] > 0 ) //not inactive { if( txn->flags & OF_SPLIT ) { guint i, nbsplit = da_splits_length(txn->splits); Split *split; gboolean status; gint sinsert; amount = 0.0; for(i=0;isplits, i); status = da_flt_status_cat_get(flt, split->kcat); sinsert = ( status == TRUE ) ? 1 : 0; if(flt->option[FILTER_CATEGORY] == 2) sinsert ^= 1; DB( g_print(" split insert=%d, kcat=%d\n", sinsert, split->kcat) ); if( (flt->option[FILTER_CATEGORY] == 0) || sinsert) { amount += split->amount; } } } } return amount; } homebank-5.3.2/src/rep-time.c0000644000175000017500000014002013610632273012703 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "rep-time.h" #include "list-operation.h" #include "gtk-chart.h" #include "gtk-dateentry.h" #include "dsp-mainwindow.h" #include "ui-account.h" #include "ui-payee.h" #include "ui-category.h" #include "ui-filter.h" #include "ui-transaction.h" #include "ui-tag.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; /* prototypes */ static void ui_reptime_list_set_cur(GtkTreeView *treeview, guint32 kcur); static void ui_reptime_date_change(GtkWidget *widget, gpointer user_data); static void ui_reptime_range_change(GtkWidget *widget, gpointer user_data); static void ui_reptime_detail(GtkWidget *widget, gpointer user_data); static void ui_reptime_update(GtkWidget *widget, gpointer user_data); static void ui_reptime_compute(GtkWidget *widget, gpointer user_data); static void ui_reptime_sensitive(GtkWidget *widget, gpointer user_data); static void ui_reptime_toggle_detail(GtkWidget *widget, gpointer user_data); static void ui_reptime_toggle_minor(GtkWidget *widget, gpointer user_data); static void ui_reptime_update_daterange(GtkWidget *widget, gpointer user_data); static GtkWidget *ui_list_reptime_create(void); static gint ui_list_reptime_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata); static GString *ui_list_reptime_to_string(GtkTreeView *treeview, gboolean clipboard); HbKvData CYA_REPORT_SRC_TREND[] = { { REPORT_SRC_ACCOUNT, N_("Account") }, { REPORT_SRC_CATEGORY, N_("Category") }, { REPORT_SRC_PAYEE, N_("Payee") }, { REPORT_SRC_TAG, N_("Tag") }, { 0, NULL } }; HbKvData CYA_REPORT_INTVL[] = { { REPORT_INTVL_DAY, N_("Day") }, { REPORT_INTVL_WEEK, N_("Week") }, { REPORT_INTVL_MONTH, N_("Month") }, { REPORT_INTVL_QUARTER, N_("Quarter") }, { REPORT_INTVL_HALFYEAR,N_("Half Year") }, { REPORT_INTVL_YEAR, N_("Year") }, { 0, NULL } }; extern gchar *RA_REPORT_TIME_MODE[]; extern gchar *CYA_ABMONTHS[]; /* action functions -------------------- */ static void ui_reptime_action_viewlist(GtkToolButton *toolbutton, gpointer user_data) { struct ui_reptime_data *data = user_data; data->charttype = CHART_TYPE_NONE; gtk_notebook_set_current_page(GTK_NOTEBOOK(data->GR_result), 0); ui_reptime_sensitive(data->window, NULL); } static void ui_reptime_action_viewline(GtkToolButton *toolbutton, gpointer user_data) { struct ui_reptime_data *data = user_data; data->charttype = CHART_TYPE_LINE; gtk_notebook_set_current_page(GTK_NOTEBOOK(data->GR_result), 1); ui_reptime_sensitive(data->window, NULL); ui_reptime_update(data->window, NULL); } static void ui_reptime_action_viewcolumn(GtkToolButton *toolbutton, gpointer user_data) { struct ui_reptime_data *data = user_data; data->charttype = CHART_TYPE_COL; gtk_notebook_set_current_page(GTK_NOTEBOOK(data->GR_result), 1); ui_reptime_sensitive(data->window, NULL); ui_reptime_update(data->window, NULL); } /* ** ============================================================================ */ static void ui_reptime_date_change(GtkWidget *widget, gpointer user_data) { struct ui_reptime_data *data; DB( g_print("\n[reptime] date change\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); data->filter->mindate = gtk_date_entry_get_date(GTK_DATE_ENTRY(data->PO_mindate)); data->filter->maxdate = gtk_date_entry_get_date(GTK_DATE_ENTRY(data->PO_maxdate)); // set min/max date for both widget gtk_date_entry_set_maxdate(GTK_DATE_ENTRY(data->PO_mindate), data->filter->maxdate); gtk_date_entry_set_mindate(GTK_DATE_ENTRY(data->PO_maxdate), data->filter->mindate); g_signal_handler_block(data->CY_range, data->handler_id[HID_REPTIME_RANGE]); hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_range), FLT_RANGE_OTHER); g_signal_handler_unblock(data->CY_range, data->handler_id[HID_REPTIME_RANGE]); ui_reptime_compute(widget, NULL); ui_reptime_update_daterange(widget, NULL); } static void ui_reptime_update_quickdate(GtkWidget *widget, gpointer user_data) { struct ui_reptime_data *data; DB( g_print("\n[reptime] update quickdate\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); g_signal_handler_block(data->PO_mindate, data->handler_id[HID_REPTIME_MINDATE]); g_signal_handler_block(data->PO_maxdate, data->handler_id[HID_REPTIME_MAXDATE]); gtk_date_entry_set_date(GTK_DATE_ENTRY(data->PO_mindate), data->filter->mindate); gtk_date_entry_set_date(GTK_DATE_ENTRY(data->PO_maxdate), data->filter->maxdate); g_signal_handler_unblock(data->PO_mindate, data->handler_id[HID_REPTIME_MINDATE]); g_signal_handler_unblock(data->PO_maxdate, data->handler_id[HID_REPTIME_MAXDATE]); } static void ui_reptime_range_change(GtkWidget *widget, gpointer user_data) { struct ui_reptime_data *data; gint range; DB( g_print("\n[reptime] range change\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); range = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_range)); if(range != FLT_RANGE_OTHER) { filter_preset_daterange_set(data->filter, range, data->accnum); ui_reptime_update_quickdate(widget, NULL); ui_reptime_compute(widget, NULL); ui_reptime_update_daterange(widget, NULL); } } static void ui_reptime_update_daterange(GtkWidget *widget, gpointer user_data) { struct ui_reptime_data *data; gchar *daterange; DB( g_print("\n[reptime] update daterange\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); daterange = filter_daterange_text_get(data->filter); gtk_label_set_markup(GTK_LABEL(data->TX_daterange), daterange); g_free(daterange); } static void ui_reptime_update(GtkWidget *widget, gpointer user_data) { struct ui_reptime_data *data; GtkTreeModel *model; gint page; gint tmpsrc; gchar *title; DB( g_print("\n[reptime] update\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_report)); //byamount = 0; tmpsrc = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_src)); //tmpintvl = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_intvl)); // ensure not exp & inc for piechart page = gtk_notebook_get_current_page(GTK_NOTEBOOK(data->GR_result)); DB( g_print(" page %d\n\n", page) ); //DB( g_print(" tmpintvl %d\n\n", tmpintvl) ); //column = LST_REPTIME_POS; //DB( g_print(" sort on column %d\n\n", column) ); //gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(model), column, GTK_SORT_DESCENDING); gtk_chart_show_legend(GTK_CHART(data->RE_line), FALSE, FALSE); gtk_chart_show_xval(GTK_CHART(data->RE_line), TRUE); //visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; //gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); //TRANSLATORS: example 'Category Over Time' title = g_strdup_printf(_("%s Over Time"), hbtk_get_label(CYA_REPORT_SRC_TREND, tmpsrc) ); gtk_chart_set_datas(GTK_CHART(data->RE_line), model, LST_REPTIME_AMOUNT, title, NULL); g_free(title); if(page == 1) { DB( g_print(" change chart type to %d\n", data->charttype) ); gtk_chart_set_type (GTK_CHART(data->RE_line), data->charttype); gtk_chart_set_showmono(GTK_CHART(data->RE_line), TRUE); } } static void ui_reptime_export_result_clipboard(GtkWidget *widget, gpointer user_data) { struct ui_reptime_data *data; GtkClipboard *clipboard; GString *node; DB( g_print("\n[reptime] export result clipboard\n") ); data = user_data; //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); node = ui_list_reptime_to_string(GTK_TREE_VIEW(data->LV_report), TRUE); clipboard = gtk_clipboard_get_default(gdk_display_get_default()); gtk_clipboard_set_text(clipboard, node->str, node->len); g_string_free(node, TRUE); } static void ui_reptime_export_result_csv(GtkWidget *widget, gpointer user_data) { struct ui_reptime_data *data; gchar *filename = NULL; GString *node; GIOChannel *io; gchar *name; gint tmpsrc; DB( g_print("\n[reptime] export result csv\n") ); data = user_data; //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); tmpsrc = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_src)); name = g_strdup_printf("hb-reptime_%s.csv", hbtk_get_label(CYA_REPORT_SRC_TREND, tmpsrc) ); if( ui_file_chooser_csv(GTK_WINDOW(data->window), GTK_FILE_CHOOSER_ACTION_SAVE, &filename, name) == TRUE ) { DB( g_print(" + filename is %s\n", filename) ); io = g_io_channel_new_file(filename, "w", NULL); if(io != NULL) { node = ui_list_reptime_to_string(GTK_TREE_VIEW(data->LV_report), FALSE); g_io_channel_write_chars(io, node->str, -1, NULL, NULL); g_io_channel_unref (io); g_string_free(node, TRUE); } g_free( filename ); } g_free(name); } static void ui_reptime_export_detail_clipboard(GtkWidget *widget, gpointer user_data) { struct ui_reptime_data *data; GtkClipboard *clipboard; GString *node; DB( g_print("\n[reptime] export detail clipboard\n") ); data = user_data; //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); node = list_txn_to_string(GTK_TREE_VIEW(data->LV_detail), TRUE); clipboard = gtk_clipboard_get_default(gdk_display_get_default()); gtk_clipboard_set_text(clipboard, node->str, node->len); g_string_free(node, TRUE); } static void ui_reptime_export_detail_csv(GtkWidget *widget, gpointer user_data) { struct ui_reptime_data *data; gchar *filename = NULL; GString *node; GIOChannel *io; gchar *name; gint tmpsrc; DB( g_print("\n[reptime] export detail csv\n") ); data = user_data; //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); tmpsrc = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_src)); name = g_strdup_printf("hb-reptime-detail_%s.csv", hbtk_get_label(CYA_REPORT_SRC_TREND, tmpsrc) ); if( ui_file_chooser_csv(GTK_WINDOW(data->window), GTK_FILE_CHOOSER_ACTION_SAVE, &filename, name) == TRUE ) { DB( g_print(" + filename is %s\n", filename) ); io = g_io_channel_new_file(filename, "w", NULL); if(io != NULL) { node = list_txn_to_string(GTK_TREE_VIEW(data->LV_detail), FALSE); g_io_channel_write_chars(io, node->str, -1, NULL, NULL); g_io_channel_unref (io); g_string_free(node, TRUE); } g_free( filename ); } g_free(name); } static void ui_reptime_update_for(GtkWidget *widget, gpointer user_data) { struct ui_reptime_data *data; gint tmpsrc; gboolean visible; DB( g_print("\n[reptime] update for\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); tmpsrc = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_src)); visible = tmpsrc == REPORT_SRC_ACCOUNT ? TRUE : FALSE; hb_widget_visible(data->LB_acc, visible); hb_widget_visible(data->PO_acc, visible); visible = tmpsrc == REPORT_SRC_CATEGORY ? TRUE : FALSE; hb_widget_visible(data->LB_cat, visible); hb_widget_visible(data->PO_cat, visible); visible = tmpsrc == REPORT_SRC_PAYEE ? TRUE : FALSE; hb_widget_visible(data->LB_pay, visible); hb_widget_visible(data->PO_pay, visible); visible = tmpsrc == REPORT_SRC_TAG ? TRUE : FALSE; hb_widget_visible(data->LB_tag, visible); hb_widget_visible(data->PO_tag, visible); } static void ui_reptime_for(GtkWidget *widget, gpointer user_data) { struct ui_reptime_data *data; DB( g_print("\n[reptime] for\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); ui_reptime_update_for(widget, data); ui_reptime_compute(widget, data); } //TODO: this is temporary, as at end we will enable filter static void ui_reptime_compute_set_filter(Filter *flt, gint tmpsrc, guint32 selkey) { //inactive all filters flt->option[FILTER_CATEGORY] = 0; flt->option[FILTER_PAYEE] = 0; flt->option[FILTER_ACCOUNT] = 0; flt->option[FILTER_TEXT] = 0; switch(tmpsrc) { case REPORT_SRC_ACCOUNT: flt->option[FILTER_ACCOUNT] = 1; filter_status_acc_clear_except(flt, selkey); break; case REPORT_SRC_CATEGORY: flt->option[FILTER_CATEGORY] = 1; filter_status_cat_clear_except(flt, selkey); break; case REPORT_SRC_PAYEE: flt->option[FILTER_PAYEE] = 1; filter_status_pay_clear_except(flt, selkey); break; case REPORT_SRC_TAG: flt->option[FILTER_TEXT] = 1; filter_set_tag_by_id(flt, selkey); break; } } static void ui_reptime_detail(GtkWidget *widget, gpointer user_data) { struct ui_reptime_data *data; guint active = GPOINTER_TO_INT(user_data); guint tmpintvl; guint32 from; GList *list; GtkTreeModel *model; GtkTreeIter iter; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n[reptime] detail\n") ); //tmpsrc = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_src)); tmpintvl = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_intvl)); //ui_reptime_compute_set_filter was already called here //get our min max date from = data->filter->mindate; //to = data->filter->maxdate; /* clear and detach our model */ model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_detail)); gtk_list_store_clear (GTK_LIST_STORE(model)); if(data->detail) { g_object_ref(model); /* Make sure the model stays with us after the tree view unrefs it */ gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_detail), NULL); /* Detach model from view */ /* fill in the model */ list = g_queue_peek_head_link(data->txn_queue); while (list != NULL) { Transaction *ope = list->data; guint pos; if(filter_txn_match(data->filter, ope) == 1) { pos = report_interval_get_pos(tmpintvl, from, ope); if( pos == active ) { gdouble dtlamt = report_txn_amount_get(data->filter, ope); gtk_list_store_insert_with_values (GTK_LIST_STORE(model), &iter, -1, MODEL_TXN_POINTER, ope, MODEL_TXN_SPLITAMT, dtlamt, -1); } } list = g_list_next(list); } /* Re-attach model to view */ gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_detail), model); g_object_unref(model); gtk_tree_view_columns_autosize( GTK_TREE_VIEW(data->LV_detail) ); } } static void ui_reptime_compute(GtkWidget *widget, gpointer user_data) { struct ui_reptime_data *data; gint tmpsrc, tmpintvl, range, showempty; guint32 from, to; gboolean cumul; gboolean showall; gdouble cumulation, average; GtkTreeModel *model; GtkTreeIter iter; GList *list; gint id; guint n_result, i; gdouble *tmp_amount; guint32 selkey; DB( g_print("\n[reptime] compute\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); tmpsrc = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_src)); tmpintvl = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_intvl)); cumul = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_cumul)); showall = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_all)); range = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_range)); showempty = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_showempty)); selkey = 0; data->accnum = 0; switch(tmpsrc) { case REPORT_SRC_ACCOUNT: selkey = ui_acc_comboboxentry_get_key(GTK_COMBO_BOX(data->PO_acc)); if(showall == FALSE) data->accnum = selkey; break; case REPORT_SRC_CATEGORY: selkey = ui_cat_comboboxentry_get_key(GTK_COMBO_BOX(data->PO_cat)); break; case REPORT_SRC_PAYEE: selkey = ui_pay_comboboxentry_get_key(GTK_COMBO_BOX(data->PO_pay)); break; case REPORT_SRC_TAG: selkey = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->PO_tag)); break; } if( showall == TRUE ) { data->filter->option[FILTER_CATEGORY] = 0; data->filter->option[FILTER_PAYEE] = 0; data->filter->option[FILTER_ACCOUNT] = 0; data->filter->option[FILTER_TEXT] = 0; } else ui_reptime_compute_set_filter(data->filter, tmpsrc, selkey); DB( g_print(" source=%d-%s, intvl=%d-%s:: key=%d\n", tmpsrc, hbtk_get_label(CYA_REPORT_SRC_TREND, tmpsrc), tmpintvl, hbtk_get_label(CYA_REPORT_INTVL, tmpintvl), selkey) ); //to remove > 5.0.2 //#1715532 5.0.5: no... but only showall if( (showall == TRUE) && (range == FLT_RANGE_ALLDATE) ) { filter_preset_daterange_set(data->filter, data->filter->range, data->accnum); ui_reptime_update_quickdate(widget, NULL); } //get our min max date from = data->filter->mindate; to = data->filter->maxdate; if(to < from) return; g_queue_free (data->txn_queue); data->txn_queue = hbfile_transaction_get_partial(data->filter->mindate, data->filter->maxdate); n_result = report_interval_count(tmpintvl, from, to); DB( g_print(" %s :: n_result=%d\n", hbtk_get_label(CYA_REPORT_SRC_TREND, tmpsrc), n_result) ); /* allocate some memory */ tmp_amount = g_malloc0((n_result+2) * sizeof(gdouble)); if(tmp_amount) { list = g_queue_peek_head_link(data->txn_queue); while (list != NULL) { Transaction *ope = list->data; //DB( g_print("\n** testing '%s', cat=%d==> %d\n", ope->memo, ope->kcat, filter_txn_match(data->filter, ope)) ); if( (filter_txn_match(data->filter, ope) == 1) ) { guint pos; gdouble trn_amount; trn_amount = report_txn_amount_get(data->filter, ope); //#1829603 Multi currencies problem in Trend Time Report if( ! ( tmpsrc == REPORT_SRC_ACCOUNT && showall == FALSE) ) trn_amount = hb_amount_base(trn_amount, ope->kcur); pos = report_interval_get_pos(tmpintvl, from, ope); if( pos <= n_result ) { DB( g_print("** pos=%d : add of %.2f\n", pos, trn_amount) ); tmp_amount[pos] += trn_amount; } else { DB( g_print("** pos=%d : invalid offset\n", pos) ); } } list = g_list_next(list); } /* clear and detach our model */ model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_report)); gtk_list_store_clear (GTK_LIST_STORE(model)); g_object_ref(model); /* Make sure the model stays with us after the tree view unrefs it */ gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_report), NULL); /* Detach model from view */ cumulation = 0.0; /* insert into the treeview */ for(i=0, id=0; ikcur; if( (showall == FALSE) && (tmpsrc == REPORT_SRC_ACCOUNT) ) { Account *acc = da_acc_get(selkey); if( acc != NULL ) kcur = acc->kcur; gtk_chart_set_overdrawn(GTK_CHART(data->RE_line), acc->minimum); } ui_reptime_list_set_cur(GTK_TREE_VIEW(data->LV_report), kcur); gtk_chart_set_currency(GTK_CHART(data->RE_line), kcur); /* update column 0 title */ GtkTreeViewColumn *column = gtk_tree_view_get_column( GTK_TREE_VIEW(data->LV_report), 0); if(column) gtk_tree_view_column_set_title(column, hbtk_get_label(CYA_REPORT_INTVL, tmpintvl) ); gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_report)); /* Re-attach model to view */ gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_report), model); g_object_unref(model); //update average gtk_label_set_text(GTK_LABEL(data->TX_info), ""); if( cumul == TRUE ) { gchar *info; gchar buf[128]; average = cumulation / n_result; data->average = average; hb_strfmon(buf, 127, average, kcur, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_minor)) ); info = g_strdup_printf(_("Average: %s"), buf); gtk_label_set_text(GTK_LABEL(data->TX_info), info); g_free(info); } } /* free our memory */ g_free(tmp_amount); ui_reptime_update(widget, user_data); } static void ui_reptime_sensitive(GtkWidget *widget, gpointer user_data) { struct ui_reptime_data *data; gboolean visible, sensitive; gint page; DB( g_print("\n[reptime] sensitive\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); page = gtk_notebook_get_current_page(GTK_NOTEBOOK(data->GR_result)); visible = page == 0 ? TRUE : FALSE; hb_widget_visible (data->BT_detail, visible); hb_widget_visible (data->BT_export, visible); visible = page == 0 ? FALSE : TRUE; hb_widget_visible(data->LB_zoomx, visible); hb_widget_visible(data->RG_zoomx, visible); page = gtk_tree_model_iter_n_children(gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_detail)), NULL); sensitive = ((page > 0) && data->detail) ? TRUE : FALSE; gtk_widget_set_sensitive(data->MI_detailtoclip, sensitive); gtk_widget_set_sensitive(data->MI_detailtocsv, sensitive); } static void ui_reptime_detail_onRowActivated (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *col, gpointer userdata) { struct ui_reptime_data *data; Transaction *active_txn; gboolean result; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(treeview), GTK_TYPE_WINDOW)), "inst_data"); DB( g_print ("\n[reptime] A detail row has been double-clicked!\n") ); active_txn = list_txn_get_active_transaction(GTK_TREE_VIEW(data->LV_detail)); if(active_txn) { Transaction *old_txn, *new_txn; old_txn = da_transaction_clone (active_txn); new_txn = active_txn; result = deftransaction_external_edit(GTK_WINDOW(data->window), old_txn, new_txn); if(result == GTK_RESPONSE_ACCEPT) { //#1640885 GLOBALS->changes_count++; ui_reptime_compute(data->window, NULL); } da_transaction_free (old_txn); } } static void ui_reptime_update_detail(GtkWidget *widget, gpointer user_data) { struct ui_reptime_data *data; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); if(data->detail) { GtkTreeSelection *treeselection; GtkTreeModel *model; GtkTreeIter iter; guint key; treeselection = gtk_tree_view_get_selection (GTK_TREE_VIEW(data->LV_report)); if (gtk_tree_selection_get_selected(treeselection, &model, &iter)) { gtk_tree_model_get(model, &iter, LST_REPTIME_KEY, &key, -1); DB( g_print(" - active is %d\n", key) ); ui_reptime_detail(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), GINT_TO_POINTER(key)); } gtk_widget_show(data->GR_detail); } else gtk_widget_hide(data->GR_detail); } static void ui_reptime_toggle_detail(GtkWidget *widget, gpointer user_data) { struct ui_reptime_data *data; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); data->detail ^= 1; DB( g_print("(stats) toggledetail to %d\n", data->detail) ); ui_reptime_update_detail(widget, user_data); } static void ui_reptime_zoomx_callback(GtkWidget *widget, gpointer user_data) { struct ui_reptime_data *data; gdouble value; DB( g_print("\n[reptime] zoomx\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); value = gtk_range_get_value(GTK_RANGE(data->RG_zoomx)); DB( g_print(" + scale is %.2f\n", value) ); gtk_chart_set_barw(GTK_CHART(data->RE_line), value); } static void ui_reptime_toggle_minor(GtkWidget *widget, gpointer user_data) { struct ui_reptime_data *data; DB( g_print("\n[reptime] toggle\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); GLOBALS->minor = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_minor)); //hbfile_update(data->LV_acc, (gpointer)4); gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_report)); gtk_chart_show_minor(GTK_CHART(data->RE_line), GLOBALS->minor); } static void ui_reptime_toggle_showall(GtkWidget *widget, gpointer user_data) { struct ui_reptime_data *data; gboolean showall; DB( g_print("\n[reptime] toggle\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); showall = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_all)); gtk_widget_set_sensitive(GTK_WIDGET(data->PO_acc), showall^1); gtk_widget_set_sensitive(GTK_WIDGET(data->PO_cat), showall^1); gtk_widget_set_sensitive(GTK_WIDGET(data->PO_pay), showall^1); gtk_widget_set_sensitive(GTK_WIDGET(data->PO_tag), showall^1); ui_reptime_compute(widget, data); } /* ** */ static void ui_reptime_setup(struct ui_reptime_data *data, guint32 accnum) { DB( g_print("\n[reptime] setup\n") ); data->txn_queue = g_queue_new (); data->filter = da_flt_malloc(); filter_reset(data->filter); data->detail = 0; /* 3.4 : make int transfer out of stats */ //todo: for compatibility with < 5.3, keep this unset, but normally it should be set //data->filter->option[FILTER_TYPE] = 2; //data->filter->type = FLT_TYPE_INTXFER; filter_preset_daterange_set(data->filter, PREFS->date_range_rep, data->accnum); g_signal_handler_block(data->PO_mindate, data->handler_id[HID_REPTIME_MINDATE]); g_signal_handler_block(data->PO_maxdate, data->handler_id[HID_REPTIME_MAXDATE]); gtk_date_entry_set_date(GTK_DATE_ENTRY(data->PO_mindate), data->filter->mindate); gtk_date_entry_set_date(GTK_DATE_ENTRY(data->PO_maxdate), data->filter->maxdate); g_signal_handler_unblock(data->PO_mindate, data->handler_id[HID_REPTIME_MINDATE]); g_signal_handler_unblock(data->PO_maxdate, data->handler_id[HID_REPTIME_MAXDATE]); DB( g_print(" populate\n") ); ui_acc_comboboxentry_populate(GTK_COMBO_BOX(data->PO_acc), GLOBALS->h_acc, ACC_LST_INSERT_REPORT); if( accnum ) ui_acc_comboboxentry_set_active(GTK_COMBO_BOX(data->PO_acc), accnum); else gtk_combo_box_set_active(GTK_COMBO_BOX(data->PO_acc), 0); ui_pay_comboboxentry_populate(GTK_COMBO_BOX(data->PO_pay), GLOBALS->h_pay); ui_pay_comboboxentry_set_active(GTK_COMBO_BOX(data->PO_pay), 0); ui_cat_comboboxentry_populate(GTK_COMBO_BOX(data->PO_cat), GLOBALS->h_cat); gtk_combo_box_set_active(GTK_COMBO_BOX(data->PO_cat), 0); ui_tag_combobox_populate(GTK_COMBO_BOX_TEXT(data->PO_tag)); DB( g_print(" all ok\n") ); } static void ui_reptime_selection(GtkTreeSelection *treeselection, gpointer user_data) { GtkTreeModel *model; GtkTreeIter iter; guint key = -1; DB( g_print("\n[reptime] selection\n") ); if (gtk_tree_selection_get_selected(treeselection, &model, &iter)) { gtk_tree_model_get(model, &iter, LST_REPTIME_KEY, &key, -1); } DB( g_print(" - active is %d\n", key) ); ui_reptime_detail(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), GINT_TO_POINTER(key)); ui_reptime_sensitive(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), NULL); } static GtkWidget * ui_reptime_toolbar_create(struct ui_reptime_data *data) { GtkWidget *toolbar, *button; toolbar = gtk_toolbar_new(); button = (GtkWidget *)gtk_radio_tool_button_new(NULL); data->BT_list = button; g_object_set (button, "icon-name", ICONNAME_HB_VIEW_LIST, "label", _("List"), NULL); gtk_widget_set_tooltip_text(button, _("View results as list")); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(button), -1); button = (GtkWidget *)gtk_radio_tool_button_new_from_widget(GTK_RADIO_TOOL_BUTTON(button)); data->BT_line = button; g_object_set (button, "icon-name", ICONNAME_HB_VIEW_LINE, "label", _("Line"), NULL); gtk_widget_set_tooltip_text(button, _("View results as lines")); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(button), -1); button = (GtkWidget *)gtk_radio_tool_button_new_from_widget(GTK_RADIO_TOOL_BUTTON(button)); data->BT_column = button; g_object_set (button, "icon-name", ICONNAME_HB_VIEW_COLUMN, "label", _("Column"), NULL); gtk_widget_set_tooltip_text(button, _("View results as column")); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(button), -1); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), gtk_separator_tool_item_new(), -1); button = gtk_widget_new(GTK_TYPE_TOGGLE_TOOL_BUTTON, "icon-name", ICONNAME_HB_OPE_SHOW, "label", _("Detail"), "tooltip-text", _("Toggle detail"), NULL); data->BT_detail = button; gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(button), -1); button = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_REFRESH, _("Refresh"), _("Refresh results")); data->BT_refresh = button; GtkWidget *menu, *menuitem; menu = gtk_menu_new (); //gtk_widget_set_halign (menu, GTK_ALIGN_END); menuitem = gtk_menu_item_new_with_mnemonic (_("_Result to clipboard")); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (ui_reptime_export_result_clipboard), data); menuitem = gtk_menu_item_new_with_mnemonic (_("_Result to CSV")); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (ui_reptime_export_result_csv), data); menuitem = gtk_menu_item_new_with_mnemonic (_("_Detail to clipboard")); data->MI_detailtoclip = menuitem; gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (ui_reptime_export_detail_clipboard), data); menuitem = gtk_menu_item_new_with_mnemonic (_("_Detail to CSV")); data->MI_detailtocsv = menuitem; gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (ui_reptime_export_detail_csv), data); gtk_widget_show_all (menu); button = gtk_menu_button_new(); data->BT_export = button; gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET(button)), GTK_STYLE_CLASS_FLAT); //gtk_menu_button_set_direction (GTK_MENU_BUTTON(widget), GTK_ARROW_DOWN); //gtk_widget_set_halign (widget, GTK_ALIGN_END); GtkWidget *image = gtk_image_new_from_icon_name (ICONNAME_HB_FILE_EXPORT, GTK_ICON_SIZE_LARGE_TOOLBAR); g_object_set (button, "image", image, "popup", GTK_MENU(menu), NULL); GtkToolItem *toolitem = gtk_tool_item_new(); gtk_container_add (GTK_CONTAINER(toolitem), button); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(toolitem), -1); return toolbar; } static gboolean ui_reptime_dispose(GtkWidget *widget, GdkEvent *event, gpointer user_data) { struct ui_reptime_data *data = user_data; struct WinGeometry *wg; DB( g_print("\n[reptime] dispose\n") ); g_queue_free (data->txn_queue); da_flt_free(data->filter); g_free(data); //store position and size wg = &PREFS->tme_wg; gtk_window_get_position(GTK_WINDOW(widget), &wg->l, &wg->t); gtk_window_get_size(GTK_WINDOW(widget), &wg->w, &wg->h); DB( g_print(" window: l=%d, t=%d, w=%d, h=%d\n", wg->l, wg->t, wg->w, wg->h) ); //enable define windows GLOBALS->define_off--; ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_SENSITIVE)); return FALSE; } // the window creation GtkWidget *ui_reptime_window_new(guint32 accnum) { struct ui_reptime_data *data; struct WinGeometry *wg; GtkWidget *window, *mainvbox, *hbox, *vbox, *notebook, *treeview; GtkWidget *label, *widget, *table; gint row; data = g_malloc0(sizeof(struct ui_reptime_data)); if(!data) return NULL; DB( g_print("\n[reptime] new\n") ); //disable define windows GLOBALS->define_off++; ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_SENSITIVE)); /* create window, etc */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); data->window = window; //store our window private data g_object_set_data(G_OBJECT(window), "inst_data", (gpointer)data); DB( g_print(" - new window=%p, inst_data=%p\n", window, data) ); gtk_window_set_title (GTK_WINDOW (window), _("Trend Time Report")); //set the window icon gtk_window_set_icon_name(GTK_WINDOW (window), ICONNAME_HB_REP_TIME); //window contents mainvbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), mainvbox); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (mainvbox), hbox, TRUE, TRUE, 0); //control part table = gtk_grid_new (); gtk_widget_set_hexpand (GTK_WIDGET(table), FALSE); gtk_box_pack_start (GTK_BOX (hbox), table, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (table), SPACING_SMALL); gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM); row = 0; label = make_label_group(_("Display")); gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); row++; label = make_label_widget(_("_View by:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); //widget = make_cycle(label, CYA_TIMESELECT); widget = hbtk_combo_box_new_with_data(label, CYA_REPORT_SRC_TREND); data->CY_src = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; label = make_label_widget(_("A_ccount:")); data->LB_acc = label; gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); widget = ui_acc_comboboxentry_new(label); data->PO_acc = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; label = make_label_widget(_("_Category:")); data->LB_cat = label; gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); widget = ui_cat_comboboxentry_new(label); data->PO_cat = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; label = make_label_widget(_("_Payee:")); data->LB_pay = label; gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); widget = ui_pay_comboboxentry_new(label); data->PO_pay = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; label = make_label_widget(_("_Tag:")); data->LB_tag = label; gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); widget = ui_tag_combobox_new(label); data->PO_tag = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Select _all")); data->CM_all = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("_Cumulate")); data->CM_cumul = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; label = make_label_widget(_("Inter_val:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); //widget = make_cycle(label, CYA_REPORT_INTVL); widget = hbtk_combo_box_new_with_data(label, CYA_REPORT_INTVL); data->CY_intvl = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Show empty line")); data->CM_showempty = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Euro _minor")); data->CM_minor = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; label = make_label_widget(_("_Zoom X:")); data->LB_zoomx = label; gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); widget = make_scale(label); data->RG_zoomx = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; widget = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL); gtk_grid_attach (GTK_GRID (table), widget, 0, row, 3, 1); row++; label = make_label_group(_("Date filter")); gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); row++; label = make_label_widget(_("_Range:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); data->CY_range = make_daterange(label, DATE_RANGE_CUSTOM_DISABLE); gtk_grid_attach (GTK_GRID (table), data->CY_range, 2, row, 1, 1); row++; label = make_label_widget(_("_From:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); data->PO_mindate = gtk_date_entry_new(label); gtk_grid_attach (GTK_GRID (table), data->PO_mindate, 2, row, 1, 1); row++; label = make_label_widget(_("_To:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); data->PO_maxdate = gtk_date_entry_new(label); gtk_grid_attach (GTK_GRID (table), data->PO_maxdate, 2, row, 1, 1); //part: info + report vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0); //toolbar widget = ui_reptime_toolbar_create(data); data->TB_bar = widget; gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); //infos hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); gtk_container_set_border_width (GTK_CONTAINER(hbox), SPACING_SMALL); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); widget = make_label(NULL, 0.5, 0.5); gimp_label_set_attributes (GTK_LABEL (widget), PANGO_ATTR_SCALE, PANGO_SCALE_SMALL, -1); data->TX_daterange = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); label = gtk_label_new(NULL); data->TX_info = label; gtk_box_pack_end (GTK_BOX (hbox), label, FALSE, FALSE, 0); notebook = gtk_notebook_new(); data->GR_result = notebook; gtk_widget_show(notebook); gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), FALSE); gtk_notebook_set_show_border(GTK_NOTEBOOK(notebook), FALSE); gtk_box_pack_start (GTK_BOX (vbox), notebook, TRUE, TRUE, 0); //page: list vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox, NULL); widget = gtk_scrolled_window_new (NULL, NULL); //gtk_scrolled_window_set_placement(GTK_SCROLLED_WINDOW (widget), GTK_CORNER_TOP_RIGHT); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (widget), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (widget), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); treeview = ui_list_reptime_create(); data->LV_report = treeview; gtk_container_add (GTK_CONTAINER(widget), treeview); gtk_box_pack_start (GTK_BOX (vbox), widget, TRUE, TRUE, 0); //detail widget = gtk_scrolled_window_new (NULL, NULL); data->GR_detail = widget; //gtk_scrolled_window_set_placement(GTK_SCROLLED_WINDOW (widget), GTK_CORNER_TOP_RIGHT); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (widget), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (widget), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); treeview = create_list_transaction(LIST_TXN_TYPE_DETAIL, PREFS->lst_ope_columns); data->LV_detail = treeview; gtk_container_add (GTK_CONTAINER(widget), treeview); gtk_box_pack_start (GTK_BOX (vbox), widget, TRUE, TRUE, 0); //page: lines widget = gtk_chart_new(CHART_TYPE_LINE); data->RE_line = widget; //gtk_chart_set_minor_prefs(GTK_CHART(widget), PREFS->euro_value, PREFS->minor_cur.suffix_symbol); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), widget, NULL); //todo:should move this gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_minor), GLOBALS->minor); //duplicate, see below //gtk_combo_box_set_active(GTK_COMBO_BOX(data->CY_intvl), 1); /* attach our minor to treeview */ g_object_set_data(G_OBJECT(gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_report))), "minor", (gpointer)data->CM_minor); g_object_set_data(G_OBJECT(gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_detail))), "minor", (gpointer)data->CM_minor); /* signal connect */ g_signal_connect (window, "delete-event", G_CALLBACK (ui_reptime_dispose), (gpointer)data); g_signal_connect (data->CM_cumul, "toggled", G_CALLBACK (ui_reptime_compute), NULL); g_signal_connect (data->CM_minor, "toggled", G_CALLBACK (ui_reptime_toggle_minor), NULL); data->handler_id[HID_REPTIME_MINDATE] = g_signal_connect (data->PO_mindate, "changed", G_CALLBACK (ui_reptime_date_change), (gpointer)data); data->handler_id[HID_REPTIME_MAXDATE] = g_signal_connect (data->PO_maxdate, "changed", G_CALLBACK (ui_reptime_date_change), (gpointer)data); data->handler_id[HID_REPTIME_RANGE] = g_signal_connect (data->CY_range, "changed", G_CALLBACK (ui_reptime_range_change), NULL); g_signal_connect (data->CY_src, "changed", G_CALLBACK (ui_reptime_for), (gpointer)data); data->handler_id[HID_REPTIME_VIEW] = g_signal_connect (data->CY_intvl, "changed", G_CALLBACK (ui_reptime_compute), (gpointer)data); g_signal_connect (data->CM_showempty, "toggled", G_CALLBACK (ui_reptime_compute), NULL); //setup, init and show window ui_reptime_setup(data, accnum); g_signal_connect (data->CM_all, "toggled", G_CALLBACK (ui_reptime_toggle_showall), NULL); g_signal_connect (data->PO_acc, "changed", G_CALLBACK (ui_reptime_compute), NULL); g_signal_connect (data->PO_cat, "changed", G_CALLBACK (ui_reptime_compute), NULL); g_signal_connect (data->PO_pay, "changed", G_CALLBACK (ui_reptime_compute), NULL); g_signal_connect (data->PO_tag, "changed", G_CALLBACK (ui_reptime_compute), NULL); g_signal_connect (data->RG_zoomx, "value-changed", G_CALLBACK (ui_reptime_zoomx_callback), NULL); g_signal_connect (G_OBJECT (data->BT_list), "clicked", G_CALLBACK (ui_reptime_action_viewlist), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_line), "clicked", G_CALLBACK (ui_reptime_action_viewline), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_column), "clicked", G_CALLBACK (ui_reptime_action_viewcolumn), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_detail), "clicked", G_CALLBACK (ui_reptime_toggle_detail), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_refresh), "clicked", G_CALLBACK (ui_reptime_compute), (gpointer)data); //export is a menu g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_report)), "changed", G_CALLBACK (ui_reptime_selection), NULL); g_signal_connect (GTK_TREE_VIEW(data->LV_detail), "row-activated", G_CALLBACK (ui_reptime_detail_onRowActivated), NULL); /* toolbar */ if(PREFS->toolbar_style == 0) gtk_toolbar_unset_style(GTK_TOOLBAR(data->TB_bar)); else gtk_toolbar_set_style(GTK_TOOLBAR(data->TB_bar), PREFS->toolbar_style-1); //setup, init and show window wg = &PREFS->tme_wg; gtk_window_move(GTK_WINDOW(window), wg->l, wg->t); gtk_window_resize(GTK_WINDOW(window), wg->w, wg->h); //todo: !! here hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_intvl), REPORT_INTVL_MONTH); gtk_widget_show_all (window); //minor ? if( PREFS->euro_active ) gtk_widget_show(data->CM_minor); else gtk_widget_hide(data->CM_minor); ui_reptime_update_for(window, data); //gtk_widget_hide(data->GR_detail); ui_reptime_sensitive(window, NULL); ui_reptime_update_detail(window, NULL); DB( g_print("range: %d\n", PREFS->date_range_rep) ); if( PREFS->date_range_rep != 0) hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_range), PREFS->date_range_rep); else ui_reptime_compute(window, NULL); return window; } /* ** ============================================================================ */ static GString *ui_list_reptime_to_string(GtkTreeView *treeview, gboolean clipboard) { GString *node; GtkTreeModel *model; GtkTreeIter iter; gboolean valid; const gchar *format; node = g_string_new(NULL); // header format = (clipboard == TRUE) ? "%s\t%s\n" : "%s;%s\n"; g_string_append_printf(node, format, _("Time slice"), _("Amount")); model = gtk_tree_view_get_model(treeview); valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { gchar *name; gdouble amount; gtk_tree_model_get (model, &iter, //LST_REPTIME_KEY, i, LST_REPTIME_TITLE , &name, LST_REPTIME_AMOUNT , &amount, -1); format = (clipboard == TRUE) ? "%s\t%.2f\n" : "%s;%.2f\n"; g_string_append_printf(node, format, name, amount); //leak g_free(name); valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } //DB( g_print("text is:\n%s", node->str) ); return node; } static void ui_reptime_amount_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gdouble value; gchar *color; gchar buf[G_ASCII_DTOSTR_BUF_SIZE]; guint32 kcur = GPOINTER_TO_UINT(g_object_get_data(G_OBJECT(gtk_tree_view_column_get_tree_view(col)), "kcur_data")); gtk_tree_model_get(model, iter, GPOINTER_TO_INT(user_data), &value, -1); if( value ) { hb_strfmon(buf, G_ASCII_DTOSTR_BUF_SIZE-1, value, kcur, GLOBALS->minor); color = get_normal_color_amount(value); g_object_set(renderer, "foreground", color, "text", buf, NULL); } else { g_object_set(renderer, "text", "", NULL); } } static GtkTreeViewColumn *amount_list_ui_reptime_column(gchar *name, gint id) { GtkTreeViewColumn *column; GtkCellRenderer *renderer; column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, name); renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 1.0, NULL); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_reptime_amount_cell_data_function, GINT_TO_POINTER(id), NULL); gtk_tree_view_column_set_alignment (column, 0.5); //gtk_tree_view_column_set_sort_column_id (column, id); return column; } static void ui_reptime_list_set_cur(GtkTreeView *treeview, guint32 kcur) { g_object_set_data(G_OBJECT(treeview), "kcur_data", GUINT_TO_POINTER(kcur)); } /* ** create our statistic list */ static GtkWidget *ui_list_reptime_create(void) { GtkListStore *store; GtkWidget *view; GtkCellRenderer *renderer; GtkTreeViewColumn *column; /* create list store */ store = gtk_list_store_new( NUM_LST_REPTIME, G_TYPE_INT, G_TYPE_INT, G_TYPE_STRING, G_TYPE_DOUBLE ); //treeview view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); g_object_unref(store); gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (view), PREFS->grid_lines); /* column: Name */ column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Time slice")); renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 1.0, NULL); gtk_tree_view_column_pack_start(column, renderer, TRUE); //gtk_tree_view_column_set_cell_data_func(column, renderer, ope_result_cell_data_function, NULL, NULL); gtk_tree_view_column_add_attribute(column, renderer, "text", LST_REPTIME_TITLE); //gtk_tree_view_column_set_sort_column_id (column, LST_REPTIME_NAME); gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Amount */ column = amount_list_ui_reptime_column(_("Amount"), LST_REPTIME_AMOUNT); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column last: empty */ column = gtk_tree_view_column_new(); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* sort */ gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_REPTIME_POS , ui_list_reptime_compare_func, GINT_TO_POINTER(LST_REPTIME_POS), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_REPTIME_AMOUNT, ui_list_reptime_compare_func, GINT_TO_POINTER(LST_REPTIME_AMOUNT), NULL); return(view); } static gint ui_list_reptime_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { gint sortcol = GPOINTER_TO_INT(userdata); gint retval = 0; gint pos1, pos2; gdouble val1, val2; gtk_tree_model_get(model, a, LST_REPTIME_POS, &pos1, sortcol, &val1, -1); gtk_tree_model_get(model, b, LST_REPTIME_POS, &pos2, sortcol, &val2, -1); /* if(pos1 == -1) return(1); if(pos2 == -1) return(-1); */ if(sortcol == LST_REPTIME_POS) retval = pos2 - pos1; else retval = (ABS(val1) - ABS(val2)) > 0 ? 1 : -1; //DB( g_print(" sort %d=%d or %.2f=%.2f :: %d\n", pos1,pos2, val1, val2, ret) ); return retval; } homebank-5.3.2/src/hb-archive.h0000644000175000017500000000467113604720371013211 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_ARCHIVE_H__ #define __HB_ARCHIVE_H__ #include "hb-transaction.h" #include "hb-split.h" typedef struct _archive Archive; struct _archive { guint32 key; gdouble amount; guint32 kacc; gushort paymode; gushort flags; guint32 kpay; guint32 kcat; gchar *memo; //guint32 date; //gushort pos; gushort status; gchar *info; guint32 *tags; //guint32 kxfer; //strong link xfer key guint32 kxferacc; GPtrArray *splits; guint32 nextdate; gushort daygap; gushort every; gushort unit; gushort limit; gushort weekend; }; /* list define archive (defarchive) */ enum { LST_DEFARC_DATAS, LST_DEFARC_OLDPOS, LST_DEFARC_AUTO, NUM_LST_DEFARC }; /* ** scheduled unit */ enum { AUTO_UNIT_DAY, AUTO_UNIT_WEEK, AUTO_UNIT_MONTH, //AUTO_UNIT_QUARTER, AUTO_UNIT_YEAR }; Archive *da_archive_malloc(void); Archive *da_archive_clone(Archive *src_item); guint archive_add_get_nbdays(void); void da_archive_free(Archive *item); void da_archive_destroy(GList *list); GList *da_archive_sort(GList *list); guint da_archive_length(void); gboolean da_archive_append(Archive *item); gboolean da_archive_append_new(Archive *item); guint32 da_archive_get_max_key(void); Archive *da_archive_get(guint32 key); void da_archive_consistency(Archive *item); Archive *da_archive_init_from_transaction(Archive *arc, Transaction *txn); gboolean scheduled_is_postable(Archive *arc); guint32 scheduled_get_postdate(Archive *arc, guint32 postdate); guint32 scheduled_get_latepost_count(Archive *arc, guint32 jrefdate); guint32 scheduled_date_advance(Archive *arc); guint32 scheduled_date_get_post_max(void); gint scheduled_post_all_pending(void); #endif homebank-5.3.2/src/rep-vehicle.h0000644000175000017500000000365113604720371013401 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HOMEBANK_REPVEHICLE_H__ #define __HOMEBANK_REPVEHICLE_H__ enum { HID_REPVEHICLE_MINDATE, HID_REPVEHICLE_MAXDATE, HID_REPVEHICLE_RANGE, HID_REPVEHICLE_VEHICLE, MAX_REPVEHICLE_HID }; enum { CAR_RES_METER = 1, CAR_RES_FUEL, CAR_RES_FUELCOST, CAR_RES_OTHERCOST, CAR_RES_TOTALCOST, MAX_CAR_RES }; struct repvehicle_data { GQueue *txn_queue; GList *vehicle_list; Filter *filter; guint total_dist; gdouble total_fuel; gdouble total_fuelcost; gdouble total_misccost; GtkWidget *window; GtkWidget *TB_bar; GtkWidget *BT_refresh; GtkWidget *BT_export; //GtkWidget *TX_info; GtkWidget *CM_minor; GtkWidget *LV_report; GtkWidget *PO_cat; GtkWidget *PO_mindate, *PO_maxdate; GtkWidget *CY_range; GtkWidget *GR_result; GtkWidget *LA_avera[MAX_CAR_RES]; GtkWidget *LA_total[MAX_CAR_RES]; gulong handler_id[MAX_REPVEHICLE_HID]; }; //extern gchar *CYA_FLT_SELECT[]; /* list stat */ enum { LST_CAR_DATE, LST_CAR_MEMO, LST_CAR_METER, LST_CAR_FUEL, LST_CAR_PRICE, LST_CAR_AMOUNT, LST_CAR_DIST, LST_CAR_100KM, LST_CAR_DISTBYVOL, LST_CAR_PARTIAL, NUM_LST_CAR }; GtkWidget *repcost_window_new(void); #endif homebank-5.3.2/src/gtk-dateentry.c0000644000175000017500000004055313604720365013760 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 /* atoi, atof, atol */ #include #include #include "gtk-dateentry.h" #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif enum { CHANGED, LAST_SIGNAL }; enum { PROPERTY_DATE = 5, }; static guint dateentry_signals[LAST_SIGNAL] = {0,}; G_DEFINE_TYPE(GtkDateEntry, gtk_date_entry, GTK_TYPE_BOX) // todo:finish this // this is to be able to seizure d or d/m or m/d in the gtkdateentry /* order of these in the current locale */ static GDateDMY dmy_order[3] = { G_DATE_DAY, G_DATE_MONTH, G_DATE_YEAR }; struct _GDateParseTokens { gint num_ints; gint n[3]; guint month; }; typedef struct _GDateParseTokens GDateParseTokens; #define NUM_LEN 10 static void gtk_date_entry_cb_calendar_today_mark(GtkWidget *calendar, GtkDateEntry *dateentry); static void hb_date_fill_parse_tokens (const gchar *str, GDateParseTokens *pt) { gchar num[4][NUM_LEN+1]; gint i; const guchar *s; //DB( g_print("\n[dateentry] fill parse token\n") ); /* We count 4, but store 3; so we can give an error * if there are 4. */ num[0][0] = num[1][0] = num[2][0] = num[3][0] = '\0'; s = (const guchar *) str; pt->num_ints = 0; while (*s && pt->num_ints < 4) { i = 0; while (*s && g_ascii_isdigit (*s) && i < NUM_LEN) { num[pt->num_ints][i] = *s; ++s; ++i; } if (i > 0) { num[pt->num_ints][i] = '\0'; ++(pt->num_ints); } if (*s == '\0') break; ++s; } pt->n[0] = pt->num_ints > 0 ? atoi (num[0]) : 0; pt->n[1] = pt->num_ints > 1 ? atoi (num[1]) : 0; pt->n[2] = pt->num_ints > 2 ? atoi (num[2]) : 0; } static void hb_date_parse_tokens(GDate *date, const gchar *str) { GDateParseTokens pt; hb_date_fill_parse_tokens(str, &pt); DB( g_print(" -> parsetoken return %d values: %d %d %d\n", pt.num_ints, pt.n[0], pt.n[1], pt.n[2]) ); // initialize with today's date g_date_set_time_t(date, time(NULL)); switch( pt.num_ints ) { case 1: DB( g_print(" -> seizured 1 number\n") ); if(g_date_valid_day(pt.n[0])) g_date_set_day(date, pt.n[0]); break; case 2: DB( g_print(" -> seizured 2 numbers\n") ); if( dmy_order[0] != G_DATE_YEAR ) { if( dmy_order[0] == G_DATE_DAY ) { if(g_date_valid_day(pt.n[0])) g_date_set_day(date, pt.n[0]); if(g_date_valid_month(pt.n[1])) g_date_set_month(date, pt.n[1]); } else { if(g_date_valid_day(pt.n[1])) g_date_set_day(date, pt.n[1]); if(g_date_valid_month(pt.n[0])) g_date_set_month(date, pt.n[0]); } } break; } } static void update_text(GtkDateEntry *self) { GtkDateEntryPrivate *priv = self->priv; gchar label[256]; DB( g_print("\n[dateentry] update text\n") ); //%x : The preferred date representation for the current locale without the time. g_date_strftime (label, 256 - 1, "%x", priv->date); gtk_entry_set_text (GTK_ENTRY (priv->entry), label); DB( g_print(" = %s\n", label) ); } static void eval_date(GtkDateEntry *self) { GtkDateEntryPrivate *priv = self->priv; g_date_clamp(priv->date, &priv->mindate, &priv->maxdate); update_text(self); if(priv->lastdate != g_date_get_julian(priv->date)) { DB( g_print(" **emit 'changed' signal**\n") ); g_signal_emit_by_name (self, "changed", NULL, NULL); } priv->lastdate = g_date_get_julian(priv->date); } static void parse_date(GtkDateEntry *self) { GtkDateEntryPrivate *priv = self->priv; const gchar *str; DB( g_print("\n[dateentry] parse date\n") ); str = gtk_entry_get_text (GTK_ENTRY (priv->entry)); //1) we parse the string according to the locale g_date_set_parse (priv->date, str); if(!g_date_valid(priv->date) || g_date_get_julian (priv->date) <= HB_MINDATE) { //2) give a try to tokens: day, day/month, month/day hb_date_parse_tokens(priv->date, str); } //3) at last if date still invalid, put today's dateentry_signals // we should consider just warn the user here if(!g_date_valid(priv->date)) { g_date_set_time_t(priv->date, time(NULL)); } eval_date(self); } static void gtk_date_entry_cb_calendar_day_selected(GtkWidget * calendar, GtkDateEntry * dateentry) { GtkDateEntryPrivate *priv = dateentry->priv; guint year, month, day; DB( g_print("\n[dateentry] calendar_day_selected\n") ); gtk_calendar_get_date (GTK_CALENDAR (priv->calendar), &year, &month, &day); g_date_set_dmy (priv->date, day, month + 1, year); eval_date(dateentry); } static gint gtk_date_entry_cb_calendar_day_select_double_click(GtkWidget * calendar, gpointer user_data) { GtkDateEntry *dateentry = user_data; GtkDateEntryPrivate *priv = dateentry->priv; DB( g_print("\n[dateentry] calendar_day_select_double_click\n") ); gtk_widget_hide (priv->popover); return FALSE; } static void gtk_date_entry_cb_calendar_today_mark(GtkWidget *calendar, GtkDateEntry *dateentry) { GtkDateEntryPrivate *priv = dateentry->priv; guint year, month, day; DB( g_print("\n[dateentry] cb_calendar_mark_day\n") ); gtk_calendar_get_date (GTK_CALENDAR (priv->calendar), &year, &month, &day); //maybe 1828914 gtk_calendar_clear_marks(GTK_CALENDAR(priv->calendar)); if( year == g_date_get_year (&priv->nowdate) && month == (g_date_get_month (&priv->nowdate)-1) ) gtk_calendar_mark_day(GTK_CALENDAR(priv->calendar), g_date_get_day (&priv->nowdate)); } static void gtk_date_entry_cb_calendar_monthyear(GtkWidget *calendar, GtkDateEntry *dateentry) { GtkDateEntryPrivate *priv = dateentry->priv; guint year, month, day; DB( g_print("\n[dateentry] cb_calendar_monthyear\n") ); gtk_calendar_get_date (GTK_CALENDAR (priv->calendar), &year, &month, &day); if( year < 1900) g_object_set(calendar, "year", 1900, NULL); if( year > 2200) g_object_set(calendar, "year", 2200, NULL); gtk_date_entry_cb_calendar_today_mark(calendar, dateentry); } static gint gtk_date_entry_cb_entry_key_pressed (GtkWidget *widget, GdkEventKey *event, gpointer user_data) { GtkDateEntry *dateentry = user_data; GtkDateEntryPrivate *priv = dateentry->priv; DB( g_print("\n[dateentry] entry key pressed: state=%04x, keyval=%04x\n", event->state, event->keyval) ); if( event->keyval == GDK_KEY_Up ) { if( !(event->state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK)) ) { g_date_add_days (priv->date, 1); eval_date(dateentry); } else if( event->state & GDK_SHIFT_MASK ) { g_date_add_months (priv->date, 1); eval_date(dateentry); } else if( event->state & GDK_CONTROL_MASK ) { g_date_add_years (priv->date, 1); eval_date(dateentry); } return TRUE; } else if( event->keyval == GDK_KEY_Down ) { if( !(event->state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK)) ) { g_date_subtract_days (priv->date, 1); eval_date(dateentry); } else if( event->state & GDK_SHIFT_MASK ) { g_date_subtract_months (priv->date, 1); eval_date(dateentry); } else if( event->state & GDK_CONTROL_MASK ) { g_date_subtract_years (priv->date, 1); eval_date(dateentry); } return TRUE; } return FALSE; } static void gtk_date_entry_cb_entry_activate(GtkWidget *gtkentry, gpointer user_data) { GtkDateEntry *dateentry = user_data; DB( g_print("\n[dateentry] entry_activate\n") ); parse_date(dateentry); eval_date(dateentry); } static gboolean gtk_date_entry_cb_entry_focus_out(GtkWidget *widget, GdkEventFocus *event, gpointer user_data) { GtkDateEntry *dateentry = user_data; DB( g_print("\n[dateentry] entry focus-out-event %d\n", gtk_widget_is_focus(GTK_WIDGET(dateentry))) ); parse_date(dateentry); eval_date(dateentry); return FALSE; } static void gtk_date_entry_cb_button_clicked (GtkWidget * widget, GtkDateEntry * dateentry) { GtkDateEntryPrivate *priv = dateentry->priv; //GdkRectangle rect; guint day, month; DB( g_print("\n[dateentry] button_clicked\n") ); /* GtkCalendar expects month to be in 0-11 range (inclusive) */ day = g_date_get_day (priv->date); month = g_date_get_month (priv->date) - 1; g_signal_handler_block(priv->calendar, priv->hid_dayselect); gtk_calendar_select_month (GTK_CALENDAR (priv->calendar), CLAMP (month, 0, 11), g_date_get_year (priv->date)); gtk_calendar_select_day (GTK_CALENDAR (priv->calendar), day); g_signal_handler_unblock(priv->calendar, priv->hid_dayselect); gtk_popover_set_relative_to (GTK_POPOVER (priv->popover), GTK_WIDGET (priv->entry)); //gtk_widget_get_clip(priv->arrow, &rect); //gtk_popover_set_pointing_to (GTK_POPOVER (priv->popover), &rect); gtk_date_entry_cb_calendar_today_mark(widget, dateentry); gtk_widget_show_all (priv->popover); } static void gtk_date_entry_destroy (GtkWidget *object) { GtkDateEntry *dateentry = GTK_DATE_ENTRY (object); GtkDateEntryPrivate *priv = dateentry->priv; g_return_if_fail(object != NULL); g_return_if_fail(GTK_IS_DATE_ENTRY(object)); DB( g_print("\n[dateentry] destroy\n") ); DB( g_print(" free gtkentry: %p\n", priv->entry) ); DB( g_print(" free arrow: %p\n", priv->button) ); DB( g_print(" free dateentry: %p\n", dateentry) ); if(priv->date) g_date_free(priv->date); priv->date = NULL; GTK_WIDGET_CLASS (gtk_date_entry_parent_class)->destroy (object); } static void gtk_date_entry_dispose (GObject *gobject) { //GtkDateEntry *self = GTK_DATE_ENTRY (gobject); DB( g_print("\n[dateentry] dispose\n") ); //g_clear_object (&self->priv->an_object); G_OBJECT_CLASS (gtk_date_entry_parent_class)->dispose (gobject); } static void gtk_date_entry_finalize (GObject *gobject) { //GtkDateEntry *self = GTK_DATE_ENTRY (gobject); DB( g_print("\n[dateentry] finalize\n") ); //g_date_free(self->date); //g_free (self->priv->a_string); /* Always chain up to the parent class; as with dispose(), finalize() * is guaranteed to exist on the parent's class virtual function table */ G_OBJECT_CLASS(gtk_date_entry_parent_class)->finalize (gobject); } static void gtk_date_entry_class_init (GtkDateEntryClass *class) { GObjectClass *object_class; GtkWidgetClass *widget_class; object_class = G_OBJECT_CLASS (class); widget_class = GTK_WIDGET_CLASS (class); DB( g_print("\n[dateentry] class_init\n") ); //object_class->constructor = gtk_date_entry_constructor; //object_class->set_property = gtk_date_entry_set_property; //object_class->get_property = gtk_date_entry_get_property; object_class->dispose = gtk_date_entry_dispose; object_class->finalize = gtk_date_entry_finalize; widget_class->destroy = gtk_date_entry_destroy; dateentry_signals[CHANGED] = g_signal_new ("changed", G_TYPE_FROM_CLASS (class), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkDateEntryClass, changed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); g_type_class_add_private (object_class, sizeof (GtkDateEntryPrivate)); } static void gtk_date_entry_init (GtkDateEntry *dateentry) { GtkDateEntryPrivate *priv; DB( g_print("\n[dateentry] init\n") ); /* yes, also priv, need to keep the code readable */ dateentry->priv = G_TYPE_INSTANCE_GET_PRIVATE (dateentry, GTK_TYPE_DATE_ENTRY, GtkDateEntryPrivate); priv = dateentry->priv; gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET(dateentry)), GTK_STYLE_CLASS_LINKED); priv->entry = gtk_entry_new (); //todo: see if really useful gtk_entry_set_width_chars(GTK_ENTRY(priv->entry), 16); gtk_entry_set_max_width_chars(GTK_ENTRY(priv->entry), 16); gtk_box_pack_start (GTK_BOX (dateentry), priv->entry, TRUE, TRUE, 0); priv->button = gtk_button_new (); priv->arrow = gtk_image_new_from_icon_name ("pan-down-symbolic", GTK_ICON_SIZE_BUTTON); gtk_container_add (GTK_CONTAINER (priv->button), priv->arrow); gtk_box_pack_end (GTK_BOX (dateentry), priv->button, FALSE, FALSE, 0); priv->popover = gtk_popover_new (priv->button); gtk_popover_set_position(GTK_POPOVER(priv->popover), GTK_POS_BOTTOM); priv->calendar = gtk_calendar_new (); gtk_container_add (GTK_CONTAINER (priv->popover), priv->calendar); gtk_widget_set_margin_start (priv->calendar, 10); gtk_widget_set_margin_end (priv->calendar, 10); gtk_widget_set_margin_top (priv->calendar, 10); gtk_widget_set_margin_bottom (priv->calendar, 10); gtk_widget_show_all (GTK_WIDGET(dateentry)); /* initialize datas */ priv->date = g_date_new(); g_date_set_time_t(priv->date, time(NULL)); g_date_set_time_t(&priv->nowdate, time(NULL)); g_date_set_dmy(&priv->mindate, 1, 1, 1900); //693596 g_date_set_dmy(&priv->maxdate, 31, 12, 2200); //803533 update_text(dateentry); g_signal_connect (priv->entry, "key-press-event", G_CALLBACK (gtk_date_entry_cb_entry_key_pressed), dateentry); g_signal_connect_after (priv->entry, "focus-out-event", G_CALLBACK (gtk_date_entry_cb_entry_focus_out), dateentry); g_signal_connect (priv->entry, "activate", G_CALLBACK (gtk_date_entry_cb_entry_activate), dateentry); g_signal_connect (priv->button, "clicked", G_CALLBACK (gtk_date_entry_cb_button_clicked), dateentry); g_signal_connect (priv->calendar, "prev-year", G_CALLBACK (gtk_date_entry_cb_calendar_monthyear), dateentry); g_signal_connect (priv->calendar, "next-year", G_CALLBACK (gtk_date_entry_cb_calendar_monthyear), dateentry); g_signal_connect (priv->calendar, "prev-month", G_CALLBACK (gtk_date_entry_cb_calendar_monthyear), dateentry); g_signal_connect (priv->calendar, "next-month", G_CALLBACK (gtk_date_entry_cb_calendar_monthyear), dateentry); priv->hid_dayselect = g_signal_connect (priv->calendar, "day-selected", G_CALLBACK (gtk_date_entry_cb_calendar_day_selected), dateentry); g_signal_connect (priv->calendar, "day-selected-double-click", G_CALLBACK (gtk_date_entry_cb_calendar_day_select_double_click), dateentry); } GtkWidget * gtk_date_entry_new (GtkWidget *label) { GtkDateEntry *dateentry; DB( g_print("\n[dateentry] new\n") ); dateentry = g_object_new (GTK_TYPE_DATE_ENTRY, NULL); if(dateentry) { GtkDateEntryPrivate *priv = dateentry->priv; if(label) gtk_label_set_mnemonic_widget (GTK_LABEL(label), priv->entry); } return GTK_WIDGET(dateentry); } /* ** */ void gtk_date_entry_set_mindate(GtkDateEntry *dateentry, guint32 julian_days) { GtkDateEntryPrivate *priv = dateentry->priv; DB( g_print("\n[dateentry] set mindate\n") ); g_return_if_fail (GTK_IS_DATE_ENTRY (dateentry)); if(g_date_valid_julian(julian_days)) { g_date_set_julian (&priv->mindate, julian_days); } } /* ** */ void gtk_date_entry_set_maxdate(GtkDateEntry *dateentry, guint32 julian_days) { GtkDateEntryPrivate *priv = dateentry->priv; DB( g_print("\n[dateentry] set maxdate\n") ); g_return_if_fail (GTK_IS_DATE_ENTRY (dateentry)); if(g_date_valid_julian(julian_days)) { g_date_set_julian (&priv->maxdate, julian_days); } } /* ** */ void gtk_date_entry_set_date(GtkDateEntry *dateentry, guint32 julian_days) { GtkDateEntryPrivate *priv = dateentry->priv; DB( g_print("\n[dateentry] set date\n") ); g_return_if_fail (GTK_IS_DATE_ENTRY (dateentry)); if(g_date_valid_julian(julian_days)) { g_date_set_julian (priv->date, julian_days); } else { g_date_set_time_t(priv->date, time(NULL)); } eval_date(dateentry); } /* ** */ guint32 gtk_date_entry_get_date(GtkDateEntry *dateentry) { GtkDateEntryPrivate *priv = dateentry->priv; DB( g_print("\n[dateentry] get date\n") ); g_return_val_if_fail (GTK_IS_DATE_ENTRY (dateentry), 0); return(g_date_get_julian(priv->date)); } GDateWeekday gtk_date_entry_get_weekday(GtkDateEntry *dateentry) { GtkDateEntryPrivate *priv = dateentry->priv; DB( g_print("\n[dateentry] get weekday\n") ); g_return_val_if_fail (GTK_IS_DATE_ENTRY (dateentry), 0); return(g_date_get_weekday(priv->date)); } homebank-5.3.2/src/rep-budget.h0000644000175000017500000000367513604720371013242 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HOMEBANK_REPBUDGET_H__ #define __HOMEBANK_REPBUDGET_H__ enum { HID_REPBUDGET_MINDATE, HID_REPBUDGET_MAXDATE, HID_REPBUDGET_RANGE, MAX_REPBUDGET_HID }; /* list stat */ enum { LST_BUDGET_POS, LST_BUDGET_KEY, LST_BUDGET_NAME, LST_BUDGET_SPENT, LST_BUDGET_BUDGET, LST_BUDGET_RESULT, LST_BUDGET_STATUS, NUM_LST_BUDGET }; struct repbudget_data { GQueue *txn_queue; Filter *filter; gdouble total_spent; gdouble total_budget; gboolean detail; gboolean legend; GtkWidget *window; GtkWidget *TB_bar; GtkWidget *BT_list; GtkWidget *BT_stack; GtkWidget *BT_detail; GtkWidget *BT_refresh; GtkWidget *BT_export; GtkWidget *MI_detailtoclip; GtkWidget *MI_detailtocsv; GtkWidget *TX_info; GtkWidget *TX_daterange; GtkWidget *CM_onlyout; GtkWidget *CM_minor; GtkWidget *CY_for; GtkWidget *CY_kind; GtkWidget *LV_report; GtkWidget *PO_mindate, *PO_maxdate; GtkWidget *CY_range; GtkWidget *GR_result; GtkWidget *TX_total[3]; GtkWidget *RE_stack; GtkWidget *GR_detail; GtkWidget *LV_detail; gulong handler_id[MAX_REPBUDGET_HID]; }; enum { BUDG_CATEGORY, BUDG_SUBCATEGORY, }; GtkWidget *repbudget_window_new(void); #endif homebank-5.3.2/src/ui-dialogs.c0000644000175000017500000007257213604720365013241 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "ui-dialogs.h" #include "list-operation.h" #include "hb-currency.h" #include "ui-currency.h" /* = = = = = = = = = = */ /* = = = = = = = = = = = = = = = = = = = = */ /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; /* = = = = = = = = = = = = = = = = = = = = */ /* Confirmation Alert dialog */ gint ui_dialog_msg_confirm_alert(GtkWindow *parent, gchar *title, gchar *secondtext, gchar *actionverb) { GtkWidget *dialog; gint retval; dialog = gtk_message_dialog_new (GTK_WINDOW(parent), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_WARNING, GTK_BUTTONS_NONE, title, NULL ); gtk_dialog_add_buttons (GTK_DIALOG(dialog), _("_Cancel"), GTK_RESPONSE_CANCEL, actionverb, GTK_RESPONSE_OK, NULL); if(secondtext) { g_object_set(GTK_MESSAGE_DIALOG (dialog), "secondary-text", secondtext, NULL); //gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), secondtext); } gtk_dialog_set_default_response(GTK_DIALOG (dialog), GTK_RESPONSE_CANCEL); retval = gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); return retval; } /* Message dialog */ gint ui_dialog_msg_question(GtkWindow *parent, gchar *title, gchar *message_format, ...) { GtkWidget *dialog; gchar* msg = NULL; va_list args; gint retval; dialog = gtk_message_dialog_new (GTK_WINDOW(parent), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, title, NULL ); if (message_format) { va_start (args, message_format); msg = g_strdup_vprintf (message_format, args); va_end (args); gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), "%s", msg); g_free (msg); } gtk_dialog_set_default_response(GTK_DIALOG (dialog), GTK_RESPONSE_NO); retval = gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); return retval; } /* ** open a info/error dialog for user information purpose */ void ui_dialog_msg_infoerror(GtkWindow *parent, GtkMessageType type, gchar *title, gchar *message_format, ...) { GtkWidget *dialog; gchar* msg = NULL; va_list args; dialog = gtk_message_dialog_new (GTK_WINDOW(parent), GTK_DIALOG_DESTROY_WITH_PARENT, type, GTK_BUTTONS_OK, "%s", title ); if (message_format) { va_start (args, message_format); msg = g_strdup_vprintf (message_format, args); va_end (args); gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), "%s", msg); g_free (msg); } gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ void ui_dialog_file_statistics(void) { GtkWidget *dialog, *content_area, *content_grid, *group_grid; GtkWidget *label, *widget; gchar *tmpstr; gint crow, row, count; dialog = gtk_dialog_new_with_buttons (_("File statistics"), GTK_WINDOW (GLOBALS->mainwindow), 0, _("_Close"), GTK_RESPONSE_ACCEPT, NULL); gtk_window_set_default_size (GTK_WINDOW(dialog), HB_MINWIDTH_LIST, -1); content_area = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); content_grid = gtk_grid_new(); gtk_grid_set_row_spacing (GTK_GRID (content_grid), SPACING_LARGE); gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL); gtk_container_set_border_width (GTK_CONTAINER(content_grid), SPACING_MEDIUM); gtk_box_pack_start (GTK_BOX (content_area), content_grid, TRUE, TRUE, 0); crow = 0; // group :: file title group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(NULL); tmpstr = g_path_get_basename(GLOBALS->xhb_filepath); gtk_label_set_text(GTK_LABEL(label), tmpstr); g_free(tmpstr); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; label = make_label_widget(_("Account")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_label(NULL, 1.0, 0.5); count = da_acc_length (); ui_label_set_integer(GTK_LABEL(widget), count); gtk_widget_set_hexpand(widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; label = make_label_widget(_("Transaction")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_label(NULL, 1.0, 0.5); count = da_transaction_length(); ui_label_set_integer(GTK_LABEL(widget), count); gtk_widget_set_hexpand(widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; label = make_label_widget(_("Payee")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_label(NULL, 1.0, 0.5); count = da_pay_length (); ui_label_set_integer(GTK_LABEL(widget), count); gtk_widget_set_hexpand(widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; label = make_label_widget(_("Category")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_label(NULL, 1.0, 0.5); count = da_cat_length (); ui_label_set_integer(GTK_LABEL(widget), count); gtk_widget_set_hexpand(widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; label = make_label_widget(_("Assignment")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_label(NULL, 1.0, 0.5); count = da_asg_length (); ui_label_set_integer(GTK_LABEL(widget), count); gtk_widget_set_hexpand(widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); gtk_widget_show_all(content_grid); //wait for the user gint result = gtk_dialog_run (GTK_DIALOG (dialog)); if(result == GTK_RESPONSE_ACCEPT) { } // cleanup and destroy gtk_widget_destroy (dialog); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ struct dialog_currency_data { GtkWidget *dialog; GtkWidget *LB_currency; GtkWidget *BT_change; Currency4217 *curfmt; }; static void ui_dialog_upgrade_choose_currency_change_action(GtkWidget *widget, gpointer user_data) { struct dialog_currency_data *data = user_data; struct curSelectContext selectCtx; data->curfmt = NULL; ui_cur_select_dialog_new(GTK_WINDOW(data->dialog), CUR_SELECT_MODE_BASE, &selectCtx); if( selectCtx.cur_4217 != NULL ) { Currency4217 *curfmt; gchar label[128]; gchar *name; curfmt = selectCtx.cur_4217; DB( g_printf("- user selected: '%s' '%s'\n", curfmt->curr_iso_code, curfmt->name) ); data->curfmt = curfmt; name = curfmt->name; g_snprintf(label, 127, "%s - %s", curfmt->curr_iso_code, name); gtk_label_set_text (GTK_LABEL(data->LB_currency), label); } } static void ui_dialog_upgrade_choose_currency_fill(struct dialog_currency_data *data) { Currency *cur; gchar label[128]; data->curfmt = NULL; cur = da_cur_get (GLOBALS->kcur); g_snprintf(label, 127, "%s - %s", cur->iso_code, cur->name); gtk_label_set_text (GTK_LABEL(data->LB_currency), label); } void ui_dialog_upgrade_choose_currency(void) { struct dialog_currency_data *data; GtkWidget *dialog, *content_area, *content_grid, *group_grid; GtkWidget *label, *widget; gint crow, row; data = g_malloc0(sizeof(struct dialog_currency_data)); if(!data) return; dialog = gtk_dialog_new_with_buttons (_("Upgrade"), GTK_WINDOW (GLOBALS->mainwindow), 0, _("_Cancel"), GTK_RESPONSE_CANCEL, _("_OK"), GTK_RESPONSE_ACCEPT, NULL); data->dialog = dialog; widget = gtk_dialog_get_widget_for_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT); gtk_window_set_focus(GTK_WINDOW(dialog), widget); content_area = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); content_grid = gtk_grid_new(); gtk_grid_set_row_spacing (GTK_GRID (content_grid), SPACING_LARGE); gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL); gtk_container_set_border_width (GTK_CONTAINER(content_grid), SPACING_MEDIUM); gtk_box_pack_start (GTK_BOX (content_area), content_grid, TRUE, TRUE, 0); crow = 0; // group :: file title group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); row = 0; label = make_label(_("Select a base currency"), 0, 0); gimp_label_set_attributes(GTK_LABEL(label), PANGO_ATTR_WEIGHT, PANGO_WEIGHT_BOLD, PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 3, 1); row++; label = make_label( _("Starting v5.1, HomeBank can manage several currencies\n" \ "if the currency below is not correct, please change it:"), 0, 0); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 3, 1); row++; label = make_label_widget(_("Currency:")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); widget = make_label (NULL, 0, 0.5); data->LB_currency = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); widget = gtk_button_new_with_mnemonic (_("_Change")); data->BT_change = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); g_signal_connect (G_OBJECT (data->BT_change), "clicked", G_CALLBACK (ui_dialog_upgrade_choose_currency_change_action), data); ui_dialog_upgrade_choose_currency_fill(data); gtk_widget_show_all(content_grid); //wait for the user gint result = gtk_dialog_run (GTK_DIALOG (dialog)); if(result == GTK_RESPONSE_ACCEPT) { if( data->curfmt != NULL ) { hbfile_replace_basecurrency(data->curfmt); } } // in any case set every accounts to base currency GList *list; list = g_hash_table_get_values(GLOBALS->h_acc); while (list != NULL) { Account *acc = list->data; account_set_currency(acc, GLOBALS->kcur); list = g_list_next(list); } g_list_free(list); // cleanup and destroy gtk_widget_destroy (dialog); g_free(data); // make sure dialog is gone while (gtk_events_pending ()) gtk_main_iteration (); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static GtkFileFilter *ui_file_chooser_add_filter(GtkFileChooser *chooser, gchar *name, gchar *pattern) { GtkFileFilter *filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, name); gtk_file_filter_add_pattern (filter, pattern); gtk_file_chooser_add_filter (GTK_FILE_CHOOSER(chooser), filter); return filter; } gboolean ui_file_chooser_qif(GtkWindow *parent, gchar **storage_ptr) { GtkWidget *chooser; gboolean retval; DB( g_print("(homebank) chooser save qif\n") ); chooser = gtk_file_chooser_dialog_new ( _("Export as QIF"), GTK_WINDOW(parent), GTK_FILE_CHOOSER_ACTION_SAVE, _("_Cancel"), GTK_RESPONSE_CANCEL, _("_Save"), GTK_RESPONSE_ACCEPT, NULL); //todo: change this ? gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER(chooser), PREFS->path_export); ui_file_chooser_add_filter(GTK_FILE_CHOOSER(chooser), _("QIF files"), "*.[Qq][Ii][Ff]"); ui_file_chooser_add_filter(GTK_FILE_CHOOSER(chooser), _("All files"), "*"); retval = FALSE; if (gtk_dialog_run (GTK_DIALOG (chooser)) == GTK_RESPONSE_ACCEPT) { gchar *tmpfilename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (chooser)); *storage_ptr = hb_filename_new_with_extension(tmpfilename, "qif"); g_free(tmpfilename); retval = TRUE; } gtk_widget_destroy (chooser); return retval; } /* ** open a file chooser dialog and store filename to GLOBALS if OK */ gboolean ui_file_chooser_csv(GtkWindow *parent, GtkFileChooserAction action, gchar **storage_ptr, gchar *name) { GtkWidget *chooser; gchar *title; gchar *button; gboolean retval; gchar *path; DB( g_print("(hombank) csvfile chooser csv %d\n", action) ); if( action == GTK_FILE_CHOOSER_ACTION_OPEN ) { title = _("Import from CSV"); button = _("_Open"); path = PREFS->path_import; } else { title = _("Export as CSV"); button = _("_Save"); path = PREFS->path_export; } chooser = gtk_file_chooser_dialog_new (title, GTK_WINDOW(parent), action, //GTK_FILE_CHOOSER_ACTION_OPEN, _("_Cancel"), GTK_RESPONSE_CANCEL, button, GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER(chooser), path); if(name != NULL) gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER(chooser), name); ui_file_chooser_add_filter(GTK_FILE_CHOOSER(chooser), _("CSV files"), "*.[Cc][Ss][Vv]"); ui_file_chooser_add_filter(GTK_FILE_CHOOSER(chooser), _("All files"), "*"); retval = FALSE; if (gtk_dialog_run (GTK_DIALOG (chooser)) == GTK_RESPONSE_ACCEPT) { gchar *tmpfilename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (chooser)); if( action == GTK_FILE_CHOOSER_ACTION_SAVE ) { *storage_ptr = hb_filename_new_with_extension(tmpfilename, "csv"); g_free(tmpfilename); } else { *storage_ptr = tmpfilename; } retval = TRUE; } gtk_widget_destroy (chooser); return retval; } /* ** open a file chooser dialog and store filename to GLOBALS if OK */ gboolean ui_file_chooser_xhb(GtkFileChooserAction action, gchar **storage_ptr, gboolean bakmode) { GtkWidget *chooser; gchar *title; gchar *button; gboolean retval; DB( g_print("(ui-dialog) file chooser xhb %d\n", action) ); if( action == GTK_FILE_CHOOSER_ACTION_OPEN ) { title = (bakmode==FALSE) ? _("Open HomeBank file") : _("Open HomeBank backup file"); button = _("_Open"); } else { title = _("Save HomeBank file as"); button = _("_Save"); } chooser = gtk_file_chooser_dialog_new (title, GTK_WINDOW(GLOBALS->mainwindow), action, //GTK_FILE_CHOOSER_ACTION_OPEN, _("_Cancel"), GTK_RESPONSE_CANCEL, button, GTK_RESPONSE_ACCEPT, NULL); if( bakmode == FALSE ) { ui_file_chooser_add_filter(GTK_FILE_CHOOSER(chooser), _("HomeBank files"), "*.[Xx][Hh][Bb]"); ui_file_chooser_add_filter(GTK_FILE_CHOOSER(chooser), _("All files"), "*"); } else { if( (action == GTK_FILE_CHOOSER_ACTION_OPEN) ) { gchar *pattern; GtkFileFilter *flt; pattern = hb_filename_backup_get_filtername(GLOBALS->xhb_filepath); flt = ui_file_chooser_add_filter(GTK_FILE_CHOOSER(chooser), _("File backup"), pattern); gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(chooser), flt); g_free(pattern); ui_file_chooser_add_filter(GTK_FILE_CHOOSER(chooser), _("All backups"), "*.[Bb][Aa][Kk]"); } } if( action == GTK_FILE_CHOOSER_ACTION_OPEN ) { gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER(chooser), PREFS->path_hbfile); } else /* save */ { gchar *basename, *dirname; basename = g_path_get_basename(GLOBALS->xhb_filepath); dirname = g_path_get_dirname (GLOBALS->xhb_filepath); //gtk_file_chooser_set_filename (GTK_FILE_CHOOSER(chooser), GLOBALS->xhb_filepath); gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER(chooser), dirname); gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER(chooser), basename); g_free(dirname); g_free(basename); } retval = FALSE; if (gtk_dialog_run (GTK_DIALOG (chooser)) == GTK_RESPONSE_ACCEPT) { *storage_ptr = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (chooser)); retval = TRUE; } gtk_widget_destroy (chooser); return retval; } /* ** */ gboolean ui_file_chooser_folder(GtkWindow *parent, gchar *title, gchar **storage_ptr) { GtkWidget *chooser; gboolean retval; DB( g_print("(ui-dialog) folder chooser\n") ); chooser = gtk_file_chooser_dialog_new (title, parent, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, _("_Cancel"), GTK_RESPONSE_CANCEL, _("_Open"), GTK_RESPONSE_ACCEPT, NULL); DB( g_print(" - set folder %s\n", *storage_ptr) ); gtk_file_chooser_set_filename (GTK_FILE_CHOOSER(chooser), *storage_ptr); retval = FALSE; if (gtk_dialog_run (GTK_DIALOG (chooser)) == GTK_RESPONSE_ACCEPT) { gchar *filename; //nb: filename must be freed with g_free filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (chooser)); DB( g_print("- folder %s\n", filename) ); //todo: dangerous to do this here, review please ! g_free(*storage_ptr); *storage_ptr = filename; DB( g_print("- folder stored: %s\n", *storage_ptr) ); retval = TRUE; } gtk_widget_destroy (chooser); return retval; } /* ** request the user to save last change */ gboolean ui_dialog_msg_savechanges(GtkWidget *widget, gpointer user_data) { gboolean retval = TRUE; GtkWidget *dialog = NULL; if(GLOBALS->changes_count) { gint result; dialog = gtk_message_dialog_new ( GTK_WINDOW(GLOBALS->mainwindow), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_WARNING, //GTK_MESSAGE_INFO, GTK_BUTTONS_NONE, _("Save changes to the file before closing?") ); gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), _("If you don't save, changes will be permanently lost.\nNumber of changes: %d."), GLOBALS->changes_count ); gtk_dialog_add_buttons (GTK_DIALOG(dialog), _("Close _without saving"), 0, _("_Cancel"), 1, _("_Save"), 2, NULL); gtk_dialog_set_default_response(GTK_DIALOG( dialog ), 2); result = gtk_dialog_run( GTK_DIALOG( dialog ) ); gtk_widget_destroy( dialog ); if(result == 1 || result == GTK_RESPONSE_DELETE_EVENT) { retval = FALSE; } else { if(result == 2) { DB( g_print(" + should quick save %s\n", GLOBALS->xhb_filepath) ); //todo: should migrate this //#1720377 also backup homebank_file_ensure_xhb(NULL); homebank_backup_current_file(); homebank_save_xml(GLOBALS->xhb_filepath); } } } return retval; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ gint ui_dialog_export_pdf(GtkWindow *parent, gchar **storage_ptr) { GtkWidget *dialog, *content_area, *content_grid, *group_grid; GtkWidget *label, *widget, *BT_folder, *ST_name; gchar *tmpstr; gint crow, row; dialog = gtk_dialog_new_with_buttons (_("Export as PDF"), GTK_WINDOW (parent), 0, _("_Cancel"), GTK_RESPONSE_CANCEL, _("Export as _PDF"), GTK_RESPONSE_ACCEPT, NULL); gtk_window_set_default_size (GTK_WINDOW(dialog), HB_MINWIDTH_LIST, -1); content_area = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); content_grid = gtk_grid_new(); gtk_grid_set_row_spacing (GTK_GRID (content_grid), SPACING_LARGE); gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL); gtk_container_set_border_width (GTK_CONTAINER(content_grid), SPACING_MEDIUM); gtk_box_pack_start (GTK_BOX (content_area), content_grid, TRUE, TRUE, 0); crow = 0; // group :: file title group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); row = 0; widget = gtk_image_new_from_icon_name (ICONNAME_WARNING, GTK_ICON_SIZE_DIALOG); gtk_grid_attach (GTK_GRID (group_grid), widget, 0, row, 1, 1); label = gtk_label_new("This feature is still in development state,\n(maybe not stable) so use it at your own risk!"); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); row++; label = make_label_widget(_("Folder:")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); BT_folder = gtk_file_chooser_button_new (_("Pick a Folder"), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER); gtk_grid_attach (GTK_GRID (group_grid), BT_folder, 1, row, 1, 1); row++; label = make_label_widget(_("Filename:")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); ST_name = make_string (label); gtk_grid_attach (GTK_GRID (group_grid), ST_name, 1, row, 1, 1); //setup tmpstr = g_path_get_dirname(*storage_ptr); gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(BT_folder), tmpstr); g_free(tmpstr); tmpstr = g_path_get_basename(*storage_ptr); gtk_entry_set_text(GTK_ENTRY(ST_name), tmpstr); g_free(tmpstr); gtk_widget_show_all(content_grid); //wait for the user gint result = gtk_dialog_run (GTK_DIALOG (dialog)); if(result == GTK_RESPONSE_ACCEPT) { gchar *hostname; //#300380 fixed export path problem (was always the export of preference) //not to be used -- gchar *nufolder = gtk_file_chooser_get_current_folder(GTK_FILE_CHOOSER(BT_folder)); gchar *urifolder = gtk_file_chooser_get_uri(GTK_FILE_CHOOSER(BT_folder)); gchar *nufolder = g_filename_from_uri(urifolder, &hostname, NULL); gchar *nufilename = hb_filename_new_with_extension((gchar *)gtk_entry_get_text (GTK_ENTRY(ST_name)), "pdf"); g_free(*storage_ptr); *storage_ptr = g_build_filename(nufolder, nufilename, NULL); g_free(nufilename); g_free(nufolder); g_free(urifolder); } // cleanup and destroy gtk_widget_destroy (dialog); return result; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ struct xfer_data { GtkWidget *dialog; GtkWidget *radio[2]; GtkWidget *srctreeview; GtkWidget *lb_several; GtkWidget *treeview; }; static void ui_dialog_transaction_xfer_select_child_cb(GtkWidget *radiobutton, gpointer user_data) { struct xfer_data *data; GtkTreeSelection *selection; gboolean btnew, sensitive; gint count; DB( g_print("(import) account type toggle\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(radiobutton), GTK_TYPE_WINDOW)), "inst_data"); btnew = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->radio[0])); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->treeview)); count = gtk_tree_selection_count_selected_rows(selection); if(btnew) gtk_tree_selection_unselect_all(selection); sensitive = btnew^1; gtk_widget_set_sensitive(data->lb_several, sensitive); gtk_widget_set_sensitive(data->treeview, sensitive); sensitive = (btnew || count > 0) ? TRUE : FALSE; gtk_dialog_set_response_sensitive(GTK_DIALOG(data->dialog), GTK_RESPONSE_ACCEPT, sensitive); DB( g_print("test count %d btnew %d sensitive %d\n", count, btnew, sensitive) ); } static void ui_dialog_transaction_xfer_select_child_selection_cb(GtkTreeSelection *treeselection, gpointer user_data) { ui_dialog_transaction_xfer_select_child_cb(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), NULL); } gint ui_dialog_transaction_xfer_select_child(GtkWindow *parent, Transaction *stxn, GList *matchlist, Transaction **child) { struct xfer_data *data; GtkWidget *window, *content, *mainvbox, *vbox, *sw, *label; GtkTreeModel *newmodel; GtkTreeIter newiter; data = g_malloc0(sizeof(struct xfer_data)); if(!data) return 0; window = gtk_dialog_new_with_buttons ( _("Select among possible transactions..."), parent, 0, _("_Cancel"), GTK_RESPONSE_CANCEL, _("_OK"), GTK_RESPONSE_ACCEPT, NULL); g_object_set_data(G_OBJECT(window), "inst_data", (gpointer)data); data->dialog = window; //gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_MOUSE); gtk_window_set_default_size (GTK_WINDOW (window), 800, 494); content = gtk_dialog_get_content_area(GTK_DIALOG (window)); mainvbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (content), mainvbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (mainvbox), SPACING_SMALL); // source listview sw = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); //gtk_widget_set_size_request(sw, -1, HB_MINWIDTH_LIST/2); data->srctreeview = create_list_transaction(LIST_TXN_TYPE_DETAIL, PREFS->lst_ope_columns); gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->srctreeview)), GTK_SELECTION_NONE); gtk_container_add (GTK_CONTAINER (sw), data->srctreeview); gtk_box_pack_start (GTK_BOX (mainvbox), sw, TRUE, TRUE, 0); // actions vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, SPACING_SMALL); gtk_box_pack_start (GTK_BOX (mainvbox), vbox, FALSE, TRUE, SPACING_SMALL); label = make_label(_("Select an action:"), 0.0, 0.5); gimp_label_set_attributes(GTK_LABEL(label), PANGO_ATTR_WEIGHT, PANGO_WEIGHT_BOLD, -1); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); data->radio[0] = gtk_radio_button_new_with_label (NULL, _("create a new transaction")); gtk_box_pack_start (GTK_BOX (vbox), data->radio[0], FALSE, FALSE, 0); data->radio[1] = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON (data->radio[0]), _("select an existing transaction")); gtk_box_pack_start (GTK_BOX (vbox), data->radio[1], FALSE, FALSE, 0); label = make_label(_( "HomeBank has found some transaction that may be " \ "the associated transaction for the internal transfer."), 0.0, 0.5 ); data->lb_several = label; gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_SMALL, -1); gtk_box_pack_start (GTK_BOX (mainvbox), label, FALSE, FALSE, SPACING_SMALL); // target listview sw = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); data->treeview = create_list_transaction(LIST_TXN_TYPE_DETAIL, PREFS->lst_ope_columns); gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->treeview)), GTK_SELECTION_SINGLE); gtk_container_add (GTK_CONTAINER (sw), data->treeview); gtk_box_pack_start (GTK_BOX (mainvbox), sw, TRUE, TRUE, 0); /* populate source */ if( stxn != NULL ) { newmodel = gtk_tree_view_get_model(GTK_TREE_VIEW(data->srctreeview)); gtk_list_store_clear (GTK_LIST_STORE(newmodel)); gtk_list_store_append (GTK_LIST_STORE(newmodel), &newiter); //#1830523/#1840393 gtk_list_store_set (GTK_LIST_STORE(newmodel), &newiter, MODEL_TXN_POINTER, stxn, MODEL_TXN_SPLITAMT, stxn->amount, -1); } /* populate target */ newmodel = gtk_tree_view_get_model(GTK_TREE_VIEW(data->treeview)); gtk_list_store_clear (GTK_LIST_STORE(newmodel)); GList *tmplist = g_list_first(matchlist); while (tmplist != NULL) { Transaction *tmp = tmplist->data; /* append to our treeview */ gtk_list_store_append (GTK_LIST_STORE(newmodel), &newiter); //#1830523/#1840393 gtk_list_store_set (GTK_LIST_STORE(newmodel), &newiter, MODEL_TXN_POINTER, tmp, MODEL_TXN_SPLITAMT, tmp->amount, -1); //DB( g_print(" - fill: %s %.2f %x\n", item->memo, item->amount, (unsigned int)item->same) ); tmplist = g_list_next(tmplist); } g_signal_connect (data->radio[0], "toggled", G_CALLBACK (ui_dialog_transaction_xfer_select_child_cb), NULL); g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->treeview)), "changed", G_CALLBACK (ui_dialog_transaction_xfer_select_child_selection_cb), NULL); gtk_widget_show_all(mainvbox); //initialize gtk_widget_set_sensitive (data->radio[1], TRUE); if( g_list_length (matchlist) <= 0 ) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->radio[0]), TRUE); gtk_widget_set_sensitive (data->radio[1], FALSE); gtk_widget_set_visible (data->lb_several, FALSE); } else { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->radio[1]), TRUE); gtk_widget_set_visible (data->lb_several, TRUE); } ui_dialog_transaction_xfer_select_child_cb(data->radio[0], NULL); //wait for the user gint result = gtk_dialog_run (GTK_DIALOG (window)); *child = NULL; if(result == GTK_RESPONSE_ACCEPT) { gboolean bnew; bnew = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->radio[0])); if( bnew == FALSE ) { GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->treeview)); if (gtk_tree_selection_get_selected(selection, &model, &iter)) { gtk_tree_model_get(model, &iter, MODEL_TXN_POINTER, child, -1); } } } DB( g_print(" return %d child = %p\n", result, child) ); // cleanup and destroy gtk_widget_destroy (window); g_free(data); return result; } homebank-5.3.2/src/hb-import-qif.c0000644000175000017500000002754613604720365013663 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" //#include "ui-assist-import.h" #include "hb-import.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; static void hb_qif_parser_parse(ImportContext *ctx, GenFile *genfile); /* = = = = = = = = = = = = = = = = */ GList *homebank_qif_import(ImportContext *ictx, GenFile *genfile) { DB( g_print("\n[import] homebank QIF\n") ); hb_qif_parser_parse(ictx, genfile); return ictx->gen_lst_txn;; } /* = = = = = = = = = = = = = = = = */ gdouble hb_qif_parser_get_amount(gchar *string) { gdouble amount; gint l, i; gchar *new_str, *p; gint ndcount = 0; gchar dc; //DB( g_print("\n[qif] hb_qif_parser_get_amount\n") ); amount = 0.0; dc = '?'; //TODO: we should use here ==> hb_string_dup_raw_amount_clean(const gchar *string, gint digits) l = strlen(string) - 1; // the first non-digit is a grouping, or a decimal separator // if the non-digit is after a 3 digit serie, it might be a grouping for(i=l;i>=0;i--) { //DB( g_print(" %d :: %c :: ds='%c' ndcount=%d\n", i, string[i], dc, ndcount) ); if( string[i] == '-' || string[i] == '+' ) continue; if( g_ascii_isdigit( string[i] )) { ndcount++; } else { if( (ndcount != 3) && (string[i] == '.' || string[i]==',') ) { dc = string[i]; } ndcount = 0; } } //DB( g_print(" s='%s' :: ds='%c'\n", string, dc) ); new_str = g_malloc (l+3); //#1214077 p = new_str; for(i=0;i<=l;i++) { if( g_ascii_isdigit( string[i] ) || string[i] == '-' ) { *p++ = string[i]; } else if( string[i] == dc ) *p++ = '.'; } *p++ = '\0'; amount = g_ascii_strtod(new_str, NULL); //DB( g_print(" -> amount was='%s' => to='%s' double='%f'\n", string, new_str, amount) ); g_free(new_str); return amount; } /* O if m-d-y (american) 1 if d-m-y (european) */ /* obsolete 4.5 static gint hb_qif_parser_guess_datefmt(ImportContext *ctx) { gboolean retval = TRUE; GList *qiflist; gboolean r, valid; gint d, m, y; DB( g_print("(qif) get_datetype\n") ); qiflist = g_list_first(ctx->gen_lst_txn); while (qiflist != NULL) { GenTxn *item = qiflist->data; r = hb_qif_parser_get_dmy(item->date, &d, &m, &y); valid = g_date_valid_dmy(d, m, y); DB( g_print(" -> date: %s :: %d %d %d :: %d\n", item->date, d, m, y, valid ) ); if(valid == FALSE) { retval = FALSE; break; } qiflist = g_list_next(qiflist); } return retval; } */ static gint hb_qif_parser_get_block_type(gchar *qif_line) { gchar **typestr; gint type = QIF_NONE; DB( g_print("--------\n[qif] block type\n") ); //DB( g_print(" -> str: %s type: %d\n", qif_line, type) ); if(g_str_has_prefix(qif_line, "!Account") || g_str_has_prefix(qif_line, "!account")) { type = QIF_ACCOUNT; } else { typestr = g_strsplit(qif_line, ":", 2); if( g_strv_length(typestr) == 2 ) { gchar *qif_line = g_utf8_casefold(typestr[1], -1); //DB( g_print(" -> str[1]: %s\n", typestr[1]) ); if( g_str_has_prefix(qif_line, "bank") ) { type = QIF_TRANSACTION; } else if( g_str_has_prefix(qif_line, "cash") ) { type = QIF_TRANSACTION; } else if( g_str_has_prefix(qif_line, "ccard") ) { type = QIF_TRANSACTION; } else if( g_str_has_prefix(qif_line, "invst") ) { type = QIF_TRANSACTION; } else if( g_str_has_prefix(qif_line, "oth a") ) { type = QIF_TRANSACTION; } else if( g_str_has_prefix(qif_line, "oth l") ) { type = QIF_TRANSACTION; } else if( g_str_has_prefix(qif_line, "security") ) { type = QIF_SECURITY; } else if( g_str_has_prefix(qif_line, "prices") ) { type = QIF_PRICES; } g_free(qif_line); } g_strfreev(typestr); } //DB( g_print(" -> return type: %d\n", type) ); return type; } static void hb_qif_parser_parse(ImportContext *ctx, GenFile *genfile) { GIOChannel *io; GenTxn tran = { 0 }; DB( g_print("\n[qif] hb_qif_parser_parse\n") ); io = g_io_channel_new_file(genfile->filepath, "r", NULL); if(io != NULL) { gchar *qif_line; GError *err = NULL; gint io_stat; gint type = QIF_NONE; gchar *value = NULL; GenAcc tmpgenacc = { 0 }; GenAcc *genacc; DB( g_print(" -> encoding should be %s\n", genfile->encoding) ); if( genfile->encoding != NULL ) { g_io_channel_set_encoding(io, genfile->encoding, NULL); } DB( g_print(" -> encoding is %s\n", g_io_channel_get_encoding(io)) ); // within a single qif file, if there is no accoutn data // then txn are related to a single account genacc = NULL; for(;;) { io_stat = g_io_channel_read_line(io, &qif_line, NULL, NULL, &err); if( io_stat == G_IO_STATUS_EOF ) break; if( io_stat == G_IO_STATUS_ERROR ) { DB (g_print(" + ERROR %s\n",err->message)); break; } if( io_stat == G_IO_STATUS_NORMAL ) { hb_string_strip_crlf(qif_line); //DB (g_print("** new QIF line: '%s' **\n", qif_line)); //start qif parsing if(g_str_has_prefix(qif_line, "!")) /* !Type: or !Option: or !Account otherwise ignore */ { type = hb_qif_parser_get_block_type(qif_line); DB ( g_print("-> ---- QIF block: '%s' (type = %d) ----\n", qif_line, type) ); } value = &qif_line[1]; if( type == QIF_ACCOUNT ) { switch(qif_line[0]) { case 'N': // Name { g_strstrip(value); tmpgenacc.name = g_strdup(value); DB ( g_print(" name: '%s'\n", value) ); break; } case 'T': // Type of account { DB ( g_print(" type: '%s'\n", value) ); // added for 5.0.1 if( g_ascii_strcasecmp("CCard", value) == 0 ) { tmpgenacc.is_ccard = TRUE; } break; } /* case 'D': // Description { DB ( g_print(" description: '%s'\n", value) ); break; } case 'L': // Credit limit (only for credit card accounts) if(g_str_has_prefix(qif_line, "L")) { DB ( g_print(" credit limit: '%s'\n", value) ); break; } case '$': // Statement balance amount { DB ( g_print(" balance: '%s'\n", value) ); break; }*/ case '^': // end { Account *dst_acc; genacc = hb_import_gen_acc_get_next (ctx, FILETYPE_QIF, tmpgenacc.name, NULL); // number is null for QIF because it is not a QIF account field into specification dst_acc = hb_import_acc_find_existing(tmpgenacc.name, NULL ); if( dst_acc != NULL ) { DB( g_print(" - set dst_acc to %d\n", dst_acc->key) ); genacc->kacc = dst_acc->key; } genacc->is_ccard = tmpgenacc.is_ccard; g_free(tmpgenacc.name); tmpgenacc.name = NULL; tmpgenacc.is_ccard = FALSE; DB ( g_print(" ----------------\n") ); break; } } } if( type == QIF_TRANSACTION ) { switch(qif_line[0]) { case 'D': //date { gchar *ptr; // US Quicken seems to be using the ' to indicate post-2000 two-digit years //(such as 01/01'00 for Jan 1 2000) ptr = g_strrstr (value, "\'"); if(ptr != NULL) { *ptr = '/'; } ptr = g_strrstr (value, " "); if(ptr != NULL) { *ptr = '0'; } g_free(tran.date); tran.date = g_strdup(value); break; } case 'T': // amount { tran.amount = hb_qif_parser_get_amount(value); break; } case 'C': // cleared status { tran.reconciled = FALSE; if(g_str_has_prefix(value, "X") || g_str_has_prefix(value, "R") ) { tran.reconciled = TRUE; } tran.cleared = FALSE; if(g_str_has_prefix(value, "*") || g_str_has_prefix(value, "c") ) { tran.cleared = TRUE; } break; } case 'N': // check num or reference number { if(*value != '\0') { g_free(tran.info); g_strstrip(value); tran.info = g_strdup(value); } break; } case 'P': // payee { if(*value != '\0') { g_free(tran.payee); g_strstrip(value); tran.rawpayee = g_strdup(value); } break; } case 'M': // memo { if(*value != '\0') { g_free(tran.memo); tran.rawmemo = g_strdup(value); } break; } case 'L': // category { // LCategory of transaction // L[Transfer account name] // LCategory of transaction/Class of transaction // L[Transfer account]/Class of transaction // this is managed at insertion if(*value != '\0') { g_free(tran.category); g_strstrip(value); tran.category = g_strdup(value); } break; } case 'S': case 'E': case '$': { if(tran.nb_splits < TXN_MAX_SPLIT) { switch(qif_line[0]) { case 'S': // split category { GenSplit *s = &tran.splits[tran.nb_splits]; if(*value != '\0') { g_free(s->category); g_strstrip(value); s->category = g_strdup(value); } break; } case 'E': // split memo { GenSplit *s = &tran.splits[tran.nb_splits]; if(*value != '\0') { g_free(s->memo); s->memo = g_strdup(value); } break; } case '$': // split amount { GenSplit *s = &tran.splits[tran.nb_splits]; s->amount = hb_qif_parser_get_amount(value); // $ line normally end a split #if MYDEBUG == 1 g_print(" -> new split added: [%d] S=%s, E=%s, $=%.2f\n", tran.nb_splits, s->category, s->memo, s->amount); #endif tran.nb_splits++; break; } } } // end split break; } case '^': // end of line { GenTxn *newitem; //fix: 380550 if( tran.date ) { //ensure we have an account //todo: check this if(genacc == NULL) { genacc = hb_import_gen_acc_get_next (ctx, FILETYPE_QIF, NULL, NULL); } tran.account = g_strdup(genacc->name); DB ( g_print(" -> store qif txn: dat:'%s' amt:%.2f pay:'%s' mem:'%s' cat:'%s' acc:'%s' nbsplit:%d\n", tran.date, tran.amount, tran.payee, tran.memo, tran.category, tran.account, tran.nb_splits) ); newitem = da_gen_txn_malloc(); da_gen_txn_move(&tran, newitem); da_gen_txn_append(ctx, newitem); } //unvalid tran tran.date = 0; //todo: should clear mem alloc here tran.nb_splits = 0; break; } } // end of switch } // end QIF_TRANSACTION } // end of stat normal g_free(qif_line); } // end of for loop g_io_channel_unref (io); } } homebank-5.3.2/src/hb-filter.h0000644000175000017500000000734013612651050013045 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_FILTER_H__ #define __HB_FILTER_H__ /* ** filter options */ enum { FILTER_DATE, FILTER_CATEGORY, FILTER_PAYEE, FILTER_ACCOUNT, FILTER_TEXT, FILTER_AMOUNT, FILTER_PAYMODE, FILTER_STATUS, FILTER_TYPE, FILTER_MAX }; enum { FLT_RANGE_THISMONTH = 0, FLT_RANGE_LASTMONTH = 1, FLT_RANGE_THISQUARTER = 2, FLT_RANGE_LASTQUARTER = 3, FLT_RANGE_THISYEAR = 4, FLT_RANGE_LASTYEAR = 5, //was not existing on 4.5 // 6 separator FLT_RANGE_LAST30DAYS = 7, FLT_RANGE_LAST60DAYS = 8, FLT_RANGE_LAST90DAYS = 9, FLT_RANGE_LAST12MONTHS = 10, // 11 separator FLT_RANGE_OTHER = 12, // 13 separator FLT_RANGE_ALLDATE = 14 }; enum { FLT_TYPE_ALL = 0, // 1 separator FLT_TYPE_EXPENSE = 2, FLT_TYPE_INCOME = 3, FLT_TYPE_INTXFER = 4, }; enum { FLT_STATUS_ALL = 0, // 1 separator FLT_STATUS_CLEARED = 2, FLT_STATUS_UNCLEARED = 3, FLT_STATUS_RECONCILED = 4, FLT_STATUS_UNRECONCILED = 5, // 6 separator FLT_STATUS_UNCATEGORIZED = 7, }; enum { FLT_QSEARCH_MEMO = 1<<0, FLT_QSEARCH_INFO = 1<<1, FLT_QSEARCH_PAYEE = 1<<2, FLT_QSEARCH_CATEGORY = 1<<3, FLT_QSEARCH_TAGS = 1<<4, FLT_QSEARCH_AMOUNT = 1<<5 }; typedef struct _filter Filter; struct _filter { gshort option[FILTER_MAX]; guint32 mindate, maxdate; gint range; gint rawtype, type; gint rawstatus, status; //gboolean gboolean paymode[NUM_PAYMODE_MAX]; gdouble minamount, maxamount; gboolean exact; gchar *info; gchar *memo; gchar *tag; /* unsaved datas */ gint nbdaysfuture; gboolean forceadd; gboolean forcechg; gboolean forceremind; gboolean forcevoid; gchar last_tab[8]; /* keep last active tab */ }; Filter *da_flt_malloc(void); void da_flt_free(Filter *flt); void da_flt_destroy(void); void da_flt_new(void); void da_flt_status_acc_set(Filter *flt, guint32 kacc, gboolean status); void da_flt_status_pay_set(Filter *flt, guint32 kpay, gboolean status); void da_flt_status_cat_set(Filter *flt, guint32 kcat, gboolean status); gboolean da_flt_status_acc_get(Filter *flt, guint32 kacc); gboolean da_flt_status_pay_get(Filter *flt, guint32 kpay); gboolean da_flt_status_cat_get(Filter *flt, guint32 kcat); void filter_status_acc_clear_except(Filter *flt, guint32 selkey); void filter_status_pay_clear_except(Filter *flt, guint32 selkey); void filter_status_cat_clear_except(Filter *flt, guint32 selkey); void filter_reset(Filter *flt); void filter_preset_daterange_set(Filter *flt, gint range, guint32 kacc); void filter_preset_type_set(Filter *flt, gint value); gboolean filter_preset_daterange_future_enable(gint range); void filter_preset_daterange_add_futuregap(Filter *filter, gint nbdays); void filter_set_tag_by_id(Filter *flt, guint32 key); void filter_preset_status_set(Filter *flt, gint value); gchar *filter_daterange_text_get(Filter *flt); gboolean filter_txn_search_match(gchar *needle, Transaction *txn, gint flags); gboolean filter_tpl_search_match(gchar *needle, Archive *arc); gint filter_txn_match(Filter *flt, Transaction *ope); #endif homebank-5.3.2/src/list-scheduled.h0000644000175000017500000000232713604720371014106 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __LIST_UPCOMING__H__ #define __LIST_UPCOMING__H__ enum { LST_DSPUPC_DATAS, LST_DSPUPC_NEXT, LST_DSPUPC_ACCOUNT, LST_DSPUPC_MEMO, LST_DSPUPC_EXPENSE, LST_DSPUPC_INCOME, LST_DSPUPC_NB_LATE, NUM_LST_DSPUPC }; enum { COL_DSPUPC_LATE, COL_DSPUPC_STILL, COL_DSPUPC_NEXTDATE, COL_DSPUPC_PAYEE, COL_DSPUPC_MEMO, COL_DSPUPC_EXPENSE, COL_DSPUPC_INCOME, COL_DSPUPC_ACCOUNT }; GtkWidget *create_list_upcoming(void); #endif homebank-5.3.2/src/hb-import.c0000644000175000017500000007574113604720365013106 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hb-import.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =*/ static gint homebank_alienfile_recognize(gchar *filename) { GIOChannel *io; gint i, retval = FILETYPE_UNKNOWN; gchar *tmpstr; gint io_stat; GError *err = NULL; DB( g_print("\n[homebank] alienfile_recognize\n") ); io = g_io_channel_new_file(filename, "r", NULL); if(io != NULL) { g_io_channel_set_encoding(io, NULL, NULL); /* set to binary mode */ for(i=0;i<25;i++) { if( retval != FILETYPE_UNKNOWN ) break; io_stat = g_io_channel_read_line(io, &tmpstr, NULL, NULL, &err); if( io_stat == G_IO_STATUS_EOF) break; if( io_stat == G_IO_STATUS_ERROR ) { DB (g_print(" + ERROR %s\n",err->message)); break; } if( io_stat == G_IO_STATUS_NORMAL) { if( *tmpstr != '\0' ) { DB( g_print(" line %d: '%s' retval=%d\n", i, tmpstr, retval) ); // OFX/QFX file ? if( g_strstr_len(tmpstr, -1, "") != NULL || g_strstr_len(tmpstr, -1, "") != NULL /*|| strcasestr(tmpstr, "") != NULL*/ ) { DB( g_print(" type is OFX\n") ); retval = FILETYPE_OFX; } else // QIF file ? if( g_str_has_prefix(tmpstr, "!Type") || g_str_has_prefix(tmpstr, "!type") || g_str_has_prefix(tmpstr, "!Option") || g_str_has_prefix(tmpstr, "!option") || g_str_has_prefix(tmpstr, "!Account") || g_str_has_prefix(tmpstr, "!account") ) { DB( g_print(" type is QIF\n") ); retval = FILETYPE_QIF; } else // CSV homebank format ? if( hb_csv_test_line(tmpstr) ) { DB( g_print(" type is CSV homebank\n") ); retval = FILETYPE_CSV_HB; } else // native homebank file ? if( g_str_has_prefix(tmpstr, "gen_lst_txn); while (list != NULL) { GenTxn *gentxn = list->data; da_gen_txn_free(gentxn); list = g_list_next(list); } g_list_free(context->gen_lst_txn); context->gen_lst_txn = NULL; } static void da_import_context_gen_acc_destroy(ImportContext *context) { GList *list; DB( g_print("\n[import] free gen acc list\n") ); list = g_list_first(context->gen_lst_acc); while (list != NULL) { GenAcc *genacc = list->data; da_gen_acc_free(genacc); list = g_list_next(list); } g_list_free(context->gen_lst_acc); context->gen_lst_acc = NULL; } static void da_import_context_clear(ImportContext *context) { DB( g_print("\n[import] context clear\n") ); da_import_context_gen_txn_destroy(context); da_import_context_gen_acc_destroy(context); context->gen_next_acckey = 1; } void da_import_context_destroy(ImportContext *context) { GList *list; DB( g_print("\n[import] context destroy\n") ); da_import_context_gen_txn_destroy(context); da_import_context_gen_acc_destroy(context); DB( g_print(" free gen file list\n") ); list = g_list_first(context->gen_lst_file); while (list != NULL) { GenFile *genfile = list->data; da_gen_file_free(genfile); list = g_list_next(list); } g_list_free(context->gen_lst_file); context->gen_lst_file = NULL; } void da_import_context_new(ImportContext *context) { context->gen_lst_file = NULL; context->gen_lst_acc = NULL; context->gen_lst_txn = NULL; context->gen_next_acckey = 1; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =*/ GenFile * da_gen_file_malloc(void) { return g_malloc0(sizeof(GenFile)); } void da_gen_file_free(GenFile *genfile) { if(genfile != NULL) { if(genfile->filepath != NULL) g_free(genfile->filepath); g_free(genfile); } } GenFile * da_gen_file_get(GList *lst_file, guint32 key) { GenFile *existfile = NULL; GList *list; list = g_list_first(lst_file); while (list != NULL) { GenFile *genfile = list->data; if( key == genfile->key ) { existfile = genfile; break; } list = g_list_next(list); } return existfile; } static GenFile * da_gen_file_get_by_name(GList *lst_file, gchar *filepath) { GenFile *existfile = NULL; GList *list; DB( g_print("da_gen_file_get_by_name\n") ); list = g_list_first(lst_file); while (list != NULL) { GenFile *genfile = list->data; DB( g_print(" strcasecmp '%s' '%s'\n", filepath, genfile->filepath) ); if(!strcasecmp(filepath, genfile->filepath)) { existfile = genfile; DB( g_print(" found\n") ); break; } list = g_list_next(list); } return existfile; } GenFile * da_gen_file_append_from_filename(ImportContext *ictx, gchar *filename) { GenFile *genfile = NULL; gint filetype; //todo: should check if its a file !! filetype = homebank_alienfile_recognize(filename); DB( g_print(" - filename '%s', type is %d\n", filename, filetype ) ); // we keep everything here //if( (filetype == FILETYPE_OFX) || (filetype == FILETYPE_QIF) || (filetype == FILETYPE_CSV_HB) ) if( filetype != FILETYPE_HOMEBANK ) { GenFile *existgenfile; existgenfile = da_gen_file_get_by_name(ictx->gen_lst_file, filename); if(existgenfile == NULL) { genfile = da_gen_file_malloc(); genfile->filepath = g_strdup(filename); genfile->filetype = filetype; //append to list genfile->key = g_list_length (ictx->gen_lst_file) + 1; ictx->gen_lst_file = g_list_append(ictx->gen_lst_file, genfile); } } return genfile; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =*/ GenAcc * da_gen_acc_malloc(void) { return g_malloc0(sizeof(GenAcc)); } void da_gen_acc_free(GenAcc *genacc) { if(genacc != NULL) { if(genacc->name != NULL) g_free(genacc->name); if(genacc->number != NULL) g_free(genacc->number); g_free(genacc); } } GenAcc * da_gen_acc_get_by_key(GList *lst_acc, guint32 key) { GenAcc *existacc = NULL; GList *list; DB( g_print("da_gen_acc_get_by_key\n") ); list = g_list_first(lst_acc); while (list != NULL) { GenAcc *genacc = list->data; if( key == genacc->key ) { existacc = genacc; break; } list = g_list_next(list); } return existacc; } static GenAcc * da_gen_acc_get_by_name(GList *lst_acc, gchar *name) { GenAcc *existacc = NULL; GList *list; DB( g_print("da_gen_acc_get_by_name\n") ); list = g_list_first(lst_acc); while (list != NULL) { GenAcc *genacc = list->data; //DB( g_print(" strcasecmp '%s' '%s'\n", name, genacc->name) ); if(!strcasecmp(name, genacc->name)) { existacc = genacc; //DB( g_print(" found\n") ); break; } list = g_list_next(list); } return existacc; } Account * hb_import_acc_find_existing(gchar *name, gchar *number) { Account *retacc = NULL; GList *lacc, *list; DB( g_print("\n[import] acc_find_existing\n") ); DB( g_print(" - search number '%s'\n", number) ); lacc = list = g_hash_table_get_values(GLOBALS->h_acc); while (list != NULL) { Account *acc = list->data; //DB( g_print(" - eval acc '%s' or '%s'\n", acc->name, acc->number) ); if(number != NULL && acc->number && strlen(acc->number) ) { //prefer identifying with number & search number into acc->number if(g_strstr_len(number, -1, acc->number) != NULL) { DB( g_print(" - match number '%s'\n", acc->number) ); retacc = acc; break; } } list = g_list_next(list); } //# 1815964 only test name if all number test failed //if not found try with name if(retacc == NULL) { DB( g_print(" - search name '%s'\n", name) ); list = g_list_first(lacc); while (list != NULL) { Account *acc = list->data; //DB( g_print(" - eval acc '%s' or '%s'\n", acc->name, acc->number) ); if(retacc == NULL && name != NULL) { if(g_strstr_len(name, -1, acc->name) != NULL) { DB( g_print(" - match name '%s'\n", acc->name) ); retacc = acc; break; } } list = g_list_next(list); } } g_list_free(lacc); return retacc; } GenAcc * hb_import_gen_acc_get_next(ImportContext *ictx, gint filetype, gchar *name, gchar *number) { GenAcc *newacc; DB( g_print("\n[import] acc_get_next\n") ); DB( g_print(" - type='%d', name='%s', number='%s'\n", filetype, name, number) ); // try to find a same name account if( name != NULL ) { newacc = da_gen_acc_get_by_name(ictx->gen_lst_acc, name); if(newacc != NULL) { DB( g_print(" - found existing '%s'\n", name) ); goto end; } } newacc = da_gen_acc_malloc(); if(newacc) { newacc->kfile = ictx->curr_kfile; newacc->key = ictx->gen_next_acckey++; newacc->kacc = DST_ACC_GLOBAL; if(name != NULL) { newacc->is_unamed = FALSE; newacc->name = g_strdup(name); } else { GenFile *genfile; gchar *basename; newacc->is_unamed = TRUE; genfile = da_gen_file_get (ictx->gen_lst_file, newacc->kfile); basename = g_path_get_basename(genfile->filepath); newacc->name = g_strdup_printf("%s %d", basename, newacc->key); g_free(basename); } if(number != NULL) newacc->number = g_strdup(number); ictx->gen_lst_acc = g_list_append(ictx->gen_lst_acc, newacc); } DB( g_print(" - create new '%s'\n", newacc->name) ); end: newacc->filetype = filetype; ictx->curr_kacc = newacc->key; return newacc; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =*/ GenTxn * da_gen_txn_malloc(void) { return g_malloc0(sizeof(GenTxn)); } void da_gen_txn_free(GenTxn *gentxn) { gint i; if(gentxn != NULL) { if(gentxn->account != NULL) g_free(gentxn->account); if(gentxn->rawinfo != NULL) g_free(gentxn->rawinfo); if(gentxn->rawpayee != NULL) g_free(gentxn->rawpayee); if(gentxn->rawmemo != NULL) g_free(gentxn->rawmemo); if(gentxn->date != NULL) g_free(gentxn->date); if(gentxn->info != NULL) g_free(gentxn->info); if(gentxn->payee != NULL) g_free(gentxn->payee); if(gentxn->memo != NULL) g_free(gentxn->memo); if(gentxn->category != NULL) g_free(gentxn->category); if(gentxn->tags != NULL) g_free(gentxn->tags); for(i=0;isplits[i]; if(s->memo != NULL) g_free(s->memo); if(s->category != NULL) g_free(s->category); } if(gentxn->lst_existing != NULL) { g_list_free(gentxn->lst_existing); gentxn->lst_existing = NULL; } g_free(gentxn); } } static gint da_gen_txn_compare_func(GenTxn *a, GenTxn *b) { gint retval = (gint)(a->julian - b->julian); if(!retval) retval = (ABS(a->amount) - ABS(b->amount)) > 0 ? 1 : -1; return (retval); } GList * da_gen_txn_sort(GList *list) { return( g_list_sort(list, (GCompareFunc)da_gen_txn_compare_func)); } void da_gen_txn_move(GenTxn *sgentxn, GenTxn *dgentxn) { if(sgentxn != NULL && dgentxn != NULL) { memcpy(dgentxn, sgentxn, sizeof(GenTxn)); memset(sgentxn, 0, sizeof(GenTxn)); } } void da_gen_txn_append(ImportContext *ctx, GenTxn *gentxn) { gentxn->kfile = ctx->curr_kfile; gentxn->kacc = ctx->curr_kacc; gentxn->to_import = TRUE; //perf must use preprend, see glib doc //sort will be done later, so we don't care here ctx->gen_lst_txn = g_list_prepend(ctx->gen_lst_txn, gentxn); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void _string_utf8_ucfirst(gchar **str) { gint str_len; gchar *first, *lc; if( *str == NULL ) return; str_len = strlen(*str); if( str_len <= 1 ) return; first = g_utf8_strup(*str, 1); lc = g_utf8_strdown( g_utf8_next_char(*str), -1 ); g_free(*str); *str = g_strjoin(NULL, first, lc, NULL); g_free(first); g_free(lc); } static gchar * _string_concat(gchar *str, gchar *addon) { gchar *retval; DB( g_print(" - concat '%s' + '%s'\n", str, addon) ); if(str == NULL) retval = g_strdup(addon); else { retval = g_strjoin(" ", str, addon, NULL); g_free(str); } DB( g_print(" - retval='%s'\n", retval) ); return retval; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ gchar *hb_import_filetype_char_get(GenAcc *genacc) { gchar *retval = ""; switch(genacc->filetype) { #ifndef NOOFX case FILETYPE_OFX: retval = "OFX/QFX"; break; #endif case FILETYPE_QIF: retval = "QIF"; break; case FILETYPE_CSV_HB: retval = "CSV"; break; } return retval; } void hb_import_load_all(ImportContext *ictx) { GList *list; DB( g_print("\n[import] load all\n") ); da_import_context_clear (ictx); list = g_list_first(ictx->gen_lst_file); while (list != NULL) { GenFile *genfile = list->data; if(genfile->filetype != FILETYPE_UNKNOWN) { //todo: move this to alien analysis genfile->encoding = homebank_file_getencoding(genfile->filepath); ictx->curr_kfile = genfile->key; DB( g_print(" -> key = '%d'\n", genfile->key) ); DB( g_print(" -> filepath = '%s'\n", genfile->filepath) ); DB( g_print(" -> encoding = '%s'\n", genfile->encoding) ); genfile->loaded = FALSE; genfile->invaliddatefmt = FALSE; switch(genfile->filetype) { #ifndef NOOFX case FILETYPE_OFX: homebank_ofx_import(ictx, genfile); break; #endif case FILETYPE_QIF: homebank_qif_import(ictx, genfile); break; case FILETYPE_CSV_HB: homebank_csv_import(ictx, genfile); break; } genfile->loaded = TRUE; } list = g_list_next(list); } // sort by date ictx->gen_lst_txn = da_gen_txn_sort(ictx->gen_lst_txn); } gint hb_import_gen_acc_count_txn(ImportContext *ictx, GenAcc *genacc) { GList *list; gint count = 0; DB( g_print("\n[import] gen_acc_count_txn\n") ); genacc->n_txnall = 0; genacc->n_txnimp = 0; list = g_list_first(ictx->gen_lst_txn); while (list != NULL) { GenTxn *gentxn = list->data; if(gentxn->kacc == genacc->key) { genacc->n_txnall++; count++; DB( g_print(" count %03d: gentxn in=%d dup=%d '%s'\n", count, gentxn->to_import, gentxn->is_dst_similar, gentxn->memo) ); if(gentxn->to_import) genacc->n_txnimp++; } list = g_list_next(list); } return count; } /** * uncheck duplicate within the import context files */ gint hb_import_gen_txn_check_duplicate(ImportContext *ictx, GenAcc *genacc) { GList *list1, *list2; gint count = 0; DB( g_print("\n[import] gen_txn_check_duplicate\n") ); list1 = g_list_first(ictx->gen_lst_txn); while (list1 != NULL) { GenTxn *gentxn1 = list1->data; if( (genacc->key == gentxn1->kacc) && (gentxn1->julian != 0) ) //same account, valid date { list2 = g_list_next(list1); while (list2 != NULL) { GenTxn *gentxn2 = list2->data; if( (gentxn2->julian > gentxn1->julian) ) break; //todo: maybe reinforce controls here if( (gentxn2->kacc == gentxn1->kacc) && (gentxn2->julian == gentxn1->julian) && (gentxn2->amount == gentxn1->amount) && (hb_string_compare(gentxn2->memo, gentxn1->memo) == 0) && (hb_string_compare(gentxn2->payee, gentxn1->payee) == 0) ) { gentxn1->to_import = FALSE; gentxn1->is_imp_similar = TRUE; count++; DB( g_print(" found import dup %d=%d %.2f %.2f in=%d dup=%d\n", gentxn1->julian, gentxn2->julian, gentxn2->amount, gentxn1->amount, gentxn1->to_import, gentxn1->is_imp_similar) ); } list2 = g_list_next(list2); } } list1 = g_list_next(list1); } return count; } /** * uncheck existing txn into target account * */ gint hb_import_gen_txn_check_target_similar(ImportContext *ictx, GenAcc *genacc) { GList *list1, *list2; gint count = 0; DB( g_print("\n[import] gen_txn_check_target_similar\n") ); list1 = g_list_first(ictx->gen_lst_txn); while (list1 != NULL) { GenTxn *gentxn = list1->data; if(genacc->key == gentxn->kacc) { gentxn->to_import = TRUE; gentxn->is_dst_similar = FALSE; if(genacc->kacc == DST_ACC_SKIP) { gentxn->to_import = FALSE; } else { Account *acc = da_acc_get(genacc->kacc); if(acc != NULL) { //clear previous existing if(gentxn->lst_existing != NULL) { g_list_free(gentxn->lst_existing); gentxn->lst_existing = NULL; } // try to find existing transaction list2 = g_queue_peek_tail_link(acc->txn_queue); while (list2 != NULL) { Transaction *txn = list2->data; //break if the date goes below the gentxn date + gap if( txn->date < (gentxn->julian - ictx->opt_daygap) ) break; //#1586211 add of date tolerance //todo: maybe reinforce controls here if( ( txn->kacc == genacc->kacc ) && ( gentxn->julian <= (txn->date + ictx->opt_daygap) ) && ( gentxn->julian >= (txn->date - ictx->opt_daygap) ) && ( txn->amount == gentxn->amount ) ) { gentxn->lst_existing = g_list_append(gentxn->lst_existing, txn); gentxn->to_import = FALSE; gentxn->is_dst_similar = TRUE; count++; DB( g_print(" found dst acc dup %d %.2f '%s' in=%d, dup=%d\n", gentxn->julian, gentxn->amount, gentxn->memo, gentxn->to_import, gentxn->is_dst_similar) ); } list2 = g_list_previous(list2); } } } } list1 = g_list_next(list1); } return count; } /** * try to indentify xfer for OFX * */ static gint hb_import_gen_xfer_eval(ImportContext *ictx, GList *list) { GList *root, *list1, *list2; GList *match = NULL; gint count = 0; DB( g_print("\n[import] gen xfer eval\n") ); root = da_transaction_sort(list); root = list1 = g_list_first(list); while (list1 != NULL) { Transaction *txn1 = list1->data; GenAcc *acc; DB( g_print(" list:%p txn:%p\n", ictx->gen_lst_acc, txn1) ); if( txn1 != NULL ) { acc = da_gen_acc_get_by_key(ictx->gen_lst_acc, txn1->kacc); DB( g_print(" src: kacc:%d dat:%d amt:%.2f %s kfxacc:%d\n", txn1->kacc, txn1->date, txn1->amount, txn1->memo, txn1->kxferacc) ); if( (acc != NULL) && (acc->filetype == FILETYPE_OFX) ) { match = NULL; count = 0; list2 = g_list_next(root); while (list2 != NULL) { Transaction *txn2 = list2->data; if(!txn2) goto next; //DB( g_print(" -- chk: kacc:%d dat:%d amt:%.2f %s\n", txn2->kacc, txn2->date, txn2->amount, txn2->memo) ); if( (txn2->date > txn1->date) ) break; if( (txn2 == txn1) || (txn2->flags & OF_INTXFER) ) goto next; //todo: maybe reinforce controls here if( (txn2->kacc != txn1->kacc) && (txn2->date == txn1->date) && (txn2->amount == -txn1->amount) && (hb_string_compare(txn2->memo, txn1->memo) == 0) ) { DB( g_print(" match: kacc:%d dat:%d amt:%.2f %s kfxacc:%d\n", txn2->kacc, txn2->date, txn2->amount, txn2->memo, txn2->kxferacc) ); match = g_list_append(match, txn2); count++; } next: list2 = g_list_next(list2); } if(count == 1) //we found a single potential xfer, transform it { Transaction *txn2 ; DB( g_print(" single found => convert both\n") ); list2 = g_list_first(match); txn2 = list2->data; if( txn1 && txn2 ) { txn1->flags |= OF_INTXFER; transaction_xfer_change_to_child(txn1, txn2); } } // if more than one, we cannot be sure g_list_free(match); } } list1 = g_list_next(list1); } return count; } /** * apply the user option: date format, payee/memo/info mapping * */ gboolean hb_import_option_apply(ImportContext *ictx, GenAcc *genacc) { GList *list; DB( g_print("\n[import] option apply\n") ); DB( g_print(" - type=%d\n", genacc->filetype) ); genacc->n_txnbaddate = 0; list = g_list_first(ictx->gen_lst_txn); while (list != NULL) { GenTxn *gentxn = list->data; if(gentxn->kacc == genacc->key) { if(genacc->filetype != FILETYPE_OFX) { gentxn->julian = hb_date_get_julian(gentxn->date, ictx->opt_dateorder); if( gentxn->julian == 0 ) { genacc->n_txnbaddate++; } } if(genacc->filetype == FILETYPE_OFX) { DB( g_print(" - ofx option apply\n") ); g_free(gentxn->payee); g_free(gentxn->memo); g_free(gentxn->info); gentxn->payee = NULL; gentxn->memo = NULL; gentxn->info = NULL; // OFX:check_number gentxn->info = g_strdup(gentxn->rawinfo); //#1791482 map name to info (concat only) switch(ictx->opt_ofxname) { //ofxname is stored into rawpayee case 1: gentxn->memo = g_strdup(gentxn->rawpayee); break; case 2: gentxn->payee = g_strdup(gentxn->rawpayee); break; case 3: g_free(gentxn->info); gentxn->info = _string_concat(gentxn->rawinfo, gentxn->rawpayee); break; } if(gentxn->rawmemo != NULL) { switch(ictx->opt_ofxmemo) { //case 0: ignore case 1: //add to info gentxn->info = _string_concat(gentxn->info, gentxn->rawmemo); break; case 2: //add to memo gentxn->memo = _string_concat(gentxn->memo, gentxn->rawmemo); break; case 3: //add to payee gentxn->payee = _string_concat(gentxn->payee, gentxn->rawmemo); break; } } DB( g_print(" - payee is '%s'\n", gentxn->payee) ); DB( g_print(" - memo is '%s'\n", gentxn->memo) ); DB( g_print(" - info is '%s'\n", gentxn->info) ); DB( g_print("\n") ); } else if(genacc->filetype == FILETYPE_QIF) { DB( g_print(" - qif option apply\n") ); g_free(gentxn->payee); g_free(gentxn->memo); gentxn->payee = NULL; gentxn->memo = NULL; if(!ictx->opt_qifswap) { gentxn->payee = g_strdup(gentxn->rawpayee); if(ictx->opt_qifmemo) gentxn->memo = g_strdup(gentxn->rawmemo); } else { gentxn->payee = g_strdup(gentxn->rawmemo); if(ictx->opt_qifmemo) gentxn->memo = g_strdup(gentxn->rawpayee); } DB( g_print(" - payee is '%s'\n", gentxn->payee) ); DB( g_print(" - memo is '%s'\n", gentxn->memo) ); } else if(genacc->filetype == FILETYPE_CSV_HB) { DB( g_print(" - csv option apply\n") ); //#1791656 missing: info, payee and tagsg_freg_free(gentxn->payee); g_free(gentxn->payee); g_free(gentxn->memo); g_free(gentxn->info); gentxn->payee = g_strdup(gentxn->rawpayee); gentxn->memo = g_strdup(gentxn->rawmemo); gentxn->info = g_strdup(gentxn->rawinfo); } //at last do ucfirst if( (ictx->opt_ucfirst == TRUE) ) { _string_utf8_ucfirst(&gentxn->memo); _string_utf8_ucfirst(&gentxn->payee); //category ? } } list = g_list_next(list); } DB( g_print(" - nb_err=%d\n", genacc->n_txnbaddate) ); return genacc->n_txnbaddate == 0 ? TRUE : FALSE; } /** * convert a GenTxn to a Transaction * */ Transaction * hb_import_convert_txn(GenAcc *genacc, GenTxn *gentxn) { Transaction *newope; Account *accitem; Payee *payitem; Category *catitem; gint nsplit; DB( g_print("\n[import] convert txn\n") ); newope = NULL; DB( g_print(" - gentxt %s %s %s\n", gentxn->account, gentxn->date, gentxn->memo) ); DB( g_print(" - genacc '%s' '%p'\n", gentxn->account, genacc) ); if( genacc != NULL) { newope = da_transaction_malloc(); newope->kacc = genacc->kacc; newope->date = gentxn->julian; newope->paymode = gentxn->paymode; newope->info = g_strdup(gentxn->info); newope->memo = g_strdup(gentxn->memo); newope->amount = gentxn->amount; if(newope->amount > 0) newope->flags |= OF_INCOME; //#773282 invert amount for ccard accounts //todo: manage this (qif), it is not set to true anywhere //= it is into the qif account see hb-import-qif.c //if(ictx->is_ccard) // gentxn->amount *= -1; // payee + append if( gentxn->payee != NULL ) { payitem = da_pay_get_by_name(gentxn->payee); if(payitem == NULL) { //DB( g_print(" -> append pay: '%s'\n", item->payee ) ); payitem = da_pay_malloc(); payitem->name = g_strdup(gentxn->payee); //payitem->imported = TRUE; da_pay_append(payitem); //ictx->cnt_new_pay += 1; } newope->kpay = payitem->key; } // LCategory of transaction // L[Transfer account name] // LCategory of transaction/Class of transaction // L[Transfer account]/Class of transaction if( gentxn->category != NULL ) { if(g_str_has_prefix(gentxn->category, "[")) // this is a transfer account name { gchar *accname; //DB ( g_print(" -> transfer to: '%s'\n", item->category) ); //remove brackets accname = hb_strdup_nobrackets(gentxn->category); // search target account + append if not exixts accitem = da_acc_get_by_name(accname); if(accitem == NULL) { DB( g_print(" -> append int xfer dest acc: '%s'\n", accname ) ); accitem = da_acc_malloc(); accitem->name = g_strdup(accname); //accitem->imported = TRUE; //accitem->imp_name = g_strdup(accname); da_acc_append(accitem); } newope->kxferacc = accitem->key; newope->flags |= OF_INTXFER; g_free(accname); } else { //DB ( g_print(" -> append cat: '%s'\n", item->category) ); catitem = da_cat_append_ifnew_by_fullname(gentxn->category); if( catitem != NULL ) { //ictx->cnt_new_cat += 1; newope->kcat = catitem->key; } } } //#1791656 miss tags also... if( gentxn->tags != NULL ) { g_free(newope->tags); newope->tags = tags_parse(gentxn->tags); } // splits, if not a xfer //TODO: it seems this never happen if( gentxn->paymode != OLDPAYMODE_INTXFER ) //if( !(gentxn->flags & OF_INTXFER) ) { if( gentxn->nb_splits > 0 ) { newope->splits = da_split_new(); for(nsplit=0;nsplitnb_splits;nsplit++) { GenSplit *s = &gentxn->splits[nsplit]; Split *hbs; guint32 kcat = 0; DB( g_print(" -> append split %d: '%s' '%.2f' '%s'\n", nsplit, s->category, s->amount, s->memo) ); if( s->category != NULL ) { catitem = da_cat_append_ifnew_by_fullname(s->category); if( catitem != NULL ) { kcat = catitem->key; } } //todo: remove this when no more use || hb_string_replace_char('|', s->memo); hbs = da_split_malloc (); hbs->kcat = kcat; hbs->memo = g_strdup(s->memo); hbs->amount = s->amount; da_splits_append(newope->splits, hbs); hbs = NULL; } } } newope->flags |= OF_ADDED; if( newope->amount > 0 ) newope->flags |= OF_INCOME; if( gentxn->reconciled ) newope->status = TXN_STATUS_RECONCILED; else if( gentxn->cleared ) newope->status = TXN_STATUS_CLEARED; } return newope; } void hb_import_apply(ImportContext *ictx) { GList *list, *lacc; GList *txnlist; guint32 kcommon = 0; guint changes = 0; guint nbofxtxn = 0; DB( g_print("\n[import] apply\n") ); //create accounts list = g_list_first(ictx->gen_lst_acc); while (list != NULL) { GenAcc *genacc = list->data; DB( g_print(" #1 genacc: %d %s %s => %d\n", genacc->key, genacc->name, genacc->number, genacc->kacc) ); //we do create the common account once if( (genacc->kacc == DST_ACC_GLOBAL) ) { if( kcommon == 0 ) { Account *acc = da_acc_malloc (); acc->name = g_strdup(_("imported account")); if( da_acc_append(acc) ) { kcommon = acc->key; changes++; } } genacc->kacc = kcommon; } else if( (genacc->kacc == DST_ACC_NEW) ) { Account *acc = da_acc_malloc (); acc->name = g_strdup(genacc->name); if( da_acc_append(acc) ) { acc->number = g_strdup(genacc->number); acc->initial = genacc->initial; //store the target acc key genacc->kacc = acc->key; changes++; } } list = g_list_next(list); } // also keep every transactions into a temporary list // we do this to keep a finished real txn list for detect xfer below DB( g_print(" #2 insert txn\n") ); txnlist = NULL; lacc = g_list_first(ictx->gen_lst_acc); while (lacc != NULL) { GenAcc *genacc = lacc->data; if(genacc->kacc != DST_ACC_SKIP) { list = g_list_first(ictx->gen_lst_txn); while (list != NULL) { GenTxn *gentxn = list->data; if(gentxn->kacc == genacc->key && gentxn->to_import == TRUE) { Transaction *txn, *dtxn; txn = hb_import_convert_txn(genacc, gentxn); if( txn ) { dtxn = transaction_add(NULL, txn); //perf must use preprend, see glib doc txnlist = g_list_prepend(txnlist, dtxn); da_transaction_free(txn); //#1820618 forgot to report changes count changes++; } } if( genacc->filetype == FILETYPE_OFX ) nbofxtxn++; list = g_list_next(list); } } lacc = g_list_next(lacc); } //auto from payee if( ictx->do_auto_payee == TRUE ) { DB( g_print(" call auto payee\n") ); transaction_auto_all_from_payee(txnlist); } //auto assign if( ictx->do_auto_assign == TRUE ) { DB( g_print(" call auto assign\n") ); transaction_auto_assign(txnlist, 0); } //check for ofx internal xfer if( nbofxtxn > 0 ) { DB( g_print(" call hb_import_gen_xfer_eval\n") ); hb_import_gen_xfer_eval(ictx, txnlist); } DB( g_print(" adding %d changes\n", changes) ); GLOBALS->changes_count += changes; g_list_free(txnlist); } #if MYDEBUG void _import_context_debug_file_list(ImportContext *ctx) { GList *list; g_print("\n--debug-- file list %d\n", g_list_length(ctx->gen_lst_file) ); list = g_list_first(ctx->gen_lst_file); while (list != NULL) { GenFile *item = list->data; g_print(" genfile: %d '%s' '%s'\ndf=%d invalid=%d\n", item->key, item->filepath, item->encoding, item->datefmt, item->invaliddatefmt); list = g_list_next(list); } } void _import_context_debug_acc_list(ImportContext *ctx) { GList *list; g_print("\n--debug-- acc list %d\n", g_list_length(ctx->gen_lst_acc) ); list = g_list_first(ctx->gen_lst_acc); while (list != NULL) { GenAcc *item = list->data; g_print(" genacc: %d %s %s => %d\n", item->key, item->name, item->number, item->kacc); list = g_list_next(list); } } void _import_context_debug_txn_list(ImportContext *ctx) { GList *list; g_print("\n--debug-- txn list %d\n", g_list_length(ctx->gen_lst_txn) ); list = g_list_first(ctx->gen_lst_txn); while (list != NULL) { GenTxn *item = list->data; g_print(" gentxn: (%d) %s %s (%d) %s %.2f\n", item->kfile, item->account, item->date, item->julian, item->memo, item->amount); list = g_list_next(list); } } #endif homebank-5.3.2/src/enums.h0000644000175000017500000000435213604720371012324 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_ENUMS_H__ #define __HB_ENUMS_H__ /* ** paymode pixbuf */ #define OLDPAYMODE_INTXFER 5 enum { PAYMODE_NONE, PAYMODE_CCARD, PAYMODE_CHECK, PAYMODE_CASH, PAYMODE_XFER, PAYMODE_OBSOLETEINTXFER, /* 4.1 new payments here */ PAYMODE_DCARD = 6, PAYMODE_REPEATPMT, PAYMODE_EPAYMENT, PAYMODE_DEPOSIT, PAYMODE_FEE, /* 4.6 new paymode */ PAYMODE_DIRECTDEBIT, // PAYMODE_, NUM_PAYMODE_MAX }; /* list display transaction (dsp_account) */ enum { LST_DSPOPE_STATUS = 1, /* 1 fake column */ LST_DSPOPE_DATE, /* 2 fake column */ LST_DSPOPE_INFO, /* 3 fake column */ LST_DSPOPE_PAYEE, /* 4 fake column */ LST_DSPOPE_MEMO, /* 5 fake column */ LST_DSPOPE_AMOUNT, /* 6 fake column */ LST_DSPOPE_EXPENSE, /* 7 fake column */ LST_DSPOPE_INCOME, /* 8 fake column */ LST_DSPOPE_CATEGORY,/* 9 fake column */ LST_DSPOPE_TAGS, /* 10 fake column */ LST_DSPOPE_BALANCE, /* 11 fake column */ LST_DSPOPE_CLR, /* 12 fake column */ /* here we insert account column, only used for detail */ LST_DSPOPE_ACCOUNT, /* 13 fake column : not stored */ NUM_LST_DSPOPE }; //sort for various glist enum { HB_GLIST_SORT_KEY, HB_GLIST_SORT_NAME, HB_GLIST_SORT_POS }; /* ** list pixbuf (account/transaction) *//* enum { LST_PIXBUF_ADD, LST_PIXBUF_EDIT, LST_PIXBUF_REMIND, LST_PIXBUF_VALID, LST_PIXBUF_AUTO, LST_PIXBUF_WARNING, NUM_LST_PIXBUF };*/ /* ** toolbar item type *//* enum { TOOLBAR_SEPARATOR, TOOLBAR_BUTTON, TOOLBAR_TOGGLE };*/ #endif homebank-5.3.2/src/ui-currency.c0000644000175000017500000014245513604720365013447 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "ui-currency.h" #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; extern Currency4217 iso4217cur[]; extern guint n_iso4217cur; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /** * ui_cur_combobox_get_name: * * get the name of the active curee or -1 * * Return value: a new allocated name tobe freed with g_free * */ gchar * ui_cur_combobox_get_name(GtkComboBox *entry_box) { gchar *cbname; gchar *name = NULL; cbname = (gchar *)gtk_entry_get_text(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box)))); if( cbname != NULL) { name = g_strdup(cbname); g_strstrip(name); } return name; } /** * ui_cur_combobox_get_key: * * get the key of the active curee * * Return value: the key or 0 * */ guint32 ui_cur_combobox_get_key(GtkComboBox *entry_box) { GtkTreeModel *model; GtkTreeIter iter; guint32 key = 0; if (gtk_combo_box_get_active_iter(entry_box, &iter) == TRUE) { model = gtk_combo_box_get_model(entry_box); gtk_tree_model_get (model, &iter, 1, &key, -1); } return key; } gboolean ui_cur_combobox_set_active(GtkComboBox *entry_box, guint32 key) { GtkTreeModel *model; GtkTreeIter iter; gboolean valid; guint32 cbkey; model = gtk_combo_box_get_model(entry_box); valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { gtk_tree_model_get (model, &iter, 1, &cbkey, -1); if(cbkey == key) break; valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } gtk_combo_box_set_active_iter(entry_box, &iter); return FALSE; } /** * ui_cur_combobox_add: * * Add a single element (useful for dynamics add) * * Return value: -- * */ void ui_cur_combobox_add(GtkComboBox *entry_box, Currency *cur) { if( cur->name != NULL ) { GtkTreeModel *model; GtkTreeIter iter; model = gtk_combo_box_get_model(GTK_COMBO_BOX(entry_box)); gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, 0, cur->name, 1, cur->key, -1); } } static void ui_cur_combobox_populate_ghfunc(gpointer key, gpointer value, struct curPopContext *ctx) { GtkTreeIter iter; Currency *cur = value; if( ( cur->key != ctx->except_key ) ) { gtk_list_store_append (GTK_LIST_STORE(ctx->model), &iter); gtk_list_store_set (GTK_LIST_STORE(ctx->model), &iter, 0, cur->name, 1, cur->key, -1); } } void ui_cur_combobox_populate_except(GtkComboBox *entry_box, GHashTable *hash, guint32 except_key) { GtkTreeModel *model; struct curPopContext ctx; DB( g_print ("ui_cur_combobox_populate\n") ); model = gtk_combo_box_get_model(GTK_COMBO_BOX(entry_box)); /* keep our model alive and detach from combobox and completion */ g_object_ref(model); gtk_combo_box_set_model(GTK_COMBO_BOX(entry_box), NULL); /* clear and populate */ ctx.model = model; ctx.except_key = except_key; gtk_list_store_clear (GTK_LIST_STORE(model)); g_hash_table_foreach(hash, (GHFunc)ui_cur_combobox_populate_ghfunc, &ctx); /* reatach our model */ gtk_combo_box_set_model(GTK_COMBO_BOX(entry_box), model); g_object_unref(model); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(model), GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING); } /** * ui_cur_combobox_populate: * * Populate the list and completion * * Return value: -- * */ void ui_cur_combobox_populate(GtkComboBox *entry_box, GHashTable *hash) { ui_cur_combobox_populate_except(entry_box, hash, -1); } static gint ui_cur_combobox_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { gint ret = 0; gchar *name1, *name2; gtk_tree_model_get(model, a, 0, &name1, -1); gtk_tree_model_get(model, b, 0, &name2, -1); if (name1 == NULL || name2 == NULL) { if (name1 == NULL && name2 == NULL) goto end; ret = (name1 == NULL) ? -1 : 1; } else { ret = g_utf8_collate(name1,name2); } end: g_free(name1); g_free(name2); return ret; } static void ui_cur_combobox_test (GtkCellLayout *cell_layout, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data) { gchar *name; gtk_tree_model_get(tree_model, iter, 0, &name, -1); if( !name ) g_object_set(cell, "text", _("(none)"), NULL); else g_object_set(cell, "text", name, NULL); //leak g_free(name); } /** * ui_cur_combobox_new: * * Create a new curee combobox * * Return value: the new widget * */ GtkWidget * ui_cur_combobox_new(GtkWidget *label) { GtkListStore *store; GtkWidget *combobox; GtkCellRenderer *renderer; store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_INT ); gtk_tree_sortable_set_default_sort_func(GTK_TREE_SORTABLE(store), ui_cur_combobox_compare_func, NULL, NULL); // dothe same for combobox combobox = gtk_combo_box_new_with_model(GTK_TREE_MODEL(store)); gtk_cell_layout_clear(GTK_CELL_LAYOUT (combobox)); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combobox), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combobox), renderer, "text", 0, NULL); gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (combobox), renderer, ui_cur_combobox_test, NULL, NULL); g_object_unref(store); if(label) gtk_label_set_mnemonic_widget (GTK_LABEL(label), combobox); gtk_widget_set_size_request (combobox, 10, -1); return combobox; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void ui_cur_listview_toggled_cb (GtkCellRendererToggle *cell, gchar *path_str, gpointer data) { GtkTreeModel *model = (GtkTreeModel *)data; GtkTreeIter iter; GtkTreePath *path = gtk_tree_path_new_from_string (path_str); gboolean fixed; /* get toggled iter */ gtk_tree_model_get_iter (model, &iter, path); gtk_tree_model_get (model, &iter, LST_DEFCUR_TOGGLE, &fixed, -1); /* do something with the value */ fixed ^= 1; /* set new value */ gtk_list_store_set (GTK_LIST_STORE (model), &iter, LST_DEFCUR_TOGGLE, fixed, -1); /* clean up */ gtk_tree_path_free (path); } static gint ui_cur_listview_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { gint result = 0; Currency *entry1, *entry2; gchar *name1, *name2; gtk_tree_model_get(model, a, LST_DEFCUR_DATAS, &entry1, -1); gtk_tree_model_get(model, b, LST_DEFCUR_DATAS, &entry2, -1); name1 = (entry1->key == GLOBALS->kcur) ? NULL : entry1->iso_code; name2 = (entry2->key == GLOBALS->kcur) ? NULL : entry2->iso_code; result = hb_string_compare(name1,name2); return result; } static void ui_cur_listview_name_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Currency *entry; gchar *string; gint weight; gtk_tree_model_get(model, iter, LST_DEFCUR_DATAS, &entry, -1); weight = entry->key == GLOBALS->kcur ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL; #if MYDEBUG if( entry->key == GLOBALS->kcur ) string = g_strdup_printf ("[%d] %s - %s\n(%s)", entry->key, entry->iso_code, entry->name, _("Base currency")); else string = g_strdup_printf ("[%d] %s - %s", entry->key, entry->iso_code, entry->name); g_object_set(renderer, "weight", weight, "markup", string, NULL); g_free(string); #else if( entry->key == GLOBALS->kcur ) string = g_strdup_printf ("%s - %s\n(%s)", entry->iso_code, entry->name, _("Base currency")); else string = g_strdup_printf ("%s - %s", entry->iso_code, entry->name); g_object_set(renderer, "weight", weight, "markup", string, NULL); g_free(string); #endif } static void ui_cur_listview_symbol_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Currency *entry; gint weight; gtk_tree_model_get(model, iter, LST_DEFCUR_DATAS, &entry, -1); weight = entry->key == GLOBALS->kcur ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL; g_object_set(renderer, "weight", weight, "text", entry->symbol, NULL); } static void ui_cur_listview_lastmodified_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Currency *entry; gchar buffer[256]; GDate date; gint weight; gtk_tree_model_get(model, iter, LST_DEFCUR_DATAS, &entry, -1); weight = entry->key == GLOBALS->kcur ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL; if(entry->mdate > 0) { g_date_set_julian (&date, entry->mdate); g_date_strftime (buffer, 256-1, PREFS->date_format, &date); //g_snprintf(buf, sizeof(buf), "%d", ope->ope_Date); g_object_set(renderer, "weight", weight, "text", buffer, NULL); } else g_object_set(renderer, "weight", weight, "text", "-", NULL); } static void ui_cur_listview_rate_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Currency *entry; gchar formatd_buf[G_ASCII_DTOSTR_BUF_SIZE]; gtk_tree_model_get(model, iter, LST_DEFCUR_DATAS, &entry, -1); if(entry->key == GLOBALS->kcur) g_object_set(renderer, "text", "-", NULL); else { //g_ascii_formatd(formatd_buf, sizeof (formatd_buf), "%.6f", entry->rate); //g_snprintf(formatd_buf, sizeof (formatd_buf), "%f", entry->rate); hb_str_rate(formatd_buf, sizeof (formatd_buf), entry->rate); g_object_set(renderer, "text", formatd_buf, NULL); } } /* = = = = = = = = = = = = = = = = */ void ui_cur_listview_add(GtkTreeView *treeview, Currency *item) { if( item->name != NULL ) { GtkTreeModel *model; GtkTreeIter iter; model = gtk_tree_view_get_model(treeview); gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, LST_DEFCUR_TOGGLE, FALSE, LST_DEFCUR_DATAS, item, -1); } } guint32 ui_cur_listview_get_selected_key(GtkTreeView *treeview) { GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; selection = gtk_tree_view_get_selection(treeview); if (gtk_tree_selection_get_selected(selection, &model, &iter)) { Currency *item; gtk_tree_model_get(model, &iter, LST_DEFCUR_DATAS, &item, -1); if( item != NULL ) return item->key; } return 0; } void ui_cur_listview_remove_selected(GtkTreeView *treeview) { GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; selection = gtk_tree_view_get_selection(treeview); if (gtk_tree_selection_get_selected(selection, &model, &iter)) { gtk_list_store_remove(GTK_LIST_STORE(model), &iter); } } static void ui_cur_listview_populate_ghfunc(gpointer key, gpointer value, GtkTreeModel *model) { GtkTreeIter iter; Currency *item = value; gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, LST_DEFCUR_TOGGLE , FALSE, LST_DEFCUR_DATAS, item, -1); } void ui_cur_listview_populate(GtkWidget *view) { GtkTreeModel *model; model = gtk_tree_view_get_model(GTK_TREE_VIEW(view)); gtk_list_store_clear (GTK_LIST_STORE(model)); g_object_ref(model); /* Make sure the model stays with us after the tree view unrefs it */ gtk_tree_view_set_model(GTK_TREE_VIEW(view), NULL); /* Detach model from view */ /* populate */ g_hash_table_foreach(GLOBALS->h_cur, (GHFunc)ui_cur_listview_populate_ghfunc, model); gtk_tree_view_set_model(GTK_TREE_VIEW(view), model); /* Re-attach model to view */ g_object_unref(model); } /* test */ /* static void ui_cur_listivew_rate_edited_func (GtkCellRendererText *cell, const gchar *path_string, const gchar *new_text, gpointer data) { GtkTreeModel *model = (GtkTreeModel *)data; GtkTreePath *path = gtk_tree_path_new_from_string (path_string); GtkTreeIter iter; g_print("cell edited '%s' path %s\n", new_text, path_string); gint column = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (cell), "column")); gtk_tree_model_get_iter (model, &iter, path); Currency *item; gtk_tree_model_get(model, &iter, LST_DEFCUR_DATAS, &item, -1); item->rate = atof(new_text); GLOBALS->changes_count++; gtk_tree_path_free (path); } */ GtkWidget * ui_cur_listview_new(gboolean withtoggle) { GtkListStore *store; GtkWidget *treeview; GtkCellRenderer *renderer; GtkTreeViewColumn *column; // create list store store = gtk_list_store_new( NUM_LST_DEFCUR, G_TYPE_BOOLEAN, G_TYPE_POINTER ); // treeview treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); g_object_unref(store); // column 1: toggle if( withtoggle == TRUE ) { renderer = gtk_cell_renderer_toggle_new (); column = gtk_tree_view_column_new_with_attributes (_("Visible"), renderer, "active", LST_DEFCUR_TOGGLE, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); g_signal_connect (renderer, "toggled", G_CALLBACK (ui_cur_listview_toggled_cb), store); } gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (treeview), PREFS->grid_lines); // column 1: name renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Name")); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_cur_listview_name_cell_data_function, GINT_TO_POINTER(LST_DEFCUR_DATAS), NULL); gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // column 2: code renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 0.5, NULL); column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Symbol")); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_cur_listview_symbol_cell_data_function, GINT_TO_POINTER(LST_DEFCUR_DATAS), NULL); gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // column 3: base rate renderer = gtk_cell_renderer_text_new (); //g_object_set (renderer, "editable", TRUE, NULL); g_object_set(renderer, "xalign", 1.0, NULL); column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Exchange rate")); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_cur_listview_rate_cell_data_function, GINT_TO_POINTER(LST_DEFCUR_DATAS), NULL); gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); //g_signal_connect (renderer, "edited", G_CALLBACK (ui_cur_listivew_rate_edited_func), GTK_TREE_MODEL(store)); // column 4: last modified renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 0.5, NULL); column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Last modified")); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_cur_listview_lastmodified_cell_data_function, GINT_TO_POINTER(LST_DEFCUR_DATAS), NULL); gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // treeview attribute gtk_tree_view_set_search_column(GTK_TREE_VIEW(treeview), 1); //gtk_tree_view_set_headers_visible (GTK_TREE_VIEW(treeview), TRUE); //gtk_tree_view_set_reorderable (GTK_TREE_VIEW(view), TRUE); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DEFCUR_DATAS, ui_cur_listview_compare_func, NULL, NULL); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), LST_DEFCUR_DATAS, GTK_SORT_ASCENDING); return treeview; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /* ** update the number sample label */ static void ui_cur_edit_dialog_update_sample(GtkWidget *widget, gpointer user_data) { struct ui_cur_edit_dialog_data *data; Currency cur; gchar formatd_buf[G_ASCII_DTOSTR_BUF_SIZE]; gchar buf[128]; DB( g_printf("[ui_cur_edit] update sample\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); cur.symbol = (gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_symbol)); cur.sym_prefix = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_symisprefix)); cur.decimal_char = (gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_decimalchar)); cur.grouping_char = (gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_groupingchar)); cur.frac_digits = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->NB_fracdigits)); da_cur_initformat (&cur); DB( g_print("fmt: %s\n", cur.format) ); g_ascii_formatd(formatd_buf, sizeof (formatd_buf), cur.format, HB_NUMBER_SAMPLE); hb_str_formatd(buf, 127, formatd_buf, &cur, TRUE); gtk_label_set_text(GTK_LABEL(data->LB_sample), buf); } static void ui_cur_edit_dialog_set(GtkWidget *widget, Currency *cur) { struct ui_cur_edit_dialog_data *data; Currency *base; gchar formatd_buf[G_ASCII_DTOSTR_BUF_SIZE]; gchar label[128]; DB( g_printf("[ui_cur_edit] set\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); g_snprintf(label, 127, "%s - %s", cur->iso_code, cur->name); gtk_label_set_text (GTK_LABEL(data->LB_name), label); base = da_cur_get(GLOBALS->kcur); g_snprintf(label, 127, "1 %s _=", base->iso_code); gtk_label_set_text_with_mnemonic (GTK_LABEL(data->LB_rate), label); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->NB_rate), cur->rate); da_cur_initformat(cur); g_ascii_formatd(formatd_buf, sizeof (formatd_buf), cur->format, HB_NUMBER_SAMPLE); hb_str_formatd(label, 127, formatd_buf, cur, TRUE); gtk_label_set_text (GTK_LABEL(data->LB_sample), label); hbtk_entry_set_text(GTK_ENTRY(data->ST_symbol), cur->symbol); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_symisprefix), cur->sym_prefix); hbtk_entry_set_text(GTK_ENTRY(data->ST_decimalchar), cur->decimal_char); hbtk_entry_set_text(GTK_ENTRY(data->ST_groupingchar), cur->grouping_char); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->NB_fracdigits), cur->frac_digits); } static void ui_cur_edit_dialog_get(GtkWidget *widget, Currency *cur) { struct ui_cur_edit_dialog_data *data; gdouble rate; DB( g_printf("[ui_cur_edit] get\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); hbtk_entry_replace_text(GTK_ENTRY(data->ST_symbol), &cur->symbol); cur->sym_prefix = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_symisprefix)); hbtk_entry_replace_text(GTK_ENTRY(data->ST_decimalchar), &cur->decimal_char); hbtk_entry_replace_text(GTK_ENTRY(data->ST_groupingchar), &cur->grouping_char); cur->frac_digits = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->NB_fracdigits)); da_cur_initformat(cur); rate = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->NB_rate)); if(cur->rate != rate) { cur->rate = rate; cur->mdate = GLOBALS->today; } } void ui_cur_edit_dialog_new(GtkWindow *parent, Currency *cur) { struct ui_cur_edit_dialog_data *data; GtkWidget *dialog, *content_area, *content_grid, *group_grid; GtkWidget *label, *widget, *expander; gint crow, row; data = g_malloc0(sizeof(struct ui_cur_edit_dialog_data)); if(!data) return; dialog = gtk_dialog_new_with_buttons ( _("Edit currency"), GTK_WINDOW (parent), 0, _("_Cancel"), GTK_RESPONSE_REJECT, _("_OK"), GTK_RESPONSE_ACCEPT, NULL); data->dialog = dialog; //store our dialog private data g_object_set_data(G_OBJECT(dialog), "inst_data", (gpointer)data); DB( g_printf("[ui_cur_edit] new dialog=%p, inst_data=%p\n", dialog, data) ); content_area = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); // return a vbox content_grid = gtk_grid_new(); gtk_grid_set_row_spacing (GTK_GRID (content_grid), SPACING_LARGE); gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL); gtk_container_set_border_width (GTK_CONTAINER(content_grid), SPACING_MEDIUM); gtk_box_pack_start (GTK_BOX (content_area), content_grid, TRUE, TRUE, 0); crow = 0; // group :: Currency group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("Currency")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; widget = make_label(NULL, 0, 0.5); data->LB_name = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1); // group :: exchange group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("Exchange rate")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; label = make_label(NULL, 0, 0.5); data->LB_rate = label; gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_exchange_rate(label); data->NB_rate = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); gtk_widget_set_sensitive(group_grid, (GLOBALS->kcur == cur->key) ? FALSE : TRUE); // group :: format group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("Format")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row++; widget = make_label(NULL, 0, 0.5); data->LB_sample = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1); row++; expander = gtk_expander_new_with_mnemonic (_("_Customize")); gtk_grid_attach (GTK_GRID (group_grid), expander, 1, row, 2, 1); group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_container_add (GTK_CONTAINER (expander), group_grid); row = 1; label = make_label_widget(_("_Symbol:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_string_maxlength(label, 3); data->ST_symbol = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Is pre_fix")); data->CM_symisprefix = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; label = make_label_widget(_("_Decimal char:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_string_maxlength(label, 1); data->ST_decimalchar = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; label = make_label_widget(_("_Frac digits:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_numeric(label, 0.0, 8.0); data->NB_fracdigits = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; label = make_label_widget(_("_Grouping char:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_string_maxlength(label, 1); data->ST_groupingchar = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); //gtk_window_resize(GTK_WINDOW(dialog), 400/PHI, 400); ui_cur_edit_dialog_set(dialog, cur); gtk_widget_show_all(content_area); //signals g_signal_connect (data->ST_symbol , "changed", G_CALLBACK (ui_cur_edit_dialog_update_sample), NULL); g_signal_connect (data->CM_symisprefix, "toggled", G_CALLBACK (ui_cur_edit_dialog_update_sample), NULL); g_signal_connect (data->ST_decimalchar , "changed", G_CALLBACK (ui_cur_edit_dialog_update_sample), NULL); g_signal_connect (data->ST_groupingchar, "changed", G_CALLBACK (ui_cur_edit_dialog_update_sample), NULL); g_signal_connect (data->NB_fracdigits, "value-changed", G_CALLBACK (ui_cur_edit_dialog_update_sample), NULL); // wait for the user gint result = gtk_dialog_run (GTK_DIALOG (dialog)); if(result == GTK_RESPONSE_ACCEPT) { ui_cur_edit_dialog_get(dialog, cur); } // cleanup and destroy gtk_widget_destroy (dialog); g_free(data); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ enum { LST_CURSEL_NAME, LST_CURSEL_ISO, LST_CURSEL_FULLNAME, LST_CURSEL_DATA, NUM_LST_CURSEL }; static void ui_cur_select_rowactivated (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *col, gpointer userdata) { struct ui_cur_select_dialog_data *data = userdata; gtk_dialog_response(GTK_DIALOG(data->dialog), GTK_RESPONSE_ACCEPT); } static GtkTreeModel *ui_cur_select_model_create (void) { guint i = 0; GtkListStore *store; GtkTreeIter iter; Currency4217 *cur; gchar buffer[255]; /* create list store */ store = gtk_list_store_new (NUM_LST_CURSEL, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER, NULL ); for (i = 0; i< n_iso4217cur; i++) { cur = &iso4217cur[i]; g_snprintf(buffer, 255-1, "%s - %s", cur->curr_iso_code, cur->name); gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, LST_CURSEL_NAME, cur->name, LST_CURSEL_ISO, cur->curr_iso_code, LST_CURSEL_FULLNAME, buffer, LST_CURSEL_DATA, cur, -1); } return GTK_TREE_MODEL (store); } static Currency4217 *ui_cur_select_dialog_get_langue(struct ui_cur_select_dialog_data *data) { GtkTreeSelection *treeselection; gboolean selected; GtkTreeModel *model; GtkTreeIter iter; Currency4217 *curfmt = NULL; DB( g_printf("\n[ui_cur_select] get langue\n") ); treeselection = gtk_tree_view_get_selection (GTK_TREE_VIEW(data->LV_cur)); selected = gtk_tree_selection_get_selected(treeselection, &model, &iter); if(selected) { gtk_tree_model_get(model, &iter, LST_CURSEL_DATA, &curfmt, -1); DB( g_printf(" - iso is '%s'\n", curfmt->curr_iso_code) ); } return curfmt; } static void ui_cur_select_search_changed_cb (GtkWidget *widget, gpointer user_data) { struct ui_cur_select_dialog_data *data = user_data; DB( g_printf("\n[ui_cur_select] search changed\n") ); gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(data->modelfilter)); } /* valid iso is empoty or 3 capital digit */ static guint currency_iso_code_valid(gchar *str) { guint n = 0; while( *str ) { if( *str >= 'A' && *str <= 'Z' ) n++; str++; } return n; } static void ui_cur_select_custom_validate_cb(GtkWidget *widget, gpointer user_data) { struct ui_cur_select_dialog_data *data = user_data; gboolean custom; gboolean valid = TRUE; const gchar *iso, *name; guint len; DB( g_printf("\n[ui_cur_select] custom validate\n") ); custom = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(data->CM_custom)); DB( g_print(" custom=%d\n", custom) ); //custom if( custom == TRUE ) { valid = FALSE; name = gtk_entry_get_text (GTK_ENTRY (data->ST_custname)); iso = gtk_entry_get_text (GTK_ENTRY (data->ST_custiso)); len = currency_iso_code_valid((gchar *)iso); DB( g_print(" name='%d', iso='%d'\n", (gint)strlen(name), len) ); if( (len==0 || len==3) && (strlen(name) >= 3 ) ) { valid = TRUE; // don't allow to enter stand 4217 iso code if( len == 3 ) { Currency4217 *stdcur = iso4217format_get((gchar *)iso); if(stdcur != NULL) valid = FALSE; } } } gtk_dialog_set_response_sensitive(GTK_DIALOG(data->dialog), GTK_RESPONSE_ACCEPT, valid); } static void ui_cur_select_custom_activate_cb(GtkWidget *widget, gpointer user_data) { struct ui_cur_select_dialog_data *data = user_data; gboolean custom; DB( g_printf("\n[ui_cur_select] custom activate\n") ); custom = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(data->CM_custom)); DB( g_print(" custom=%d\n", custom) ); gtk_widget_set_sensitive(data->ST_search, !custom); gtk_widget_set_sensitive(data->LV_cur, !custom); hb_widget_visible (data->LB_custname, custom); hb_widget_visible (data->ST_custname, custom); hb_widget_visible (data->LB_custiso, custom); hb_widget_visible (data->ST_custiso, custom); if(custom) { gtk_tree_selection_unselect_all(gtk_tree_view_get_selection (GTK_TREE_VIEW(data->LV_cur))); gtk_window_set_focus(GTK_WINDOW(data->dialog), data->ST_custname); } ui_cur_select_custom_validate_cb(data->dialog, data); } static gboolean ui_cur_select_model_func_visible (GtkTreeModel *model, GtkTreeIter *iter, gpointer data) { // Visible if row is non-empty and first column is “HI” gchar *str; gboolean visible = TRUE; GtkEntry *entry = data; if(!GTK_IS_ENTRY(entry)) return TRUE; gchar *needle = g_ascii_strdown(gtk_entry_get_text(entry), -1); gtk_tree_model_get (model, iter, LST_CURSEL_FULLNAME, &str, -1); gchar *haystack = g_ascii_strdown(str, -1); if (str && g_strrstr (haystack, needle) == NULL) { visible = FALSE; } DB( g_print("filter: '%s' '%s' %d\n", str, needle, visible) ); g_free(haystack); g_free(needle); g_free (str); return visible; } gint ui_cur_select_dialog_new(GtkWindow *parent, gint select_mode, struct curSelectContext *ctx) { struct ui_cur_select_dialog_data *data; GtkWidget *dialog, *content_area, *content_grid, *group_grid; GtkWidget *scrollwin, *treeview, *label, *widget; gint crow, row; data = g_malloc0(sizeof(struct ui_cur_select_dialog_data)); if(!data) return 0; dialog = gtk_dialog_new_with_buttons ( (select_mode == CUR_SELECT_MODE_BASE) ? _("Select base currency") : _("Select currency"), GTK_WINDOW (parent), 0, _("_Cancel"), GTK_RESPONSE_REJECT, _("_OK"), GTK_RESPONSE_ACCEPT, NULL); data->dialog = dialog; //store our dialog private data g_object_set_data(G_OBJECT(dialog), "inst_data", (gpointer)data); DB( g_printf("\n[ui_cur_select] new dialog=%p, inst_data=%p\n", dialog, data) ); content_area = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); // return a vbox content_grid = gtk_grid_new(); gtk_grid_set_row_spacing (GTK_GRID (content_grid), SPACING_LARGE); gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL); gtk_container_set_border_width (GTK_CONTAINER(content_grid), SPACING_MEDIUM); gtk_box_pack_start (GTK_BOX (content_area), content_grid, TRUE, TRUE, 0); crow = 0; // group :: Search group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); row = 0; widget = make_search(); data->ST_search = widget; gtk_widget_set_hexpand (widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 4, 1); row++; scrollwin = gtk_scrolled_window_new(NULL,NULL); gtk_grid_attach (GTK_GRID (group_grid), scrollwin, 1, row, 4, 1); gtk_widget_set_vexpand (scrollwin, TRUE); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); //test treefilter data->model = ui_cur_select_model_create(); data->modelfilter = gtk_tree_model_filter_new(GTK_TREE_MODEL(data->model), NULL); gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(data->modelfilter), ui_cur_select_model_func_visible, data->ST_search, NULL); data->sortmodel = gtk_tree_model_sort_new_with_model(data->modelfilter); //treeview treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL(data->sortmodel)); data->LV_cur = treeview; //gtk_tree_view_set_search_column (GTK_TREE_VIEW (treeview), LST_CURSEL_NAME); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(data->sortmodel), LST_CURSEL_NAME, GTK_SORT_ASCENDING); //g_object_unref (model); gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (treeview), PREFS->grid_lines); gtk_container_add(GTK_CONTAINER(scrollwin), treeview); // populate list GtkCellRenderer *renderer; GtkTreeViewColumn *column; renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes (_("Name"), renderer, "text", LST_CURSEL_NAME, NULL); gtk_tree_view_column_set_sort_column_id (column, LST_CURSEL_NAME); gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes (_("ISO Code"), renderer, "text", LST_CURSEL_ISO, NULL); gtk_tree_view_column_set_sort_column_id (column, LST_CURSEL_ISO); gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); if( select_mode == CUR_SELECT_MODE_NORMAL ) { // group :: Custom row++; widget = gtk_check_button_new_with_mnemonic (_("Add a custom _currency")); data->CM_custom = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 4, 1); //custom currency (crypto and discontinued) row++; label = make_label_widget(_("_Name:")); data->LB_custname = label; gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_string(label); data->ST_custname = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); label = make_label_widget(_("_ISO:")); data->LB_custiso = label; gtk_grid_attach (GTK_GRID (group_grid), label, 3, row, 1, 1); widget = make_string_maxlength(label, 3); data->ST_custiso = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 4, row, 1, 1); g_signal_connect (G_OBJECT (data->CM_custom) , "toggled", G_CALLBACK (ui_cur_select_custom_activate_cb), data); g_signal_connect (G_OBJECT (data->ST_custname), "changed", G_CALLBACK (ui_cur_select_custom_validate_cb), data); g_signal_connect (G_OBJECT (data->ST_custiso) , "changed", G_CALLBACK (ui_cur_select_custom_validate_cb), data); } gtk_window_resize(GTK_WINDOW(dialog), 400/PHI, 400); gtk_widget_show_all(content_area); hb_widget_visible (data->LB_custname, FALSE); hb_widget_visible (data->ST_custname, FALSE); hb_widget_visible (data->LB_custiso, FALSE); hb_widget_visible (data->ST_custiso, FALSE); // signals g_signal_connect (G_OBJECT(data->ST_search), "search-changed", G_CALLBACK (ui_cur_select_search_changed_cb), data); g_signal_connect (G_OBJECT(data->LV_cur), "row-activated", G_CALLBACK (ui_cur_select_rowactivated), data); //init picker struct memset(ctx, 0, sizeof(struct curSelectContext)); // wait for the user gint result = gtk_dialog_run (GTK_DIALOG (dialog)); if(result == GTK_RESPONSE_ACCEPT) { gboolean custom; custom = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(data->CM_custom)); if(!custom) { ctx->cur_4217 = ui_cur_select_dialog_get_langue(data); } else //never fill custom in base mode if( select_mode != CUR_SELECT_MODE_BASE ) { ctx->cur_name = g_strdup(gtk_entry_get_text (GTK_ENTRY(data->ST_custname))); ctx->cur_iso = g_strdup(gtk_entry_get_text (GTK_ENTRY(data->ST_custiso))); } } // cleanup and destroy gtk_widget_destroy (dialog); g_free(data); return result; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ gint ui_cur_manage_dialog_update_currencies(GtkWindow *parent) { GError *error = NULL; gboolean retcode = FALSE; DB( g_printf("\n[ui_cur_manage] update currencies\n") ); // do nothing if just the base currency if(da_cur_length() <= 1) return TRUE; retcode = currency_online_sync(&error); DB( g_print("retcode: %d\n", retcode) ); if(!retcode) { gchar *msg = _("Unknown error"); if( error ) msg = error->message; g_warning("update online: '%s'", msg); ui_dialog_msg_infoerror(GTK_WINDOW(parent), GTK_MESSAGE_ERROR, _("Update online error"), msg, NULL ); if( error ) g_error_free (error); } return retcode; } static void ui_cur_manage_dialog_sync(GtkWidget *widget, gpointer user_data) { struct ui_cur_manage_dialog_data *data; gboolean retcode; DB( g_printf("\n[ui_cur_manage] sync online\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); retcode = ui_cur_manage_dialog_update_currencies(GTK_WINDOW(data->dialog)); if(retcode == TRUE) { gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_cur)); //todo: (or not) msg with changes } } /* ** */ static void ui_cur_manage_dialog_update(GtkWidget *treeview, gpointer user_data) { struct ui_cur_manage_dialog_data *data; GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; Currency *item; gboolean sensitive; DB( g_printf("\n[ui_cur_manage] update\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(treeview), GTK_TYPE_WINDOW)), "inst_data"); sensitive = da_cur_length() <= 1 ? FALSE : TRUE; gtk_widget_set_sensitive (data->BB_update, sensitive); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_cur)); //if true there is a selected node if (gtk_tree_selection_get_selected(selection, &model, &iter)) { gtk_tree_model_get(model, &iter, LST_DEFCUR_DATAS, &item, -1); gtk_widget_set_sensitive(data->BT_edit, TRUE); sensitive = !(currency_is_used(item->key)); //gtk_widget_set_sensitive(data->BT_mov, sensitive); //gtk_widget_set_sensitive(data->BT_mod, sensitive); gtk_widget_set_sensitive(data->BT_del, sensitive); //disable set as base on actual base currency //disable on custom currency sensitive = TRUE; if( (item->key == GLOBALS->kcur) || (item->flags & CF_CUSTOM) ) sensitive = FALSE; gtk_widget_set_sensitive(data->BT_base, sensitive); } else { gtk_widget_set_sensitive(data->BT_edit, FALSE); gtk_widget_set_sensitive(data->BT_del , FALSE); gtk_widget_set_sensitive(data->BT_base, FALSE); } } /** * ui_cur_manage_dialog_add: * */ static void ui_cur_manage_dialog_add(GtkWidget *widget, gpointer user_data) { struct ui_cur_manage_dialog_data *data; struct curSelectContext selectCtx; gint result; gboolean added; DB( g_printf("\n[ui_cur_manage] add\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); result = ui_cur_select_dialog_new(GTK_WINDOW(data->dialog), CUR_SELECT_MODE_NORMAL, &selectCtx); if( result == GTK_RESPONSE_ACCEPT ) { Currency *item = NULL; added = FALSE; if( selectCtx.cur_4217 != NULL ) { Currency4217 *curfmt; curfmt = selectCtx.cur_4217; DB( g_printf("- user selected: '%s' '%s'\n", curfmt->curr_iso_code, curfmt->name) ); item = da_cur_get_by_iso_code(curfmt->curr_iso_code); if( item == NULL ) { item = currency_add_from_user(curfmt); added = TRUE; } } else { DB( g_printf("- user custom: '%s' '%s'\n", selectCtx.cur_iso, selectCtx.cur_name) ); item = da_cur_malloc (); item->flags |= CF_CUSTOM; item->name = g_strdup(selectCtx.cur_name); item->iso_code = g_strdup(selectCtx.cur_iso); item->symbol = g_strdup(item->iso_code); item->frac_digits = 2; item->sym_prefix = FALSE; item->decimal_char = g_strdup("."); item->grouping_char = NULL; added = da_cur_append(item); if( !added ) { //not append (duplicate) da_cur_free (item); item = NULL; } g_free(selectCtx.cur_iso); g_free(selectCtx.cur_name); } if( added ) { ui_cur_listview_add(GTK_TREE_VIEW(data->LV_cur), item); gtk_tree_sortable_sort_column_changed(GTK_TREE_SORTABLE(gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_cur)))); ui_cur_manage_dialog_update (widget, user_data); GLOBALS->changes_count++; } } } static void ui_cur_manage_dialog_modify(GtkWidget *widget, gpointer user_data) { struct ui_cur_manage_dialog_data *data; GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; DB( g_printf("\n[ui_cur_manage] modify\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_cur)); if (gtk_tree_selection_get_selected(selection, &model, &iter)) { Currency *item; gtk_tree_model_get(model, &iter, LST_DEFCUR_DATAS, &item, -1); if( item!= NULL ) { ui_cur_edit_dialog_new(GTK_WINDOW(data->dialog), item); GLOBALS->changes_count++; } } } /* ** delete the selected curee to our treeview and temp GList */ static void ui_cur_manage_dialog_delete(GtkWidget *widget, gpointer user_data) { struct ui_cur_manage_dialog_data *data; guint32 key; gboolean do_delete, result; DB( g_printf("\n[ui_cur_manage] delete\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); do_delete = TRUE; key = ui_cur_listview_get_selected_key(GTK_TREE_VIEW(data->LV_cur)); if( key > 0 ) { Currency *cur; gchar *title; gchar *secondtext; if( currency_is_used(key) == TRUE ) { do_delete = FALSE; } else { cur = da_cur_get(key); title = g_strdup_printf ( _("Are you sure you want to permanently delete '%s'?"), cur->name); secondtext = _("If you delete a currency, it will be permanently lost."); result = ui_dialog_msg_confirm_alert( GTK_WINDOW(data->dialog), title, secondtext, _("_Delete") ); g_free(title); do_delete = (result == GTK_RESPONSE_OK) ? TRUE :FALSE; } if( do_delete ) { ui_cur_listview_remove_selected(GTK_TREE_VIEW(data->LV_cur)); da_cur_delete(key); ui_cur_manage_dialog_update (widget, user_data); data->change++; } } } /* ** button callback: set base currency */ static void ui_cur_manage_dialog_setbase(GtkWidget *widget, gpointer user_data) { struct ui_cur_manage_dialog_data *data; guint32 key; gboolean do_change; DB( g_printf("\n[ui_cur_manage] setbase\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); key = ui_cur_listview_get_selected_key(GTK_TREE_VIEW(data->LV_cur)); if( key > 0 ) { do_change = ui_dialog_msg_question( GTK_WINDOW(data->dialog), _("Change the base currency"), _("If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it"), NULL ); if(do_change == GTK_RESPONSE_YES) { hbfile_change_basecurrency(key); gtk_tree_view_columns_autosize(GTK_TREE_VIEW(data->LV_cur)); } } } /* ** */ static void ui_cur_manage_dialog_selection(GtkTreeSelection *treeselection, gpointer user_data) { ui_cur_manage_dialog_update(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), NULL); } static void ui_cur_manage_dialog_onRowActivated (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *col, gpointer userdata) { //model = gtk_tree_view_get_model(treeview); //gtk_tree_model_get_iter_first(model, &iter); //if(gtk_tree_selection_iter_is_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)), &iter) == FALSE) //{ ui_cur_manage_dialog_modify(GTK_WIDGET(treeview), NULL); //} } /* ** */ static void ui_cur_manage_dialog_setup(struct ui_cur_manage_dialog_data *data) { DB( g_printf("\n[ui_cur_manage] setup\n") ); ui_cur_listview_populate(data->LV_cur); //ui_cur_combobox_populate(data->CY_curr, GLOBALS->h_cur); //ui_cur_combobox_set_active(GTK_COMBO_BOX(data->CY_curr), GLOBALS->kcur); } /* ** */ GtkWidget *ui_cur_manage_dialog (void) { struct ui_cur_manage_dialog_data *data; GtkWidget *dialog, *content_area, *content_grid, *group_grid, *vbox, *bbox, *tbar; GtkWidget *widget, *scrollwin, *treeview; GtkToolItem *toolitem; gint crow, row, w, h; data = g_malloc0(sizeof(struct ui_cur_manage_dialog_data)); if(!data) return NULL; dialog = gtk_dialog_new_with_buttons (_("Currencies"), GTK_WINDOW(GLOBALS->mainwindow), 0, _("_Close"), GTK_RESPONSE_ACCEPT, NULL); data->dialog = dialog; data->change = 0; //set the dialog icon gtk_window_set_icon_name(GTK_WINDOW (dialog), ICONNAME_HB_CURRENCY); //set a nice dialog size gtk_window_get_size(GTK_WINDOW(GLOBALS->mainwindow), &w, &h); gtk_window_set_default_size (GTK_WINDOW(dialog), -1, h/PHI); //store our window private data g_object_set_data(G_OBJECT(dialog), "inst_data", (gpointer)data); DB( g_printf("[ui_cur_manage] new dialog=%p, inst_data=%p\n", dialog, data) ); g_signal_connect (dialog, "destroy", G_CALLBACK (gtk_widget_destroyed), &dialog); content_area = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); // return a vbox content_grid = gtk_grid_new(); gtk_grid_set_row_spacing (GTK_GRID (content_grid), SPACING_LARGE); gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL); gtk_container_set_border_width (GTK_CONTAINER(content_grid), SPACING_MEDIUM); gtk_box_pack_start (GTK_BOX (content_area), content_grid, TRUE, TRUE, 0); crow = 0; // group :: -------- group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); row = 1; bbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING_MEDIUM); data->BB_update = bbox; gtk_grid_attach (GTK_GRID(group_grid), bbox, 0, row, 1, 1); widget = gtk_button_new_from_icon_name (ICONNAME_HB_REFRESH, GTK_ICON_SIZE_BUTTON); gtk_container_add (GTK_CONTAINER (bbox), widget); g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (ui_cur_manage_dialog_sync), NULL); widget = make_label_widget (_("Update online")); gtk_container_add (GTK_CONTAINER (bbox), widget); // list row++; vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_grid_attach (GTK_GRID (group_grid), vbox, 0, row, 2, 1); scrollwin = gtk_scrolled_window_new(NULL,NULL); gtk_container_add(GTK_CONTAINER(vbox), scrollwin); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_min_content_height(GTK_SCROLLED_WINDOW(scrollwin), HB_MINHEIGHT_LIST); treeview = ui_cur_listview_new(FALSE); data->LV_cur = treeview; gtk_container_add(GTK_CONTAINER(scrollwin), treeview); gtk_widget_set_vexpand (scrollwin, TRUE); gtk_widget_set_hexpand (scrollwin, TRUE); tbar = gtk_toolbar_new(); gtk_toolbar_set_icon_size (GTK_TOOLBAR(tbar), GTK_ICON_SIZE_MENU); gtk_toolbar_set_style(GTK_TOOLBAR(tbar), GTK_TOOLBAR_ICONS); gtk_style_context_add_class (gtk_widget_get_style_context (tbar), GTK_STYLE_CLASS_INLINE_TOOLBAR); gtk_box_pack_start (GTK_BOX (vbox), tbar, FALSE, FALSE, 0); bbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); toolitem = gtk_tool_item_new(); gtk_container_add (GTK_CONTAINER(toolitem), bbox); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); widget = make_image_button(ICONNAME_LIST_ADD, _("Add")); data->BT_add = widget; gtk_container_add (GTK_CONTAINER (bbox), widget); widget = make_image_button(ICONNAME_LIST_EDIT, _("Edit")); data->BT_edit = widget; gtk_container_add (GTK_CONTAINER (bbox), widget); widget = make_image_button(ICONNAME_LIST_DELETE, _("Delete")); data->BT_del = widget; gtk_container_add (GTK_CONTAINER (bbox), widget); widget = gtk_button_new_with_mnemonic(_("Set as base")); data->BT_base = widget; gtk_container_add (GTK_CONTAINER (bbox), widget); //connect all our signals //g_signal_connect (G_OBJECT (data->ST_name), "activate", G_CALLBACK (ui_cur_manage_dialog_add), NULL); g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_cur)), "changed", G_CALLBACK (ui_cur_manage_dialog_selection), NULL); g_signal_connect (GTK_TREE_VIEW(data->LV_cur), "row-activated", G_CALLBACK (ui_cur_manage_dialog_onRowActivated), NULL); g_signal_connect (G_OBJECT (data->BT_add), "clicked", G_CALLBACK (ui_cur_manage_dialog_add), NULL); g_signal_connect (G_OBJECT (data->BT_del), "clicked", G_CALLBACK (ui_cur_manage_dialog_delete), NULL); g_signal_connect (G_OBJECT (data->BT_edit), "clicked", G_CALLBACK (ui_cur_manage_dialog_modify), NULL); //g_signal_connect (G_OBJECT (data->BT_mov), "clicked", G_CALLBACK (ui_cur_manage_dialog_move), NULL); g_signal_connect (G_OBJECT (data->BT_base), "clicked", G_CALLBACK (ui_cur_manage_dialog_setbase), NULL); //setup, init and show window ui_cur_manage_dialog_setup(data); ui_cur_manage_dialog_update(data->LV_cur, NULL); //gtk_window_resize(GTK_WINDOW(dialog), 256, 414); gtk_widget_show_all (dialog); //wait for the user gint result = gtk_dialog_run (GTK_DIALOG (dialog)); switch (result) { case GTK_RESPONSE_ACCEPT: //do_application_specific_something (); break; default: //do_nothing_since_dialog_was_cancelled (); break; } // cleanup and destroy GLOBALS->changes_count += data->change; gtk_widget_destroy (dialog); g_free(data); return NULL; } homebank-5.3.2/src/ui-budget.c0000644000175000017500000011324413620016212013044 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "ui-category.h" #include "ui-budget.h" extern gchar *CYA_CAT_TYPE[]; /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; extern gchar *CYA_ABMONTHS[]; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /* ** ** The function should return: ** a negative integer if the first value comes before the second, ** 0 if they are equal, ** or a positive integer if the first value comes after the second. */ static gint ui_bud_listview_compare_funct (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { gint retval = 0; Category *entry1, *entry2; gtk_tree_model_get(model, a, LST_DEFCAT_DATAS, &entry1, -1); gtk_tree_model_get(model, b, LST_DEFCAT_DATAS, &entry2, -1); retval = (entry1->flags & GF_INCOME) - (entry2->flags & GF_INCOME); if(!retval) { retval = hb_string_utf8_compare(entry1->name, entry2->name); } return retval; } /* ** */ static void ui_bud_listview_icon_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Category *item; gchar *iconname = NULL; // get the transaction gtk_tree_model_get(model, iter, LST_DEFCAT_DATAS, &item, -1); //5.3 added if( item->flags & GF_FORCED ) iconname = ICONNAME_HB_OPE_FORCED; else if( item->flags & GF_BUDGET ) iconname = ICONNAME_HB_OPE_BUDGET; g_object_set(renderer, "icon-name", iconname, NULL); } /* ** draw some text from the stored data structure */ static void ui_bud_listview_cell_data_function_text (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Category *entry; gchar *name; gchar *string; gchar type; gtk_tree_model_get(model, iter, LST_DEFCAT_DATAS, &entry, -1); if(entry->key == 0) name = g_strdup(_("(no category)")); else name = entry->name; type = category_get_type_char(entry); if(entry->key == 0) string = g_strdup(name); else { if(entry->flags & GF_BUDGET) { if( entry->parent == 0 ) string = g_markup_printf_escaped("%s [%c]", name, type); else string = g_markup_printf_escaped(" %c %s", type, name); } else { if( entry->parent == 0 ) string = g_markup_printf_escaped("%s [%c]", name, type); else string = g_markup_printf_escaped(" %c %s", type, name); } } g_object_set(renderer, "markup", string, NULL); g_free(string); } #if MYDEBUG == 1 static void ui_bud_listview_cell_data_function_debug (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Category *entry; gchar *string; gchar type; gtk_tree_model_get(model, iter, LST_DEFCAT_DATAS, &entry, -1); type = category_get_type_char(entry); string = g_markup_printf_escaped("f:%d t:%c", entry->flags, type ); g_object_set(renderer, "markup", string, NULL); g_free(string); } #endif static gboolean ui_bud_listview_search_equal_func (GtkTreeModel *model, gint column, const gchar *key, GtkTreeIter *iter, gpointer search_data) { gboolean retval = TRUE; gchar *normalized_string; gchar *normalized_key; gchar *case_normalized_string = NULL; gchar *case_normalized_key = NULL; Category *item; //gtk_tree_model_get_value (model, iter, column, &value); gtk_tree_model_get(model, iter, LST_DEFCAT_DATAS, &item, -1); if(item != NULL) { normalized_string = g_utf8_normalize (item->name, -1, G_NORMALIZE_ALL); normalized_key = g_utf8_normalize (key, -1, G_NORMALIZE_ALL); if (normalized_string && normalized_key) { case_normalized_string = g_utf8_casefold (normalized_string, -1); case_normalized_key = g_utf8_casefold (normalized_key, -1); if (strncmp (case_normalized_key, case_normalized_string, strlen (case_normalized_key)) == 0) retval = FALSE; } g_free (normalized_key); g_free (normalized_string); g_free (case_normalized_key); g_free (case_normalized_string); } return retval; } /* ** */ static GtkWidget *ui_bud_listview_new(void) { GtkTreeStore *store; GtkWidget *treeview; GtkCellRenderer *renderer; GtkTreeViewColumn *column; //store store = gtk_tree_store_new ( 3, //NUM_LST_DEFCAT, G_TYPE_BOOLEAN, G_TYPE_POINTER, G_TYPE_UINT ); //sortable gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DEFCAT_DATAS, ui_bud_listview_compare_funct, NULL, NULL); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), LST_DEFCAT_DATAS, GTK_SORT_ASCENDING); //treeview treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); g_object_unref(store); gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (treeview), PREFS->grid_lines); gtk_tree_view_set_enable_tree_lines(GTK_TREE_VIEW (treeview), TRUE); #if MYDEBUG == 1 renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new(); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_bud_listview_cell_data_function_debug, NULL, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); #endif /* icon column */ column = gtk_tree_view_column_new(); renderer = gtk_cell_renderer_pixbuf_new (); //gtk_cell_renderer_set_fixed_size(renderer, GLOBALS->lst_pixbuf_maxwidth, -1); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_bud_listview_icon_cell_data_function, NULL, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); /* category name */ renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Category")); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_bud_listview_cell_data_function_text, GINT_TO_POINTER(1), NULL); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_column_set_min_width(column, HB_MINWIDTH_LIST); //gtk_tree_view_column_set_sort_column_id (column, LST_DEFACC_NAME); gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); gtk_tree_view_set_expander_column(GTK_TREE_VIEW(treeview), column); gtk_tree_view_set_search_equal_func(GTK_TREE_VIEW(treeview), ui_bud_listview_search_equal_func, NULL, NULL); //gtk_tree_view_set_headers_visible (GTK_TREE_VIEW(treeview), FALSE); //gtk_tree_view_set_reorderable (GTK_TREE_VIEW(treeview), TRUE); return(treeview); } /* ** index 0 is all month, then 1 -> 12 are months */ static gchar *ui_bud_manage_getcsvbudgetstr(Category *item) { gchar *retval = NULL; char buf[G_ASCII_DTOSTR_BUF_SIZE]; //DB( g_print(" get budgetstr for '%s'\n", item->name) ); if( !(item->flags & GF_CUSTOM) ) { if( item->budget[0] ) { //g_ascii_dtostr (buf, sizeof (buf), item->budget[0]); //#1750257 use locale numdigit g_snprintf(buf, sizeof (buf), "%.2f", item->budget[0]); retval = g_strdup(buf); //DB( g_print(" => %d: %s\n", 0, retval) ); } } else { gint i; for(i=1;i<=12;i++) { //if( item->budget[i] ) //{ gchar *tmp = retval; //g_ascii_dtostr (buf, sizeof (buf), item->budget[i]); //#1750257 use locale numdigit g_snprintf(buf, sizeof (buf), "%.2f", item->budget[i]); if(retval != NULL) { retval = g_strconcat(retval, ";", buf, NULL); g_free(tmp); } else retval = g_strdup(buf); //DB( g_print(" => %d: %s\n", i, retval) ); //} } } return retval; } static gint ui_bud_manage_category_exists (GtkTreeModel *model, gchar *level, gchar *type, gchar *name, GtkTreeIter *return_iter) { GtkTreeIter iter, child; gboolean valid; Category *entry; gint pos = 0; if(model == NULL) return 0; valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { gtk_tree_model_get (model, &iter, LST_DEFCAT_DATAS, &entry, -1); if(*level == '1') { if(entry->name && g_ascii_strcasecmp(name, entry->name) == 0) { *return_iter = iter; return pos; } } else { if(*level == '2') { gint n_child = gtk_tree_model_iter_n_children (GTK_TREE_MODEL(model), &iter); gtk_tree_model_iter_children (GTK_TREE_MODEL(model), &child, &iter); while(n_child > 0) { gtk_tree_model_get(GTK_TREE_MODEL(model), &child, LST_DEFCAT_DATAS, &entry, -1); if(entry->name && g_ascii_strcasecmp(name, entry->name) == 0) { *return_iter = child; return pos; } n_child--; gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &child); pos++; } } } valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); pos++; } return 0; } static void ui_bud_manage_load_csv( GtkWidget *widget, gpointer user_data) { struct ui_bud_manage_data *data = user_data; gchar *filename = NULL; GIOChannel *io; const gchar *encoding; //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n[ui-budget] load csv - data %p\n", data) ); if( ui_file_chooser_csv(GTK_WINDOW(data->dialog), GTK_FILE_CHOOSER_ACTION_OPEN, &filename, NULL) == TRUE ) { DB( g_print(" + filename is %s\n", filename) ); encoding = homebank_file_getencoding(filename); io = g_io_channel_new_file(filename, "r", NULL); if(io != NULL) { GtkTreeModel *model; GtkTreeIter iter; gboolean error = FALSE; gchar *tmpstr; gint io_stat; DB( g_print(" -> encoding should be %s\n", encoding) ); if( encoding != NULL ) { g_io_channel_set_encoding(io, encoding, NULL); } model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_cat)); for(;;) { io_stat = g_io_channel_read_line(io, &tmpstr, NULL, NULL, NULL); if( io_stat == G_IO_STATUS_EOF) break; if( io_stat == G_IO_STATUS_NORMAL) { if( tmpstr != NULL) { gchar **str_array; hb_string_strip_crlf(tmpstr); str_array = g_strsplit (tmpstr, ";", 15); // type; sign; name if( (g_strv_length (str_array) < 4 || *str_array[1] != '*') && (g_strv_length (str_array) < 15)) { error = TRUE; break; } DB( g_print(" csv read '%s : %s : %s ...'\n", str_array[0], str_array[1], str_array[2]) ); gint pos = ui_bud_manage_category_exists(model, str_array[0], str_array[1], str_array[2], &iter); DB( g_print(" pos=%d\n", pos) ); if( pos != 0 ) { gboolean budget; Category *tmpitem; gint i; gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, LST_DEFCAT_DATAS, &tmpitem, -1); DB( g_print(" found cat, updating '%s' '%s'\n", tmpitem->name, tmpitem->fullname) ); data->change++; tmpitem->flags &= ~(GF_CUSTOM); //delete flag if( *str_array[1] == '*' ) { //tmpitem->budget[0] = g_ascii_strtod(str_array[3], NULL); //#1750257 use locale numdigit tmpitem->budget[0] = g_strtod(str_array[3], NULL); DB( g_print(" monthly '%.2f'\n", tmpitem->budget[0]) ); } else { tmpitem->flags |= (GF_CUSTOM); for(i=1;i<=12;i++) { //tmpitem->budget[i] = g_ascii_strtod(str_array[2+i], NULL); //#1750257 use locale numdigit tmpitem->budget[i] = g_strtod(str_array[2+i], NULL); DB( g_print(" month %d '%.2f'\n", i, tmpitem->budget[i]) ); } } // if any value,set the flag to visual indicator budget = FALSE; tmpitem->flags &= ~(GF_BUDGET); //delete flag for(i=0;i<=12;i++) { if(tmpitem->budget[i]) { budget = TRUE; break; } } if(budget == TRUE) tmpitem->flags |= GF_BUDGET; } g_strfreev (str_array); } g_free(tmpstr); } } //update the treeview gtk_tree_selection_unselect_all (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_cat))); g_io_channel_unref (io); if( error == TRUE ) { ui_dialog_msg_infoerror(GTK_WINDOW(data->dialog), GTK_MESSAGE_ERROR, _("File format error"), _("The CSV file must contains the exact numbers of column,\nseparated by a semi-colon, please see the help for more details.") ); } } g_free( filename ); } } static void ui_bud_manage_save_csv( GtkWidget *widget, gpointer user_data) { struct ui_bud_manage_data *data = user_data; gchar *filename = NULL; GtkTreeModel *model; GtkTreeIter iter, child; gboolean valid; GIOChannel *io; DB( g_print("\n[ui-budget] save csv\n") ); //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); if( ui_file_chooser_csv(GTK_WINDOW(data->dialog), GTK_FILE_CHOOSER_ACTION_SAVE, &filename, NULL) == TRUE ) { DB( g_print(" + filename is %s\n", filename) ); io = g_io_channel_new_file(filename, "w", NULL); if(io != NULL) { model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_cat)); valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { gchar *outstr, *outvalstr; Category *category; gchar type; gtk_tree_model_get (GTK_TREE_MODEL(model), &iter, LST_DEFCAT_DATAS, &category, -1); if( category->name != NULL ) { //level 1: category if( category->flags & GF_BUDGET ) { type = (category->flags & GF_CUSTOM) ? ' ' : '*'; outvalstr = ui_bud_manage_getcsvbudgetstr(category); outstr = g_strdup_printf("1;%c;%s;%s\n", type, category->name, outvalstr); DB( g_print("%s", outstr) ); g_io_channel_write_chars(io, outstr, -1, NULL, NULL); g_free(outstr); g_free(outvalstr); } //level 2: subcategory gint n_child = gtk_tree_model_iter_n_children (GTK_TREE_MODEL(model), &iter); gtk_tree_model_iter_children (GTK_TREE_MODEL(model), &child, &iter); while(n_child > 0) { gtk_tree_model_get(GTK_TREE_MODEL(model), &child, LST_DEFCAT_DATAS, &category, -1); type = (category->flags & GF_CUSTOM) ? ' ' : '*'; outvalstr = ui_bud_manage_getcsvbudgetstr(category); if( outvalstr ) { outstr = g_strdup_printf("2;%c;%s;%s\n", type, category->name, outvalstr); DB( g_print("%s", outstr) ); g_io_channel_write_chars(io, outstr, -1, NULL, NULL); g_free(outstr); } g_free(outvalstr); n_child--; gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &child); } } valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } g_io_channel_unref (io); } g_free( filename ); } } static void ui_bud_manage_expand_all(GtkWidget *widget, gpointer user_data) { struct ui_bud_manage_data *data; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n[ui-budget] expand all (data=%p)\n", data) ); gtk_tree_view_expand_all(GTK_TREE_VIEW(data->LV_cat)); } static void ui_bud_manage_collapse_all(GtkWidget *widget, gpointer user_data) { struct ui_bud_manage_data *data; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n[ui-budget] collapse all (data=%p)\n", data) ); gtk_tree_view_collapse_all(GTK_TREE_VIEW(data->LV_cat)); } static void ui_bud_manage_update(GtkWidget *treeview, gpointer user_data) { struct ui_bud_manage_data *data; gboolean name, custom, sensitive; gint i; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(treeview), GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n[ui-budget] update %p\n", data) ); name = FALSE; if(data->cat != NULL) { name = data->cat->key == 0 ? FALSE : TRUE; } sensitive = name; gtk_widget_set_sensitive(data->label_budget, sensitive); gtk_widget_set_sensitive(data->CM_type[0], sensitive); gtk_widget_set_sensitive(data->CM_type[1], sensitive); gtk_widget_set_sensitive(data->label_options, sensitive); gtk_widget_set_sensitive(data->CM_force, sensitive); gtk_widget_set_sensitive(data->BT_clear, sensitive); #if MYDEBUG == 1 gint toto = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_type[0])); DB( g_print(" monthly = %d\n", toto) ); #endif custom = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_type[1])); DB( g_print(" custom = %d\n", custom) ); sensitive = name == FALSE ? FALSE : custom == TRUE ? FALSE: TRUE; gtk_widget_set_sensitive(data->spinner[0], sensitive); sensitive = name == FALSE ? FALSE : custom; for(i=0;i<12;i++) { gtk_widget_set_sensitive(data->label[i+1], sensitive); gtk_widget_set_sensitive(data->spinner[i+1], sensitive); } DB( g_print(" -- end update %p\n", data) ); } static void ui_bud_manage_compute_total(GtkWidget *widget, gpointer user_data) { struct ui_bud_manage_data *data; GList *lcat, *list; gdouble value; gint j; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n[ui-budget] compute total\n") ); data->totexp = 0; data->totinc = 0; lcat = list = category_glist_sorted(1); while (list != NULL) { Category *item = list->data; value = 0; if(!(item->flags & GF_CUSTOM)) { value += (12*item->budget[0]); } //otherwise sum each month from mindate month else { //#1859476 <= vs < for(j=1;j<=12;j++) { value += item->budget[j]; } } if( value <= 0.0 ) data->totexp += value; else data->totinc += value; list = g_list_next(list); } g_list_free(lcat); hb_label_set_colvalue(GTK_LABEL(data->TX_totexp), data->totexp, GLOBALS->kcur, GLOBALS->minor); hb_label_set_colvalue(GTK_LABEL(data->TX_totinc), data->totinc, GLOBALS->kcur, GLOBALS->minor); hb_label_set_colvalue(GTK_LABEL(data->TX_totbal), data->totexp + data->totinc, GLOBALS->kcur, GLOBALS->minor); } static void ui_bud_manage_cb_forcemonitor_toggled(GtkWidget *widget, gpointer user_data) { struct ui_bud_manage_data *data; Category *item; DB( g_print("\n[ui-budget] forced toggled\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); item = data->cat; if( item ) { item->flags &= ~(GF_FORCED); if( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_force)) && !(item->flags & GF_BUDGET) ) item->flags |= GF_FORCED; hbtk_listview_redraw_selected_row (GTK_TREE_VIEW(data->LV_cat)); } } static void ui_bud_manage_toggle(GtkRadioButton *radiobutton, gpointer user_data) { //struct ui_bud_manage_data *data; //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(radiobutton), GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n[ui-budget] toggle\n") ); //ui_bud_manage_get(GTK_WIDGET(radiobutton), GINT_TO_POINTER(FIELD_TYPE)); //data->custom ^= 1; ui_bud_manage_update(GTK_WIDGET(radiobutton), NULL); } static void ui_bud_manage_get(struct ui_bud_manage_data *data, Category *item) { DB( g_print("\n[ui-budget] get\n") ); if( item != NULL ) { guint prvflg = item->flags; gdouble prvsum = 0.0; gdouble sum = 0.0; item->flags &= ~(GF_CUSTOM|GF_BUDGET|GF_FORCED); if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_type[0])) == FALSE) { item->flags |= GF_CUSTOM; } for(guint i=0;i<=12;i++) { prvsum += item->budget[i]; gtk_spin_button_update(GTK_SPIN_BUTTON(data->spinner[i])); item->budget[i] = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->spinner[i])); sum += item->budget[i]; if( item->budget[i] ) item->flags |= GF_BUDGET; } if( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_force)) && !(item->flags & GF_BUDGET) ) { item->flags |= GF_FORCED; } //#1861008 count changes here if( (prvflg != item->flags) || (prvsum != sum) ) data->change++; } DB( g_print(" -- end get") ); } static gboolean ui_bud_manage_cb_budget_changed(GtkSpinButton *spinbutton, gpointer user_data) { struct ui_bud_manage_data *data; gboolean retval = FALSE; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(spinbutton), GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n[ui-budget] budget changed\n") ); ui_bud_manage_get(data, data->cat); hbtk_listview_redraw_selected_row (GTK_TREE_VIEW(data->LV_cat)); ui_bud_manage_compute_total(data->dialog, NULL); DB( g_print(" -- end budget changed\n") ); return retval; } static void ui_bud_manage_getlast(struct ui_bud_manage_data *data) { Category *item; DB( g_print("\n[ui-budget] getlast\n") ); item = data->lastcatitem; if( item != NULL ) { ui_bud_manage_get(data, item); hbtk_listview_redraw_selected_row (GTK_TREE_VIEW(data->LV_cat)); ui_bud_manage_compute_total(data->dialog, NULL); } DB( g_print(" -- end getlast") ); } static void ui_bud_manage_set(GtkWidget *widget, gpointer user_data) { struct ui_bud_manage_data *data; gint active; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n[ui-budget] set\n") ); active = (data->cat->flags & GF_CUSTOM) ? 1 : 0; g_signal_handlers_block_by_func (data->CM_type[0], G_CALLBACK (ui_bud_manage_toggle), NULL); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_type[active]), TRUE); g_signal_handlers_unblock_by_func (data->CM_type[0], G_CALLBACK (ui_bud_manage_toggle), NULL); for(guint i=0;i<=12;i++) { g_signal_handlers_block_by_func (data->spinner[i], G_CALLBACK (ui_bud_manage_cb_budget_changed), NULL); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->spinner[i]), data->cat->budget[i]); g_signal_handlers_unblock_by_func (data->spinner[i], G_CALLBACK (ui_bud_manage_cb_budget_changed), NULL); } g_signal_handlers_block_by_func (data->CM_force, G_CALLBACK (ui_bud_manage_cb_forcemonitor_toggled), NULL); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_force), (data->cat->flags & GF_FORCED) ? 1 : 0); g_signal_handlers_unblock_by_func (data->CM_force, G_CALLBACK (ui_bud_manage_cb_forcemonitor_toggled), NULL); DB( g_print(" -- end set\n") ); } static void ui_bud_manage_clear(GtkWidget *widget, gpointer user_data) { struct ui_bud_manage_data *data; gchar *title; gchar *secondtext; gint result, i; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n[ui-budget] clear\n") ); title = _("Are you sure you want to clear input?"); secondtext = _("If you proceed, every amount will be set to 0."); result = ui_dialog_msg_confirm_alert( GTK_WINDOW(data->dialog), title, secondtext, _("_Clear") ); if( result == GTK_RESPONSE_OK ) { //g_signal_handler_block(data->CM_type[0], data->handler_id[HID_CUSTOM]); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_type[0]), TRUE); //g_signal_handler_unblock(data->CM_type[0], data->handler_id[HID_CUSTOM]); for(i=0;i<=12;i++) { g_signal_handlers_block_by_func (data->spinner[i], G_CALLBACK (ui_bud_manage_cb_budget_changed), NULL); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->spinner[i]), 0); data->cat->budget[i] = 0; g_signal_handlers_unblock_by_func (data->spinner[i], G_CALLBACK (ui_bud_manage_cb_budget_changed), NULL); } data->cat->flags &= ~(GF_BUDGET); //delete flag data->change++; hbtk_listview_redraw_selected_row (GTK_TREE_VIEW(data->LV_cat)); ui_bud_manage_compute_total(data->dialog, NULL); } } static void ui_bud_manage_selection_change(GtkWidget *treeview, gpointer user_data) { struct ui_bud_manage_data *data; GtkTreeModel *model; GtkTreeIter iter; gchar *title; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(treeview), GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n[ui-budget] selection changed\n") ); data->cat = NULL; if(gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_cat)), &model, &iter)) { Category *item; gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, LST_DEFCAT_DATAS, &item, -1); DB( g_print(" selected %s\n", item->name) ); title = g_strdup_printf(_("Budget for %s"), item->fullname); gtk_label_set_text(GTK_LABEL(data->label_budget), title); g_free(title); if(data->lastcatitem != NULL && item != data->lastcatitem) { DB( g_print(" -> should do a get for last selected (%s)\n", data->lastcatitem->name) ); ui_bud_manage_getlast(data); } data->cat = item; data->lastcatitem = item; ui_bud_manage_set(treeview, NULL); } else { data->lastcatitem = NULL; gtk_label_set_text(GTK_LABEL(data->label_budget), NULL); } ui_bud_manage_update(treeview, NULL); DB( g_print(" -- end selection changed\n") ); } static void ui_bud_manage_populate_listview(struct ui_bud_manage_data *data) { gint type; DB( g_print("\n[ui-budget] populate listview\n") ); type = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_type)) == 1 ? CAT_TYPE_INCOME : CAT_TYPE_EXPENSE; ui_cat_listview_populate(data->LV_cat, type); //gtk_tree_view_expand_all (GTK_TREE_VIEW(data->LV_cat)); DB( g_print(" -- end populate listview\n") ); } static void ui_bud_manage_selection(GtkTreeSelection *treeselection, gpointer user_data) { ui_bud_manage_selection_change(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), NULL); } static void ui_bud_manage_cb_type_changed (GtkToggleButton *button, gpointer user_data) { ui_bud_manage_populate_listview(user_data); //g_print(" toggle type=%d\n", gtk_toggle_button_get_active(button)); } static gboolean ui_bud_manage_cleanup(struct ui_bud_manage_data *data, gint result) { gboolean doupdate = FALSE; DB( g_print("\n[ui-budget] cleanup\n") ); if(data->lastcatitem != NULL) { DB( g_print(" -> should do a get for last selected (%s)\n", data->lastcatitem->name) ); ui_bud_manage_getlast(data); } //do_application_specific_something (); DB( g_print(" accept %d changes\n", data->change) ); GLOBALS->changes_count += data->change; DB( g_print(" free tmp_list\n") ); return doupdate; } static void ui_bud_manage_setup(struct ui_bud_manage_data *data) { DB( g_print("\n[ui-budget] setup\n") ); data->tmp_list = NULL; data->change = 0; data->cat = NULL; data->lastcatitem = NULL; ui_bud_manage_populate_listview(data); ui_bud_manage_compute_total(data->dialog, NULL); ui_bud_manage_update(data->dialog, NULL); DB( g_print("-- end setup\n") ); } GtkWidget *ui_bud_manage_dialog (void) { struct ui_bud_manage_data *data; GtkWidget *dialog, *content_area; GtkWidget *content_grid, *group_grid, *scrollwin, *label; GtkWidget *treeview, *hpaned, *bbox, *vbox, *hbox; GtkWidget *menu, *menuitem, *widget, *image, *tbar; GtkToolItem *toolitem; GList *fchain; guint i; gint w, h; gint crow, row; data = g_malloc0(sizeof(struct ui_bud_manage_data)); if(!data) return NULL; dialog = gtk_dialog_new_with_buttons (_("Manage Budget"), GTK_WINDOW(GLOBALS->mainwindow), 0, _("_Close"), GTK_RESPONSE_ACCEPT, NULL); data->dialog = dialog; gtk_window_set_icon_name(GTK_WINDOW (dialog), ICONNAME_HB_BUDGET); //set a nice dialog size gtk_window_get_size(GTK_WINDOW(GLOBALS->mainwindow), &w, &h); gtk_window_set_default_size (GTK_WINDOW(dialog), -1, h/PHI); //store our window private data g_object_set_data(G_OBJECT(dialog), "inst_data", (gpointer)data); DB( g_print("\n[ui-budget] window=%p, inst_data=%p\n", dialog, data) ); //window contents content_area = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); // return a vbox hpaned = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL); gtk_container_set_border_width (GTK_CONTAINER(hpaned), SPACING_MEDIUM); gtk_box_pack_start (GTK_BOX (content_area), hpaned, TRUE, TRUE, 0); /* left area */ //list vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_widget_set_margin_end(vbox, SPACING_SMALL); gtk_paned_pack1 (GTK_PANED(hpaned), vbox, FALSE, FALSE); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_widget_set_margin_bottom(hbox, SPACING_MEDIUM); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); bbox = hbtk_radio_button_new(CYA_CAT_TYPE, TRUE); data->RA_type = bbox; gtk_widget_set_halign (bbox, GTK_ALIGN_CENTER); gtk_box_pack_start (GTK_BOX (hbox), bbox, TRUE, TRUE, 0); menu = gtk_menu_new (); gtk_widget_set_halign (menu, GTK_ALIGN_END); menuitem = gtk_menu_item_new_with_mnemonic (_("_Import CSV")); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (ui_bud_manage_load_csv), data); menuitem = gtk_menu_item_new_with_mnemonic (_("E_xport CSV")); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (ui_bud_manage_save_csv), data); gtk_widget_show_all (menu); widget = gtk_menu_button_new(); image = gtk_image_new_from_icon_name (ICONNAME_HB_BUTTON_MENU, GTK_ICON_SIZE_MENU); //gchar *thename; //gtk_image_get_icon_name(image, &thename, NULL); //g_print("the name is %s\n", thename); g_object_set (widget, "image", image, "popup", GTK_MENU(menu), NULL); gtk_widget_set_hexpand (widget, FALSE); gtk_widget_set_halign (widget, GTK_ALIGN_END); gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); scrollwin = gtk_scrolled_window_new(NULL,NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_min_content_height(GTK_SCROLLED_WINDOW(scrollwin), HB_MINHEIGHT_LIST); treeview = (GtkWidget *)ui_bud_listview_new(); data->LV_cat = treeview; gtk_container_add(GTK_CONTAINER(scrollwin), treeview); gtk_widget_set_hexpand (scrollwin, TRUE); gtk_widget_set_vexpand (scrollwin, TRUE); gtk_box_pack_start (GTK_BOX(vbox), scrollwin, TRUE, TRUE, 0); //list toolbar tbar = gtk_toolbar_new(); gtk_toolbar_set_icon_size (GTK_TOOLBAR(tbar), GTK_ICON_SIZE_MENU); gtk_toolbar_set_style(GTK_TOOLBAR(tbar), GTK_TOOLBAR_ICONS); gtk_box_pack_start (GTK_BOX (vbox), tbar, FALSE, FALSE, 0); gtk_style_context_add_class (gtk_widget_get_style_context (tbar), GTK_STYLE_CLASS_INLINE_TOOLBAR); toolitem = gtk_separator_tool_item_new (); gtk_tool_item_set_expand (toolitem, TRUE); gtk_separator_tool_item_set_draw(GTK_SEPARATOR_TOOL_ITEM(toolitem), FALSE); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); toolitem = gtk_tool_item_new(); gtk_container_add (GTK_CONTAINER(toolitem), hbox); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); widget = make_image_button(ICONNAME_HB_BUTTON_EXPAND, _("Expand all")); data->BT_expand = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); widget = make_image_button(ICONNAME_HB_BUTTON_COLLAPSE, _("Collapse all")); data->BT_collapse = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); /* right area */ content_grid = gtk_grid_new(); gtk_grid_set_row_spacing (GTK_GRID (content_grid), SPACING_LARGE); gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL); //gtk_container_set_border_width (GTK_CONTAINER(content_grid), SPACING_MEDIUM); gtk_widget_set_margin_start(content_grid, SPACING_SMALL); gtk_paned_pack2 (GTK_PANED(hpaned), content_grid, FALSE, FALSE); crow = 0; // group :: General group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); gtk_widget_set_halign(group_grid, GTK_ALIGN_END); //label = make_label_group(_("Budget total")); //gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; label = gtk_label_new(_("Expense:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); label = gtk_label_new(NULL); data->TX_totexp = label; gtk_grid_attach (GTK_GRID (group_grid), label, 2, row, 1, 1); label = gtk_label_new(_("Income:")); gtk_grid_attach (GTK_GRID (group_grid), label, 3, row, 1, 1); label = gtk_label_new(NULL); data->TX_totinc = label; gtk_grid_attach (GTK_GRID (group_grid), label, 4, row, 1, 1); label = gtk_label_new(_("Balance:")); gtk_grid_attach (GTK_GRID (group_grid), label, 5, row, 1, 1); label = gtk_label_new(NULL); data->TX_totbal = label; gtk_grid_attach (GTK_GRID (group_grid), label, 6, row, 1, 1); // group :: General crow++; group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(NULL); data->label_budget = label; gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 5, 1); fchain = NULL; row = 1; widget = gtk_radio_button_new_with_label (NULL, _("is the same each month")); data->CM_type[0] = widget; gtk_widget_set_hexpand (widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 4, 1); fchain = g_list_append(fchain, widget); row++; widget = make_amount(label); data->spinner[0] = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); fchain = g_list_append(fchain, widget); g_signal_connect (G_OBJECT (data->spinner[0]), "value-changed", G_CALLBACK (ui_bud_manage_cb_budget_changed), NULL); widget = gtk_button_new_with_mnemonic (_("_Clear input")); data->BT_clear = widget; gtk_widget_set_hexpand (widget, TRUE); gtk_widget_set_halign(widget, GTK_ALIGN_START); gtk_grid_attach (GTK_GRID (group_grid), widget, 4, row, 1, 1); fchain = g_list_append(fchain, widget); // propagate button /*row++; button = gtk_button_new_with_label(_("Propagate")); gtk_grid_attach (GTK_GRID (group_grid), button, 1, 2, row, row+1); */ row++; widget = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON (data->CM_type[0]), _("is different per month")); data->CM_type[1] = widget; gtk_widget_set_hexpand (widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 4, 1); fchain = g_list_append(fchain, widget); row++; for(i=0;i<12;i++) { gint l, t; l = ((i<6) ? 1 : 3); t = row + ((i<6) ? i : i-6); //#1826659 budget dialog month widget label decay by one label = make_label_widget(_(CYA_ABMONTHS[i+1])); data->label[i+1] = label; gtk_grid_attach (GTK_GRID (group_grid), label, l, t, 1, 1); widget = make_amount(label); data->spinner[i+1] = widget; fchain = g_list_append(fchain, widget); gtk_widget_set_hexpand (widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, l+1, t, 1, 1); g_signal_connect (G_OBJECT (data->spinner[i+1]), "value-changed", G_CALLBACK (ui_bud_manage_cb_budget_changed), NULL); //DB( g_print("\n[ui-budget] %s, col=%d, row=%d", CYA_ABMONTHS[i], col, row) ); } gtk_container_set_focus_chain(GTK_CONTAINER(group_grid), fchain); g_list_free(fchain); // group :: Options group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("Options")); data->label_options = label; gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; widget = gtk_check_button_new_with_mnemonic (_("_Force monitoring this category")); data->CM_force = widget; gtk_widget_set_hexpand (widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 4, 1); //connect all our signals g_signal_connect (dialog, "destroy", G_CALLBACK (gtk_widget_destroyed), &dialog); hbtk_radio_button_connect (GTK_CONTAINER(data->RA_type), "toggled", G_CALLBACK (ui_bud_manage_cb_type_changed), data); g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_cat)), "changed", G_CALLBACK (ui_bud_manage_selection), NULL); //g_signal_connect (GTK_TREE_VIEW(data->LV_cat), "row-activated", G_CALLBACK (ui_bud_manage_onRowActivated), NULL); g_signal_connect (G_OBJECT (data->BT_expand), "clicked", G_CALLBACK (ui_bud_manage_expand_all), NULL); g_signal_connect (G_OBJECT (data->BT_collapse), "clicked", G_CALLBACK (ui_bud_manage_collapse_all), NULL); g_signal_connect (data->CM_type[0], "toggled", G_CALLBACK (ui_bud_manage_toggle), NULL); g_signal_connect (G_OBJECT (data->BT_clear), "clicked", G_CALLBACK (ui_bud_manage_clear), NULL); g_signal_connect (data->CM_force, "toggled", G_CALLBACK (ui_bud_manage_cb_forcemonitor_toggled), NULL); //data->custom = FALSE; //gtk_widget_set_sensitive(data->table, FALSE); //setup, init and show window ui_bud_manage_setup(data); gtk_widget_show_all (dialog); //result gint result = gtk_dialog_run (GTK_DIALOG (dialog)); switch (result) { case GTK_RESPONSE_ACCEPT: //do_application_specific_something (); break; default: //do_nothing_since_dialog_was_cancelled (); break; } // cleanup and destroy ui_bud_manage_cleanup(data, result); gtk_widget_destroy (dialog); g_free(data); return NULL; } homebank-5.3.2/src/language.h0000644000175000017500000000162713604720371012762 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __LANGUAGE_H__ #define __LANGUAGE_H__ void language_init (const gchar *language); #endif /* __LANGUAGE_H__ */ homebank-5.3.2/src/hb-xml.h0000644000175000017500000000226213604720371012362 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_XML_H__ #define __HB_XML_H__ enum { XML_UNSET, XML_OK, XML_IO_ERROR, XML_FILE_ERROR, XML_VERSION_ERROR, }; typedef struct _ParseContext ParseContext; struct _ParseContext { gdouble file_version; //version of the xml structure gint data_version; //last hb version file was saved with }; gint homebank_load_xml(gchar *filename); gint homebank_save_xml(gchar *filename); #endif homebank-5.3.2/src/gtk-chart.c0000644000175000017500000016333513604720365013066 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "gtk-chart-colors.h" #include "gtk-chart.h" #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif #define DYNAMICS 1 #define DBGDRAW_RECT 0 #define DBGDRAW_TEXT 0 #define DBGDRAW_ITEM 0 static void gtk_chart_class_intern_init (gpointer); static void gtk_chart_class_init (GtkChartClass *klass); static void gtk_chart_init (GtkChart *chart); static void gtk_chart_dispose (GObject * object); static void gtk_chart_finalize (GObject * object); static gboolean drawarea_configure_event_callback(GtkWidget *widget, GdkEventConfigure *event, gpointer user_data); static void drawarea_realize_callback(GtkWidget *widget, gpointer user_data); static gboolean drawarea_draw_callback(GtkWidget *widget, cairo_t *wcr, gpointer user_data); static gboolean drawarea_motionnotifyevent_callback(GtkWidget *widget, GdkEventMotion *event, gpointer user_data); static gboolean drawarea_querytooltip_callback(GtkWidget *widget, gint x, gint y, gboolean keyboard_mode, GtkTooltip *tooltip, gpointer user_data); static gboolean drawarea_full_redraw(GtkWidget *widget, gpointer user_data); static void chart_calculation(GtkChart *chart); static void chart_clear(GtkChart *chart); static void colchart_first_changed( GtkAdjustment *adj, gpointer user_data); static void colchart_compute_range(GtkChart *chart); static void colchart_calculation(GtkChart *chart); static void colchart_scrollbar_setvalues(GtkChart *chart); static void piechart_calculation(GtkChart *chart); static GtkBoxClass *gtk_chart_parent_class = NULL; static const double dashed3[] = {3.0}; GType gtk_chart_get_type () { static GType chart_type = 0; if (!chart_type) { static const GTypeInfo chart_info = { sizeof (GtkChartClass), NULL, /* base_init */ NULL, /* base_finalize */ (GClassInitFunc) gtk_chart_class_intern_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof (GtkChart), 0, /* n_preallocs */ (GInstanceInitFunc) gtk_chart_init, NULL }; chart_type = g_type_register_static (GTK_TYPE_BOX, "GtkChart", &chart_info, 0); } return chart_type; } static void gtk_chart_class_intern_init (gpointer klass) { gtk_chart_parent_class = g_type_class_peek_parent (klass); gtk_chart_class_init ((GtkChartClass *) klass); } static void gtk_chart_class_init (GtkChartClass * class) { GObjectClass *gobject_class = G_OBJECT_CLASS (class); //GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class); DB( g_print("\n[gtkchart] class init\n") ); //gobject_class->get_property = gtk_chart_get_property; //gobject_class->set_property = gtk_chart_set_property; gobject_class->dispose = gtk_chart_dispose; gobject_class->finalize = gtk_chart_finalize; //widget_class->size_allocate = gtk_chart_size_allocate; } static void gtk_chart_init (GtkChart * chart) { GtkWidget *widget, *vbox, *frame; DB( g_print("\n[gtkchart] init\n") ); chart->surface = NULL; chart->nb_items = 0; chart->items = NULL; chart->title = NULL; chart->pfd = NULL; chart->abs = FALSE; chart->dual = FALSE; chart->usrbarw = 0.0; chart->barw = GTK_CHART_BARW; chart->show_legend = TRUE; chart->show_legend_wide = FALSE; chart->show_mono = FALSE; chart->active = -1; chart->lastactive = -1; chart->minor_rate = 1.0; chart->timer_tag = 0; gtk_chart_set_color_scheme(chart, CHART_COLMAP_HOMEBANK); widget=GTK_WIDGET(chart); gtk_box_set_homogeneous(GTK_BOX(widget), FALSE); vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (widget), vbox, TRUE, TRUE, 0); /* drawing area */ frame = gtk_frame_new(NULL); gtk_frame_set_shadow_type (GTK_FRAME(frame), GTK_SHADOW_ETCHED_IN); gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0); chart->drawarea = gtk_drawing_area_new(); //gtk_widget_set_double_buffered (GTK_WIDGET(widget), FALSE); gtk_container_add( GTK_CONTAINER(frame), chart->drawarea ); gtk_widget_set_size_request(chart->drawarea, 100, 100 ); #if DYNAMICS == 1 gtk_widget_set_has_tooltip(chart->drawarea, TRUE); #endif gtk_widget_show(chart->drawarea); #if MYDEBUG == 1 /*GtkStyle *style; PangoFontDescription *font_desc; g_print("draw_area font\n"); style = gtk_widget_get_style(GTK_WIDGET(chart->drawarea)); font_desc = style->font_desc; g_print("family: %s\n", pango_font_description_get_family(font_desc) ); g_print("size: %d (%d)\n", pango_font_description_get_size (font_desc), pango_font_description_get_size (font_desc )/PANGO_SCALE ); */ #endif /* scrollbar */ chart->adjustment = GTK_ADJUSTMENT(gtk_adjustment_new (0.0, 0.0, 1.0, 1.0, 1.0, 1.0)); chart->scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (chart->adjustment)); gtk_box_pack_start (GTK_BOX (vbox), chart->scrollbar, FALSE, TRUE, 0); gtk_widget_show(chart->scrollbar); g_signal_connect( G_OBJECT(chart->drawarea), "configure-event", G_CALLBACK (drawarea_configure_event_callback), chart); g_signal_connect( G_OBJECT(chart->drawarea), "realize", G_CALLBACK(drawarea_realize_callback), chart ) ; g_signal_connect( G_OBJECT(chart->drawarea), "draw", G_CALLBACK(drawarea_draw_callback), chart ) ; #if DYNAMICS == 1 gtk_widget_add_events(GTK_WIDGET(chart->drawarea), GDK_EXPOSURE_MASK | //GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK //GDK_BUTTON_PRESS_MASK | //GDK_BUTTON_RELEASE_MASK ); g_signal_connect( G_OBJECT(chart->drawarea), "query-tooltip", G_CALLBACK(drawarea_querytooltip_callback), chart ); g_signal_connect( G_OBJECT(chart->drawarea), "motion-notify-event", G_CALLBACK(drawarea_motionnotifyevent_callback), chart ); #endif g_signal_connect (G_OBJECT(chart->adjustment), "value-changed", G_CALLBACK (colchart_first_changed), chart); //g_signal_connect( G_OBJECT(chart->drawarea), "map-event", G_CALLBACK(chart_map), chart ) ; //g_signal_connect( G_OBJECT(chart->drawarea), "button-press-event", G_CALLBACK(chart_button_press), chart ); //g_signal_connect( G_OBJECT(chart->drawarea), "button-release-event", G_CALLBACK(chart_button_release), chart ); } /* --- */ GtkWidget * gtk_chart_new (gint type) { GtkChart *chart; DB( g_print("\n======================================================\n") ); DB( g_print("\n[gtkchart] new\n") ); chart = g_object_new (GTK_TYPE_CHART, NULL); chart->type = type; return GTK_WIDGET(chart); } static void gtk_chart_dispose (GObject *gobject) { //GtkChart *chart = GTK_CHART (object); DB( g_print("\n[gtkchart] dispose\n") ); /* In dispose(), you are supposed to free all types referenced from this * object which might themselves hold a reference to self. Generally, * the most simple solution is to unref all members on which you own a * reference. */ /* dispose() might be called multiple times, so we must guard against * calling g_object_unref() on an invalid GObject by setting the member * NULL; g_clear_object() does this for us, atomically. */ //g_clear_object (&self->priv->an_object); /* Always chain up to the parent class; there is no need to check if * the parent class implements the dispose() virtual function: it is * always guaranteed to do so */ G_OBJECT_CLASS (gtk_chart_parent_class)->dispose (gobject); } static void gtk_chart_finalize (GObject * object) { GtkChart *chart = GTK_CHART (object); DB( g_print("\n[gtkchart] finalize\n") ); chart_clear(chart); if(chart->pfd) { pango_font_description_free (chart->pfd); chart->pfd = NULL; } if (chart->surface) { cairo_surface_destroy (chart->surface); chart->surface = NULL; } G_OBJECT_CLASS (gtk_chart_parent_class)->finalize (object); } /* ** print a integer number */ static gchar *chart_print_int(GtkChart *chart, gint value) { hb_strfmon_int(chart->buffer1, CHART_BUFFER_LENGTH-1, (gdouble)value, chart->kcur, chart->minor); return chart->buffer1; } /* ** print a rate number */ static gchar *chart_print_rate(GtkChart *chart, gdouble value) { g_snprintf (chart->buffer1, CHART_BUFFER_LENGTH-1, "%.2f%%", value); return chart->buffer1; } /* ** print a double number */ static gchar *chart_print_double(GtkChart *chart, gchar *buffer, gdouble value) { hb_strfmon(buffer, CHART_BUFFER_LENGTH-1, value, chart->kcur, chart->minor); return buffer; } /* ** clear any allocated memory */ static void chart_clear(GtkChart *chart) { gint i; DB( g_print("\n[gtkchart] clear\n") ); //free & clear any previous allocated datas if(chart->title != NULL) { g_free(chart->title); chart->title = NULL; } if(chart->subtitle != NULL) { g_free(chart->subtitle); chart->subtitle = NULL; } if(chart->items != NULL) { for(i=0;inb_items;i++) { ChartItem *item = &g_array_index(chart->items, ChartItem, i); g_free(item->label); //we free label as it comes from a model_get into setup_with_model g_free(item->legend); } g_array_free(chart->items, TRUE); chart->items = NULL; } chart->nb_items = 0; chart->total = 0; chart->range = 0; chart->rawmin = 0; chart->rawmax = 0; chart->every_xval = 7; chart->active = -1; chart->lastactive = -1; } /* ** setup our chart with a model and column */ static void chart_setup_with_model(GtkChart *chart, GtkTreeModel *list_store, guint column1, guint column2) { gint i; gboolean valid; GtkTreeIter iter; DB( g_print("\n[chart] setup with model\n") ); chart_clear(chart); chart->nb_items = gtk_tree_model_iter_n_children(GTK_TREE_MODEL(list_store), NULL); chart->items = g_array_sized_new(FALSE, FALSE, sizeof(ChartItem), chart->nb_items); DB( g_print(" nb=%d, struct=%d\n", chart->nb_items, sizeof(ChartItem)) ); chart->dual = (column1 == column2) ? FALSE : TRUE; /* Get the first iter in the list */ valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL(list_store), &iter); i = 0; while (valid) { gint id; gchar *label; gdouble value1, value2; ChartItem item; /* column 0: pos (gint) */ /* column 1: key (gint) */ /* column 2: label (gchar) */ /* column x: values (double) */ gtk_tree_model_get (GTK_TREE_MODEL(list_store), &iter, 0, &id, 2, &label, column1, &value1, column2, &value2, -1); if(chart->dual || chart->abs) { value1 = ABS(value1); value2 = ABS(value2); } DB( g_print("%d: '%s' %.2f %2f\n", i, label, value1, value2) ); /* data1 value storage & min, max compute */ chart->rawmin = MIN(chart->rawmin, value1); chart->rawmax = MAX(chart->rawmax, value1); if( chart->dual ) { /* data2 value storage & min, max compute */ chart->rawmin = MIN(chart->rawmin, value2); chart->rawmax = MAX(chart->rawmax, value2); } item.label = label; item.serie1 = value1; item.serie2 = value2; g_array_append_vals(chart->items, &item, 1); /* ensure rawmin rawmax not equal */ if(chart->rawmin == chart->rawmax) { chart->rawmin = 0; chart->rawmax = 100; } /* pie chart total sum */ chart->total += ABS(value1); //leak //don't g_free(label); here done into chart_clear valid = gtk_tree_model_iter_next (list_store, &iter); i++; } // compute rate for legend for bar/pie for(i=0;inb_items;i++) { ChartItem *item = &g_array_index(chart->items, ChartItem, i); gchar *strval; strval = chart_print_double(chart, chart->buffer1, item->serie1); item->rate = ABS(item->serie1*100/chart->total); item->legend = g_markup_printf_escaped("%s\n%s (%.f%%)", item->label, strval, item->rate); } //g_print("total is %.2f\n", total); //ensure the widget is mapped //gtk_widget_map(chart); } static void chart_set_font_size(GtkChart *chart, PangoLayout *layout, gint font_size) { gint size = 10; //TODO: use PANGO_SCALE INSTEAD //DB( g_print("\n[chart] set font size\n") ); switch(font_size) { case CHART_FONT_SIZE_TITLE: size = chart->pfd_size + 3; break; case CHART_FONT_SIZE_SUBTITLE: size = chart->pfd_size + 1; break; case CHART_FONT_SIZE_NORMAL: size = chart->pfd_size - 1; break; case CHART_FONT_SIZE_SMALL: size = chart->pfd_size - 2; break; } //DB( g_print(" size=%d\n", size) ); pango_font_description_set_size(chart->pfd, size * PANGO_SCALE); pango_layout_set_font_description (layout, chart->pfd); } /* ** recompute according to type */ static void chart_recompute(GtkChart *chart) { DB( g_print("\n[gtkchart] recompute\n") ); if( !gtk_widget_get_realized(chart->drawarea) || chart->surface == NULL ) return; chart_calculation (chart); switch(chart->type) { case CHART_TYPE_LINE: case CHART_TYPE_COL: colchart_calculation(chart); gtk_adjustment_set_value(chart->adjustment, 0); colchart_scrollbar_setvalues(chart); gtk_widget_show(chart->scrollbar); break; case CHART_TYPE_PIE: piechart_calculation(chart); gtk_widget_hide(chart->scrollbar); break; } } /* bar section */ static float CalculateStepSize(float range, float targetSteps) { // calculate an initial guess at step size float tempStep = range/targetSteps; // get the magnitude of the step size float mag = (float)floor(log10(tempStep)); float magPow = (float)pow(10, mag); // calculate most significant digit of the new step size float magMsd = (int)(tempStep/magPow + 0.5); // promote the MSD to either 1, 2, or 5 if (magMsd > 5.0) magMsd = 10.0f; else if (magMsd > 2.0) magMsd = 5.0f; else if (magMsd >= 1.0) magMsd = 2.0f; return magMsd*magPow; } static void colchart_compute_range(GtkChart *chart) { double lobound=chart->rawmin, hibound=chart->rawmax; DB( g_print("\n[column] compute range\n") ); /* comptute max ticks */ chart->range = chart->rawmax - chart->rawmin; gint maxticks = MIN(10,floor(chart->graph.height / (chart->font_h * 2))); DB( g_print(" raw :: [%.2f - %.2f] range=%.2f\n", chart->rawmin, chart->rawmax, chart->range) ); DB( g_print(" raw :: maxticks=%d (%g / (%g*2))\n", maxticks, chart->graph.height, chart->font_h) ); DB( g_print("\n") ); chart->unit = CalculateStepSize((hibound-lobound), maxticks); chart->min = -chart->unit * ceil(-lobound/chart->unit); chart->max = chart->unit * ceil(hibound/chart->unit); chart->range = chart->max - chart->min; chart->div = chart->range / chart->unit; DB( g_print(" end :: interval=%.2f, ticks=%d\n", chart->unit, chart->div) ); DB( g_print(" end :: [%.2f - %.2f], range=%.2f\n", chart->min, chart->max, chart->range) ); } static void chart_calculation(GtkChart *chart) { GtkWidget *drawarea = chart->drawarea; GdkWindow *gdkwindow; cairo_surface_t *surf = NULL; cairo_t *cr; int tw, th; GtkAllocation allocation; PangoLayout *layout; gchar *valstr; gint i; DB( g_print("\n[gtkchart] calculation\n") ); gtk_widget_get_allocation(drawarea, &allocation); chart->l = CHART_MARGIN; chart->t = CHART_MARGIN; chart->r = allocation.width - CHART_MARGIN; chart->b = allocation.height - CHART_MARGIN; chart->w = allocation.width - (CHART_MARGIN*2); chart->h = allocation.height - (CHART_MARGIN*2); gdkwindow = gtk_widget_get_window(chart->drawarea); if(!gdkwindow) { surf = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, allocation.width, allocation.height); cr = cairo_create (surf); } else cr = gdk_cairo_create (gdkwindow); /* Create a PangoLayout, set the font and text */ layout = pango_cairo_create_layout (cr); // compute title chart->title_zh = 0; if(chart->title != NULL) { chart_set_font_size(chart, layout, CHART_FONT_SIZE_TITLE); pango_layout_set_text (layout, chart->title, -1); pango_layout_get_size (layout, &tw, &th); chart->title_zh = (th / PANGO_SCALE); DB( g_print(" - title: %s w=%d h=%d\n", chart->title, tw, th) ); } // compute subtitle chart->subtitle_zh = 0; if(chart->subtitle != NULL) { chart_set_font_size(chart, layout, CHART_FONT_SIZE_SUBTITLE); pango_layout_set_text (layout, chart->subtitle, -1); pango_layout_get_size (layout, &tw, &th); chart->subtitle_zh = (th / PANGO_SCALE); DB( g_print(" - title: %s w=%d h=%d\n", chart->subtitle, tw, th) ); } chart->subtitle_y = chart->t + chart->title_zh; chart->graph.y = chart->t + chart->title_zh + chart->subtitle_zh; chart->graph.height = chart->h - chart->title_zh - chart->subtitle_zh; if(chart->title_zh > 0 || chart->subtitle_zh > 0) { chart->graph.y += CHART_MARGIN; chart->graph.height -= CHART_MARGIN; } // compute other text chart_set_font_size(chart, layout, CHART_FONT_SIZE_NORMAL); // y-axis labels (amounts) chart->scale_w = 0; colchart_compute_range(chart); valstr = chart_print_int(chart, (gint)chart->min); pango_layout_set_text (layout, valstr, -1); pango_layout_get_size (layout, &tw, &th); chart->scale_w = (tw / PANGO_SCALE); valstr = chart_print_int(chart, (gint)chart->max); pango_layout_set_text (layout, valstr, -1); pango_layout_get_size (layout, &tw, &th); chart->scale_w = MAX(chart->scale_w, (tw / PANGO_SCALE)); DB( g_print(" - scale: %d,%d %g,%g\n", chart->l, 0, chart->scale_w, 0.0) ); // todo: compute maxwidth of item labels double label_w = 0; for(i=0;inb_items;i++) { ChartItem *item = &g_array_index(chart->items, ChartItem, i); // label width pango_layout_set_text (layout, item->label, -1); pango_layout_get_size (layout, &tw, &th); label_w = MAX(label_w, (tw / PANGO_SCALE)); } chart->label_w = label_w; // compute font height chart->font_h = (th / PANGO_SCALE); // compute graph region switch(chart->type) { case CHART_TYPE_LINE: case CHART_TYPE_COL: chart->graph.x = chart->l + chart->scale_w + 2; chart->graph.width = chart->w - chart->scale_w - 2; break; case CHART_TYPE_PIE: chart->graph.x = chart->l; chart->graph.width = chart->w; break; } DB( g_print(" - graph : %g,%g %g,%g\n", chart->graph.x, chart->graph.y, chart->graph.width, chart->graph.height) ); if( ((chart->type == CHART_TYPE_LINE) || (chart->type == CHART_TYPE_COL)) && chart->show_xval) chart->graph.height -= (chart->font_h + CHART_SPACING); // compute: each legend column width, and legend width if(chart->show_legend) { chart_set_font_size(chart, layout, CHART_FONT_SIZE_SMALL); //we compute the rate text here to get the font height pango_layout_set_text (layout, "00.00 %", -1); pango_layout_get_size (layout, &tw, &th); chart->legend_font_h = (th / PANGO_SCALE); // labels not much than 1/4 of graph gdouble lw = floor(chart->graph.width / 4); chart->legend_label_w = MIN(chart->label_w, lw); chart->legend.width = chart->legend_font_h + CHART_SPACING + chart->legend_label_w; chart->legend.height = MIN(floor(chart->nb_items * chart->legend_font_h * CHART_LINE_SPACING), chart->graph.height); if(chart->show_legend_wide ) { chart->legend_value_w = chart->scale_w; chart->legend_rate_w = (tw / PANGO_SCALE); chart->legend.width += CHART_SPACING + chart->legend_value_w + CHART_SPACING + chart->legend_rate_w; } //if legend visible, substract chart->graph.width -= (chart->legend.width + CHART_MARGIN); chart->legend.x = chart->graph.x + chart->graph.width + CHART_MARGIN; chart->legend.y = chart->graph.y; DB( g_print(" - graph : %g %g %g %g\n", chart->graph.x, chart->graph.y, chart->graph.width, chart->graph.height ) ); DB( g_print(" - legend: %g %g %g %g\n", chart->legend.x, chart->legend.y, chart->legend.width, chart->legend.height ) ); } g_object_unref (layout); cairo_destroy(cr); cairo_surface_destroy(surf); } static void colchart_calculation(GtkChart *chart) { gint blkw, maxvisi; DB( g_print("\n[column] calculation\n") ); /* from fusionchart the bar has a default width of 41 min space is 3 and min barw is 8 */ // new computing if( chart->usrbarw > 0.0 ) { blkw = chart->usrbarw; chart->barw = blkw - 3; } else { //minvisi = floor(chart->graph.width / (GTK_CHART_MINBARW+3) ); maxvisi = floor(chart->graph.width / (GTK_CHART_MAXBARW+3) ); DB( g_print(" width=%.2f, nb=%d, minvisi=%d, maxvisi=%d\n", chart->graph.width, chart->nb_items, minvisi, maxvisi) ); if( chart->nb_items <= maxvisi ) { chart->barw = GTK_CHART_MAXBARW; blkw = GTK_CHART_MAXBARW + ( chart->graph.width - (chart->nb_items*GTK_CHART_MAXBARW) ) / chart->nb_items; } else { blkw = MAX(GTK_CHART_MINBARW, floor(chart->graph.width / chart->nb_items)); chart->barw = blkw - 3; } } if(chart->dual) chart->barw = chart->barw / 2; DB( g_print(" blkw=%d, barw=%2.f\n", blkw, chart->barw) ); chart->blkw = blkw; chart->visible = chart->graph.width / blkw; chart->visible = MIN(chart->visible, chart->nb_items); chart->ox = chart->l; chart->oy = chart->b; if(chart->range > 0) chart->oy = floor(chart->graph.y + (chart->max/chart->range) * chart->graph.height); DB( g_print(" + ox=%f oy=%f\n", chart->ox, chart->oy) ); /* todo: hack on every xval */ if(chart->label_w > 0 && chart->visible > 0) { if( chart->label_w <= chart->blkw ) chart->every_xval = 1; else chart->every_xval = floor( 0.5 + (chart->label_w + CHART_SPACING) / chart->blkw); DB( g_print(" vis=%3d/%3d, xlabel_w=%g, blk_w=%g :: everyxval=%d\n", chart->visible, chart->nb_items, chart->label_w, chart->blkw, chart->every_xval) ); } } /* ** draw the scale */ static void colchart_draw_scale(GtkWidget *widget, gpointer user_data) { GtkChart *chart = GTK_CHART(user_data); cairo_t *cr; double x, y; gdouble curxval; gint i, first; PangoLayout *layout; gchar *valstr; int tw, th; DB( g_print("\n[column] draw scale\n") ); cr = cairo_create (chart->surface); layout = pango_cairo_create_layout (cr); chart_set_font_size(chart, layout, CHART_FONT_SIZE_NORMAL); cairo_set_line_width (cr, 1); /* clip */ //cairo_rectangle(cr, CHART_MARGIN, 0, chart->w, chart->h + CHART_MARGIN); //cairo_clip(cr); // Y-scale lines + labels (amounts) curxval = chart->max; cairo_set_dash(cr, 0, 0, 0); for(i=0 ; i<=chart->div ; i++) { y = 0.5 + floor (chart->graph.y + ((i * chart->unit) / chart->range) * chart->graph.height); //DB( g_print(" + i=%d :: y=%f (%f / %f) * %f\n", i, y, i*chart->unit, chart->range, chart->graph.height) ); // curxval = 0.0 is x-axis cairo_user_set_rgbacol (cr, &global_colors[THTEXT], ( curxval == 0.0 ) ? 0.8 : 0.1); cairo_move_to (cr, chart->graph.x, y); cairo_line_to (cr, chart->graph.x + chart->graph.width, y); cairo_stroke (cr); cairo_user_set_rgbacol (cr, &global_colors[THTEXT], 0.78); valstr = chart_print_int(chart, (gint)curxval); pango_layout_set_text (layout, valstr, -1); pango_layout_get_size (layout, &tw, &th); cairo_move_to (cr, chart->graph.x - (tw / PANGO_SCALE) - 2, y - ((th / PANGO_SCALE)*0.8) ); pango_cairo_show_layout (cr, layout); curxval -= chart->unit; } // X-scale lines + labels (items) if(chart->show_xval && chart->every_xval > 0 ) { x = chart->graph.x + (chart->blkw/2); y = chart->b - chart->font_h; first = gtk_adjustment_get_value(GTK_ADJUSTMENT(chart->adjustment)); cairo_set_dash(cr, dashed3, 1, 0); for(i=first ; i<(first+chart->visible) ; i++) { if( !(i % chart->every_xval) ) { ChartItem *item = &g_array_index(chart->items, ChartItem, i); cairo_user_set_rgbacol(cr, &global_colors[THTEXT], 0.1); cairo_move_to(cr, x, chart->graph.y); cairo_line_to(cr, x, chart->b - chart->font_h); cairo_stroke(cr); valstr = item->label; pango_layout_set_text (layout, valstr, -1); pango_layout_get_size (layout, &tw, &th); cairo_user_set_rgbacol(cr, &global_colors[THTEXT], 0.78); cairo_move_to(cr, x - ((tw / PANGO_SCALE)/2), y); pango_cairo_show_layout (cr, layout); } x += chart->blkw; } } /* average */ if( chart->show_average ) { if( chart->average < 0 ) { y = 0.5 + chart->oy + (ABS(chart->average)/chart->range) * chart->graph.height; } else { y = 0.5 + chart->oy - (ABS(chart->average)/chart->range) * chart->graph.height; } DB( g_print(" draw average: x%d, y%f, w%d\n", chart->l, y, chart->w) ); cairo_user_set_rgbacol(cr, &global_colors[THTEXT], 1.0); cairo_set_line_width(cr, 1.0); cairo_set_dash (cr, dashed3, 1, 0); cairo_move_to(cr, chart->graph.x, y); cairo_line_to (cr, chart->graph.x + chart->graph.width, y); cairo_stroke(cr); } g_object_unref (layout); cairo_destroy(cr); } /* ** draw all visible bars */ static void colchart_draw_bars(GtkWidget *widget, gpointer user_data) { GtkChart *chart = GTK_CHART(user_data); cairo_t *cr; double x, x2, y2, h; gint i, first; DB( g_print("\n[column] draw bars\n") ); x = chart->graph.x; first = (gint)gtk_adjustment_get_value(GTK_ADJUSTMENT(chart->adjustment)); cr = gdk_cairo_create (gtk_widget_get_window(widget)); //cr = cairo_create (chart->surface); DB( g_print(" x=%.2f first=%d, blkw=%.2f, barw=%.2f\n", x, first, chart->blkw, chart->barw ) ); #if DBGDRAW_ITEM == 1 x2 = x + 0.5; cairo_set_line_width(cr, 1.0); double dashlength; dashlength = 4; cairo_set_dash (cr, &dashlength, 1, 0); cairo_set_source_rgb(cr, 1.0, 0.0, 1.0); // violet for(i=first; i<=(first+chart->visible) ;i++) { cairo_move_to(cr, x2, chart->graph.y); cairo_line_to(cr, x2, chart->graph.x + chart->graph.height); x2 += chart->blkw; } cairo_stroke(cr); cairo_set_dash (cr, &dashlength, 0, 0); #endif for(i=first; i<(first+chart->visible) ;i++) { ChartItem *item = &g_array_index(chart->items, ChartItem, i); gint color; gint barw = chart->barw; //if(!chart->datas1[i]) goto nextbar; if(!chart->show_mono) color = i % chart->color_scheme.nb_cols; else color = chart->color_scheme.cs_green; cairo_user_set_rgbcol_over(cr, &chart->color_scheme.colors[color], i == chart->active); x2 = x + (chart->blkw/2) - 1; x2 = !chart->dual ? x2 - (barw/2) : x2 - barw - 1; if(item->serie1) { h = floor((item->serie1 / chart->range) * chart->graph.height); y2 = chart->oy - h; if(item->serie1 < 0.0) { y2 += 1; if(chart->show_mono) { color = chart->color_scheme.cs_red; cairo_user_set_rgbcol_over(cr, &chart->color_scheme.colors[color], i == chart->active); } } //DB( g_print(" + i=%d :: y2=%f h=%f (%f / %f) * %f\n", i, y2, h, chart->datas1[i], chart->range, chart->graph.height ) ); cairo_rectangle(cr, x2+2, y2, barw, h); cairo_fill(cr); } if( chart->dual && item->serie2) { x2 = x2 + barw + 1; h = floor((item->serie2 / chart->range) * chart->graph.height); y2 = chart->oy - h; cairo_rectangle(cr, x2+2, y2, barw, h); cairo_fill(cr); } x += chart->blkw; //debug //gdk_draw_line (widget->window, widget->style->fg_gc[widget->state], x, chart->oy-chart->posbarh, x, chart->oy+chart->negbarh); } cairo_destroy(cr); } /* ** get the bar under the mouse pointer */ static gint colchart_get_active(GtkWidget *widget, gint x, gint y, gpointer user_data) { GtkChart *chart = GTK_CHART(user_data); gint retval; gint index, first, px; retval = -1; if( x <= chart->r && x >= chart->graph.x && y >= chart->graph.y && y <= chart->b ) { px = (x - chart->graph.x); //py = (y - chart->oy); first = gtk_adjustment_get_value(GTK_ADJUSTMENT(chart->adjustment)); index = first + (px / chart->blkw); if(index < chart->nb_items) retval = index; } return(retval); } static void colchart_first_changed( GtkAdjustment *adj, gpointer user_data) { GtkChart *chart = GTK_CHART(user_data); //gint first; DB( g_print("\n[column] first changed\n") ); //first = gtk_adjustment_get_value(GTK_ADJUSTMENT(adj)); //DB( g_print(" first=%d\n", first) ); /* DB( g_print("scrollbar\n adj=%8x, low=%.2f upp=%.2f val=%.2f step=%.2f page=%.2f size=%.2f\n", adj, adj->lower, adj->upper, adj->value, adj->step_increment, adj->page_increment, adj->page_size) ); */ /* Set the number of decimal places to which adj->value is rounded */ //gtk_scale_set_digits (GTK_SCALE (hscale), (gint) adj->value); //gtk_scale_set_digits (GTK_SCALE (vscale), (gint) adj->value); drawarea_full_redraw (chart->drawarea, chart); DB( g_print("gtk_widget_queue_draw\n") ); gtk_widget_queue_draw(chart->drawarea); } /* ** scrollbar set values for upper, page size, and also show/hide */ static void colchart_scrollbar_setvalues(GtkChart *chart) { GtkAdjustment *adj = chart->adjustment; gint first; g_return_if_fail (GTK_IS_ADJUSTMENT (adj)); DB( g_print("\n[column] sb_set_values\n") ); first = gtk_adjustment_get_value(GTK_ADJUSTMENT(adj)); DB( g_print(" entries=%d, visible=%d\n", chart->nb_items, chart->visible) ); DB( g_print(" first=%d, upper=%d, pagesize=%d\n", first, chart->nb_items, chart->visible) ); gtk_adjustment_set_upper(adj, (gdouble)chart->nb_items); gtk_adjustment_set_page_size(adj, (gdouble)chart->visible); gtk_adjustment_set_page_increment(adj, (gdouble)chart->visible); if(first+chart->visible > chart->nb_items) { gtk_adjustment_set_value(adj, (gdouble)chart->nb_items - chart->visible); } #if( (GTK_MAJOR_VERSION == 3) && (GTK_MINOR_VERSION < 18) ) gtk_adjustment_changed (adj); #endif if( chart->visible < chart->nb_items ) gtk_widget_hide(GTK_WIDGET(chart->scrollbar)); else gtk_widget_show(GTK_WIDGET(chart->scrollbar)); } /* line section */ /* ** draw all visible lines */ static void linechart_draw_plot(cairo_t *cr, double x, double y, double r, GtkChart *chart) { cairo_set_line_width(cr, r / 2); cairo_user_set_rgbcol(cr, &global_colors[THBASE]); cairo_arc(cr, x, y, r, 0, 2*M_PI); cairo_stroke_preserve(cr); //cairo_set_source_rgb(cr, COLTOCAIRO(0), COLTOCAIRO(119), COLTOCAIRO(204)); cairo_user_set_rgbcol(cr, &chart->color_scheme.colors[chart->color_scheme.cs_blue]); cairo_fill(cr); } static void linechart_draw_lines(GtkWidget *widget, gpointer user_data) { GtkChart *chart = GTK_CHART(user_data); cairo_t *cr; double x, y, x2, y2, firstx, lastx, linew; gint first, i; DB( g_print("\n[line] draw lines\n") ); x = chart->graph.x; y = chart->oy; first = (gint)gtk_adjustment_get_value(GTK_ADJUSTMENT(chart->adjustment)); cr = gdk_cairo_create (gtk_widget_get_window(widget)); //cr = cairo_create (chart->surface); /* clip */ //cairo_rectangle(cr, CHART_MARGIN, 0, chart->w, chart->h + CHART_MARGIN); //cairo_clip(cr); #if DBGDRAW_ITEM == 1 x2 = x + 0.5; cairo_set_line_width(cr, 1.0); double dashlength = 4; cairo_set_dash (cr, &dashlength, 1, 0); cairo_set_source_rgb(cr, 1.0, 0.0, 1.0); // violet for(i=first; i<=(first+chart->visible) ;i++) { cairo_move_to(cr, x2, chart->graph.y); cairo_line_to(cr, x2, chart->graph.x + chart->graph.height); x2 += chart->blkw; } cairo_stroke(cr); cairo_set_dash (cr, &dashlength, 0, 0); #endif //todo: it should be possible to draw line & plot together using surface and composite fill, or sub path ?? lastx = x; firstx = x; linew = 4.0; if(chart->barw < 24) { linew = 1 + (chart->barw / 8.0); } cairo_set_line_join(cr, CAIRO_LINE_JOIN_BEVEL); cairo_set_line_width(cr, linew); for(i=first; i<(first+chart->visible) ;i++) { ChartItem *item = &g_array_index(chart->items, ChartItem, i); x2 = x + (chart->blkw)/2; y2 = chart->oy - (item->serie1 / chart->range) * chart->graph.height; if( i == first) { firstx = x2; cairo_move_to(cr, x2, y2); } else { if( i < (chart->nb_items) ) { cairo_line_to(cr, x2, y2); lastx = x2; } else lastx = x2 - chart->barw; } x += chart->blkw; } cairo_user_set_rgbcol(cr, &chart->color_scheme.colors[chart->color_scheme.cs_blue]); cairo_stroke_preserve(cr); cairo_line_to(cr, lastx, y); cairo_line_to(cr, firstx, y); cairo_close_path(cr); cairo_user_set_rgbacol(cr, &chart->color_scheme.colors[chart->color_scheme.cs_blue], AREA_ALPHA); cairo_fill(cr); x = chart->graph.x; y = chart->oy; first = (gint)gtk_adjustment_get_value(GTK_ADJUSTMENT(chart->adjustment)); // draw plots for(i=first; i<(first+chart->visible) ;i++) { ChartItem *item = &g_array_index(chart->items, ChartItem, i); x2 = x + (chart->blkw)/2; y2 = chart->oy - (item->serie1 / chart->range) * chart->graph.height; //test draw vertical selection line if( i == chart->active ) { cairo_user_set_rgbacol(cr, &global_colors[THTEXT], 0.1); //cairo_set_source_rgb(cr, 1.0, 0.0, 0.0); //blue cairo_set_line_width(cr, 1.0); cairo_move_to(cr, x2, chart->graph.y); cairo_line_to(cr, x2, chart->b - chart->font_h); cairo_stroke(cr); } linechart_draw_plot(cr, x2, y2, i == chart->active ? linew+1 : linew, chart); x += chart->blkw; } /* average */ if( chart->show_average ) { if( chart->average < 0 ) { y = 0.5 + chart->oy + (ABS(chart->average)/chart->range) * chart->graph.height; } else { y = 0.5 + chart->oy - (ABS(chart->average)/chart->range) * chart->graph.height; } y2 = (ABS(chart->min)/chart->range) * chart->graph.height - (y - chart->oy) + 1; DB( g_print(" draw average: x%d, y%f, w%d, h%f\n", chart->l, y, chart->w, y2) ); cairo_user_set_rgbacol(cr, &global_colors[THTEXT], 1.0); cairo_set_line_width(cr, 1.0); cairo_set_dash (cr, dashed3, 1, 0); cairo_move_to(cr, chart->graph.x, y); cairo_line_to (cr, chart->graph.x + chart->graph.width, y); cairo_stroke(cr); } /* overdrawn */ DB( g_print(" min=%.2f range=%.2f\n", chart->min, chart->range) ); if( chart->show_over ) { //if(chart->minimum != 0 && chart->minimum >= chart->min) if(chart->minimum >= chart->min) { if( chart->minimum < 0 ) { y = 0.5 + chart->oy + (ABS(chart->minimum)/chart->range) * chart->graph.height; } else { y = 0.5 + chart->oy - (ABS(chart->minimum)/chart->range) * chart->graph.height; } y2 = (ABS(chart->min)/chart->range) * chart->graph.height - (y - chart->oy) + 1; cairo_set_source_rgba(cr, COLTOCAIRO(255), COLTOCAIRO(0), COLTOCAIRO(0), AREA_ALPHA / 2); DB( g_print(" draw over: x%d, y%f, w%d, h%f\n", chart->l, y, chart->w, y2) ); cairo_rectangle(cr, chart->graph.x, y, chart->graph.width, y2 ); cairo_fill(cr); cairo_set_line_width(cr, 1.0); cairo_set_source_rgb(cr, COLTOCAIRO(255), COLTOCAIRO(0), COLTOCAIRO(0)); cairo_set_dash (cr, dashed3, 1, 0); cairo_move_to(cr, chart->graph.x, y); cairo_line_to (cr, chart->graph.x + chart->graph.width, y); cairo_stroke(cr); } } cairo_destroy(cr); } /* ** get the point under the mouse pointer */ static gint linechart_get_active(GtkWidget *widget, gint x, gint y, gpointer user_data) { GtkChart *chart = GTK_CHART(user_data); gint retval; gint first, index, px; DB( g_print("\n[line] get active\n") ); retval = -1; if( x <= chart->r && x >= chart->graph.x && y >= chart->graph.y && y <= chart->b ) { px = (x - chart->graph.x); //py = (y - chart->oy); first = gtk_adjustment_get_value(GTK_ADJUSTMENT(chart->adjustment)); index = first + (px / (chart->blkw)); if(index < chart->nb_items) retval = index; } return(retval); } /* pie section */ static void piechart_calculation(GtkChart *chart) { //GtkWidget *drawarea = chart->drawarea; gint w, h; DB( g_print("\n[pie] calculation\n") ); w = chart->graph.width; h = chart->graph.height; chart->rayon = MIN(w, h); chart->mark = 0; #if CHART_PARAM_PIE_MARK == TRUE gint m = floor(chart->rayon / 100); m = MAX(2, m); chart->rayon -= (m * 2); chart->mark = m; #endif chart->ox = chart->graph.x + (w / 2); chart->oy = chart->graph.y + (chart->rayon / 2); DB( g_print(" center: %g, %g - R=%d, mark=%d\n", chart->ox, chart->oy, chart->rayon, chart->mark) ); } static void piechart_draw_slices(GtkWidget *widget, gpointer user_data) { GtkChart *chart = GTK_CHART(user_data); cairo_t *cr; if(chart->nb_items <= 0 || chart->total == 0.0) return; DB( g_print("\n[pie] draw slices\n") ); //cairo drawing double a1 = 0 * (M_PI / 180); double a2 = 360 * (M_PI / 180); //g_print("angle1=%.2f angle2=%.2f\n", a1, a2); double cx = chart->ox; double cy = chart->oy; double radius = chart->rayon/2; gint i; double dx, dy; double sum = 0.0; gint color; cr = gdk_cairo_create (gtk_widget_get_window(widget)); //cr = cairo_create (chart->surface); DB( g_print("rayon=%d\n", chart->rayon) ); DB( g_print("total=%.f\n", chart->total) ); for(i=0; i< chart->nb_items ;i++) { ChartItem *item = &g_array_index(chart->items, ChartItem, i); a1 = ((360 * (sum / chart->total)) - 90) * (M_PI / 180); sum += ABS(item->serie1); a2 = ((360 * (sum / chart->total)) - 90) * (M_PI / 180); //if(i < chart->nb_items-1) a2 += 0.0175; dx = cx; dy = cy; DB( g_print("- s%2d: %.2f%% a1=%.2f a2=%.2f | %s %.f\n", i, sum / chart->total, a1, a2, item->label, item->serie1) ); cairo_move_to(cr, dx, dy); cairo_arc(cr, dx, dy, radius, a1, a2); #if CHART_PARAM_PIE_LINE == TRUE cairo_set_line_width(cr, 2.0); cairo_set_source_rgb(cr, 1.0, 1.0, 1.0); cairo_line_to(cr, cx, cy); cairo_stroke_preserve(cr); #endif //g_print("color : %f %f %f\n", COLTOCAIRO(colors[i].r), COLTOCAIRO(colors[i].g), COLTOCAIRO(colors[i].b)); color = i % chart->color_scheme.nb_cols; cairo_user_set_rgbcol_over(cr, &chart->color_scheme.colors[color], i == chart->active); cairo_fill(cr); } #if CHART_PARAM_PIE_DONUT == TRUE a1 = 0; a2 = 2 * M_PI; //original //radius = (gint)((chart->rayon/3) * (1 / PHI)); //5.1 //radius = (gint)((chart->rayon/2) * 2 / 3); //ynab //piehole value from 0.4 to 0.6 will look best on most charts radius = (gint)(chart->rayon/2) * CHART_PARAM_PIE_HOLEVALUE; cairo_arc(cr, cx, cy, radius, a1, a2); cairo_user_set_rgbcol(cr, &global_colors[THBASE]); cairo_fill(cr); #endif cairo_destroy(cr); } static gint piechart_get_active(GtkWidget *widget, gint x, gint y, gpointer user_data) { GtkChart *chart = GTK_CHART(user_data); gint retval, px, py; gint index; double radius, h; DB( g_print("\n[pie] get active\n") ); retval = -1; px = x - chart->ox; py = y - chart->oy; h = sqrt( pow(px,2) + pow(py,2) ); radius = chart->rayon / 2; if(h <= radius && h >= (radius * CHART_PARAM_PIE_HOLEVALUE) ) { double angle, b; b = (acos(px / h) * 180) / M_PI; angle = py > 0 ? b : 360 - b; angle += 90; if(angle > 360) angle -= 360; //angle = 360 - angle; //todo optimize gdouble cumul = 0; for(index=0; index< chart->nb_items ;index++) { ChartItem *item = &g_array_index(chart->items, ChartItem, index); cumul += ABS(item->serie1/chart->total)*360; if( cumul > angle ) { retval = index; break; } } //DB( g_print(" inside: x=%d, y=%d\n", x, y) ); //DB( g_print(" inside: b=%f angle=%f, slice is %d\n", b, angle, index) ); } return(retval); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static gboolean drawarea_full_redraw(GtkWidget *widget, gpointer user_data) { GtkChart *chart = GTK_CHART(user_data); cairo_t *cr; PangoLayout *layout; int tw, th; DB( g_print("------\n[gtkchart] drawarea full redraw\n") ); cr = cairo_create (chart->surface); #if MYDEBUG == 1 cairo_font_face_t *ff; cairo_scaled_font_t *sf; ff = cairo_get_font_face(cr); sf = cairo_get_scaled_font(cr); g_print("cairo ff = '%s'\n", cairo_toy_font_face_get_family(ff) ); ff = cairo_scaled_font_get_font_face(sf); g_print("cairo sf = '%s'\n", cairo_toy_font_face_get_family(ff) ); //cairo_set_font_face(cr, ff); #endif /* fillin the back in white */ //cairo_user_set_rgbcol(cr, &global_colors[WHITE]); cairo_user_set_rgbcol(cr, &global_colors[THBASE]); cairo_paint(cr); if(chart->nb_items == 0) { cairo_destroy(cr); return FALSE; } /*debug help draws */ #if DBGDRAW_RECT == 1 //clip area cairo_set_line_width(cr, 1.0); cairo_set_source_rgb(cr, 0.0, 1.0, 0.0); //green cairo_rectangle(cr, chart->l+0.5, chart->t+0.5, chart->w, chart->h); cairo_stroke(cr); //graph area cairo_set_source_rgb(cr, 1.0, 0.5, 0.0); //orange cairo_rectangle(cr, chart->graph.x+0.5, chart->graph.y+0.5, chart->graph.width, chart->graph.height); cairo_stroke(cr); #endif // draw title if(chart->title) { layout = pango_cairo_create_layout (cr); chart_set_font_size(chart, layout, CHART_FONT_SIZE_TITLE); pango_layout_set_text (layout, chart->title, -1); pango_layout_get_size (layout, &tw, &th); cairo_user_set_rgbcol(cr, &global_colors[THTEXT]); cairo_move_to(cr, chart->l, chart->t); pango_cairo_show_layout (cr, layout); #if DBGDRAW_TEXT == 1 double dashlength; cairo_set_source_rgb(cr, 0.0, 0.0, 1.0); //blue dashlength = 3; cairo_set_dash (cr, &dashlength, 1, 0); //cairo_move_to(cr, chart->l, chart->t); cairo_rectangle(cr, chart->l+0.5, chart->t+0.5, (tw / PANGO_SCALE), (th / PANGO_SCALE)); cairo_stroke(cr); #endif g_object_unref (layout); } switch(chart->type) { case CHART_TYPE_COL: colchart_draw_scale(widget, chart); //colchart_draw_bars(widget, chart); break; case CHART_TYPE_LINE: colchart_draw_scale(widget, chart); //linechart_draw_lines(widget, chart); break; case CHART_TYPE_PIE: //piechart_draw_slices(widget, chart); break; } //test legend if(chart->show_legend) { gint i; gchar *valstr; gint x, y; gint radius; gint color; DB( g_print("\n[chart] draw legend\n") ); layout = pango_cairo_create_layout (cr); chart_set_font_size(chart, layout, CHART_FONT_SIZE_SMALL); pango_layout_set_ellipsize(layout, PANGO_ELLIPSIZE_END); x = chart->legend.x; y = chart->legend.y; radius = chart->legend_font_h; #if DBGDRAW_RECT == 1 double dashlength; cairo_set_source_rgb(cr, 1.0, 0.5, 0.0); //orange dashlength = 3; cairo_set_dash (cr, &dashlength, 1, 0); //cairo_move_to(cr, x, y); cairo_rectangle(cr, chart->legend.x+0.5, chart->legend.y+0.5, chart->legend.width, chart->legend.height); cairo_stroke(cr); #endif for(i=0; i< chart->nb_items ;i++) { ChartItem *item = &g_array_index(chart->items, ChartItem, i); if(item) { //DB( g_print(" draw %2d '%s' y=%g\n", i, item->label, y) ); #if DBGDRAW_TEXT == 1 double dashlength; cairo_set_source_rgb(cr, 0.0, 0.0, 1.0); //blue dashlength = 3; cairo_set_dash (cr, &dashlength, 1, 0); //cairo_move_to(cr, x, y); cairo_rectangle(cr, x+0.5, y+0.5, chart->legend_font_h + CHART_SPACING + chart->legend_label_w, chart->legend_font_h); cairo_stroke(cr); #endif // check if enought height to draw if( chart->nb_items - i > 1 ) { if( (y + floor(2 * radius * CHART_LINE_SPACING)) > chart->b ) { DB( g_print(" print ...\n\n") ); pango_layout_set_text (layout, "...", -1); cairo_move_to(cr, x + radius + CHART_SPACING, y); pango_cairo_show_layout (cr, layout); break; } } // 1: palette cairo_arc(cr, x + (radius/2), y + (radius/2), (radius/2), 0, 2 * M_PI); color = i % chart->color_scheme.nb_cols; cairo_user_set_rgbcol(cr, &chart->color_scheme.colors[color]); cairo_fill(cr); cairo_user_set_rgbacol(cr, &global_colors[THTEXT], 0.78); // 2: label valstr = item->label; pango_layout_set_text (layout, valstr, -1); pango_layout_set_width(layout, chart->legend_label_w * PANGO_SCALE); cairo_move_to(cr, x + chart->legend_font_h + CHART_SPACING, y); pango_cairo_show_layout (cr, layout); if( chart->show_legend_wide ) { pango_layout_set_width(layout, -1); // 3: value valstr = chart_print_double(chart, chart->buffer1, item->serie1); pango_layout_set_text (layout, valstr, -1); pango_layout_get_size (layout, &tw, &th); cairo_move_to(cr, x + chart->legend_font_h + chart->legend_label_w + (CHART_SPACING*3) + chart->legend_value_w - (tw/PANGO_SCALE), y); pango_cairo_show_layout (cr, layout); // 4: rate valstr = chart_print_rate(chart, item->rate); pango_layout_set_text (layout, valstr, -1); pango_layout_get_size (layout, &tw, &th); cairo_move_to(cr, x + chart->legend_font_h + chart->legend_label_w + chart->legend_value_w + chart->legend_rate_w + (CHART_SPACING*3) - (tw/PANGO_SCALE), y); pango_cairo_show_layout (cr, layout); } //the radius contains the font height here //y += floor(chart->font_h * CHART_LINE_SPACING); y += floor(radius * CHART_LINE_SPACING); } } g_object_unref (layout); } cairo_destroy(cr); return TRUE; } static gboolean drawarea_configure_event_callback (GtkWidget *widget, GdkEventConfigure *event, gpointer user_data) { GtkChart *chart = GTK_CHART(user_data); GtkAllocation allocation; GtkStyleContext *context; PangoFontDescription *desc; gboolean colfound; GdkRGBA color; DB( g_print("\n[gtkchart] drawarea configure \n") ); gtk_widget_get_allocation (widget, &allocation); DB( g_print("w=%d h=%d\n", allocation.width, allocation.height) ); if (chart->surface) cairo_surface_destroy (chart->surface); chart->surface = gdk_window_create_similar_surface (gtk_widget_get_window (widget), CAIRO_CONTENT_COLOR, allocation.width, allocation.height); context = gtk_widget_get_style_context (widget); chart_color_global_default(); // get base color colfound = gtk_style_context_lookup_color(context, "theme_base_color", &color); if(!colfound) colfound = gtk_style_context_lookup_color(context, "base_color", &color); if( colfound ) { struct rgbcol *tcol = &global_colors[THBASE]; tcol->r = color.red * 255; tcol->g = color.green * 255; tcol->b = color.blue * 255; DB( g_print(" - theme base col: %x %x %x\n", tcol->r, tcol->g, tcol->b) ); } //get text color colfound = gtk_style_context_lookup_color(context, "theme_text_color", &color); if(!colfound) gtk_style_context_lookup_color(context, "text_color", &color); if( colfound ) { struct rgbcol *tcol = &global_colors[THTEXT]; tcol->r = color.red * 255; tcol->g = color.green * 255; tcol->b = color.blue * 255; DB( g_print(" - theme text (bg) col: %x %x %x\n", tcol->r, tcol->g, tcol->b) ); } //commented 5.1.5 //drawarea_full_redraw(widget, user_data); /* get and copy the font */ gtk_style_context_get(context, GTK_STATE_FLAG_NORMAL, "font", &desc, NULL); if(chart->pfd) { pango_font_description_free (chart->pfd); chart->pfd = NULL; } chart->pfd = pango_font_description_copy(desc); chart->pfd_size = pango_font_description_get_size (desc) / PANGO_SCALE; //chart->barw = (6 + chart->pfd_size) * PHI; //leak: we should free desc here ? //or no need to copy above ? //pango_font_description_free(desc); DB( g_print("family: %s\n", pango_font_description_get_family(chart->pfd) ) ); DB( g_print("size : %d (%d)\n", chart->pfd_size, chart->pfd_size/PANGO_SCALE ) ); DB( g_print("isabs : %d\n", pango_font_description_get_size_is_absolute (chart->pfd) ) ); if( gtk_widget_get_realized(widget)) { chart_recompute(chart); drawarea_full_redraw(widget, chart); } /* We've handled the configure event, no need for further processing. */ return TRUE; } static void drawarea_realize_callback(GtkWidget *widget, gpointer user_data) { //GtkChart *chart = GTK_CHART(user_data); DB( g_print("\n[gtkchart] drawarea realize\n") ); //chart_recompute(chart); } static gboolean drawarea_draw_callback(GtkWidget *widget, cairo_t *cr, gpointer user_data) { GtkChart *chart = GTK_CHART(user_data); if( !gtk_widget_get_realized(widget) || chart->surface == NULL ) return FALSE; DB( g_print("\n[gtkchart] drawarea draw callback\n") ); cairo_set_source_surface (cr, chart->surface, 0, 0); cairo_paint (cr); switch(chart->type) { case CHART_TYPE_COL: colchart_draw_bars(widget, chart); break; case CHART_TYPE_LINE: linechart_draw_lines(widget, chart); break; case CHART_TYPE_PIE: piechart_draw_slices(widget, chart); break; } return FALSE; } static gboolean drawarea_querytooltip_callback(GtkWidget *widget, gint x, gint y, gboolean keyboard_mode, GtkTooltip *tooltip, gpointer user_data) { GtkChart *chart = GTK_CHART(user_data); gchar *strval, *strval2, *buffer; gboolean retval = FALSE; if(chart->surface == NULL) return FALSE; DB( g_print("\n[gtkchart] drawarea querytooltip\n") ); DB( g_print(" x=%d, y=%d kbm=%d\n", x, y, keyboard_mode) ); if(chart->lastactive != chart->active) { goto end; } if(chart->active >= 0) { ChartItem *item = &g_array_index(chart->items, ChartItem, chart->active); strval = chart_print_double(chart, chart->buffer1, item->serie1); if( !chart->dual ) { //#1420495 don't use g_markup_printf_escaped if( chart->type == CHART_TYPE_PIE ) buffer = g_strdup_printf("%s\n%s\n%.2f%%", item->label, strval, item->rate); else buffer = g_strdup_printf("%s\n%s", item->label, strval); } else { strval2 = chart_print_double(chart, chart->buffer2, item->serie2); buffer = g_strdup_printf("%s\n+%s\n%s", item->label, strval2, strval); } gtk_tooltip_set_text(tooltip, buffer); //gtk_label_set_markup(GTK_LABEL(chart->ttlabel), buffer); g_free(buffer); retval = TRUE; } end: chart->lastactive = chart->active; return retval; } static gboolean drawarea_motionnotifyevent_callback(GtkWidget *widget, GdkEventMotion *event, gpointer user_data) { GtkChart *chart = GTK_CHART(user_data); gboolean retval = TRUE; gint x, y; if(chart->surface == NULL || chart->nb_items == 0) return FALSE; DB( g_print("\n[gtkchart] drawarea motion\n") ); x = event->x; y = event->y; //todo see this if(event->is_hint) { DB( g_print(" is hint\n") ); gdk_window_get_device_position(event->window, event->device, &x, &y, NULL); //gdk_window_get_pointer(event->window, &x, &y, NULL); //return FALSE; } switch(chart->type) { case CHART_TYPE_COL: chart->active = colchart_get_active(widget, x, y, chart); break; case CHART_TYPE_LINE: chart->active = linechart_get_active(widget, x, y, chart); break; case CHART_TYPE_PIE: chart->active = piechart_get_active(widget, x, y, chart); break; } //test: eval legend if( chart->show_legend && chart->active == - 1) { if( x >= chart->legend.x && (x <= (chart->legend.x+chart->legend.width )) && y >= chart->legend.y && (y <= (chart->legend.y+chart->legend.height )) ) { //use the radius a font height here chart->active = (y - chart->legend.y) / floor(chart->legend_font_h * CHART_LINE_SPACING); } if( chart->active > chart->nb_items - 1) { chart->active = -1; } } // rollover redraw ? DB( g_print(" active: last=%d, curr=%d\n", chart->lastactive, chart->active) ); if(chart->lastactive != chart->active) { GdkRectangle update_rect; gint first; DB( g_print(" motion rollover redraw :: active=%d\n", chart->active) ); first = (gint)gtk_adjustment_get_value(GTK_ADJUSTMENT(chart->adjustment)); /* pie : always invalidate all graph area */ if( chart->type == CHART_TYPE_PIE ) { update_rect.x = chart->graph.x; update_rect.y = chart->graph.y; update_rect.width = chart->graph.width; update_rect.height = chart->graph.height; /* Now invalidate the affected region of the drawing area. */ gdk_window_invalidate_rect (gtk_widget_get_window (widget), &update_rect, FALSE); } if(chart->lastactive != -1) { /* column/line : invalidate rollover */ if( chart->type == CHART_TYPE_COL || chart->type == CHART_TYPE_LINE ) { update_rect.x = chart->graph.x + (chart->lastactive - first) * chart->blkw; update_rect.y = chart->graph.y - 6; update_rect.width = chart->blkw; update_rect.height = chart->graph.height + 12; } /* Now invalidate the affected region of the drawing area. */ gdk_window_invalidate_rect (gtk_widget_get_window (widget), &update_rect, FALSE); } /* column/line : invalidate current item */ if( chart->type == CHART_TYPE_COL || chart->type == CHART_TYPE_LINE ) { update_rect.x = chart->graph.x + (chart->active - first) * chart->blkw; update_rect.y = chart->graph.y - 6; update_rect.width = chart->blkw; update_rect.height = chart->graph.height + 12; /* Now invalidate the affected region of the drawing area. */ gdk_window_invalidate_rect (gtk_widget_get_window (widget), &update_rect, FALSE); } //gtk_widget_queue_draw( widget ); //retval = FALSE; } DB( g_print(" x=%d, y=%d, time=%d\n", x, y, event->time) ); //if(inlegend != TRUE) // gtk_tooltip_trigger_tooltip_query(gtk_widget_get_display(chart->drawarea)); return retval; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /* public functions */ /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ void gtk_chart_queue_redraw(GtkChart *chart) { DB( g_print("\n[gtkchart] queue redraw\n") ); if( gtk_widget_get_realized(chart->drawarea) ) { chart_recompute(chart); drawarea_full_redraw(chart->drawarea, chart); DB( g_print("gtk_widget_queue_draw\n") ); gtk_widget_queue_draw( chart->drawarea ); } } /* ** change the model and/or column */ void gtk_chart_set_datas(GtkChart *chart, GtkTreeModel *model, guint column, gchar *title, gchar *subtitle) { g_return_if_fail (GTK_IS_CHART (chart)); DB( g_print("\n[gtkchart] set datas\n") ); if( GTK_IS_TREE_MODEL(model) ) { chart_setup_with_model(chart, model, column, column); if(title != NULL) chart->title = g_strdup(title); if(subtitle != NULL) chart->subtitle = g_strdup(subtitle); gtk_chart_queue_redraw(chart); } else { chart_clear(chart); if( GTK_IS_LIST_STORE(chart->model) ) gtk_list_store_clear (GTK_LIST_STORE(chart->model)); } } /* ** change the model and/or column */ void gtk_chart_set_dualdatas(GtkChart *chart, GtkTreeModel *model, guint column1, guint column2, gchar *title, gchar *subtitle) { g_return_if_fail (GTK_IS_CHART (chart)); DB( g_print("\n[gtkchart] set dualdatas\n") ); if( GTK_IS_TREE_MODEL(model) ) { chart_setup_with_model(chart, model, column1, column2 ); if(title != NULL) chart->title = g_strdup(title); if(subtitle != NULL) chart->subtitle = g_strdup(subtitle); gtk_chart_queue_redraw(chart); } else { chart_clear(chart); if( GTK_IS_LIST_STORE(chart->model) ) gtk_list_store_clear (GTK_LIST_STORE(chart->model)); } } /* ** change the type dynamically */ void gtk_chart_set_type(GtkChart * chart, gint type) { g_return_if_fail (GTK_IS_CHART (chart)); //g_return_if_fail (type < CHART_TYPE_MAX); DB( g_print("\n[gtkchart] set type %d\n", type) ); chart->type = type; chart->dual = FALSE; gtk_chart_queue_redraw(chart); } /* = = = = = = = = = = parameters = = = = = = = = = = */ void gtk_chart_set_color_scheme(GtkChart * chart, gint index) { colorscheme_init(&chart->color_scheme, index); } /* ** set the minor parameters */ void gtk_chart_set_minor_prefs(GtkChart * chart, gdouble rate, gchar *symbol) { g_return_if_fail (GTK_IS_CHART (chart)); DB( g_print("\n[gtkchart] set minor prefs\n") ); chart->minor_rate = rate; chart->minor_symbol = symbol; } void gtk_chart_set_absolute(GtkChart * chart, gboolean abs) { g_return_if_fail (GTK_IS_CHART (chart)); DB( g_print("\n[gtkchart] set absolute\n") ); chart->abs = abs; } void gtk_chart_set_currency(GtkChart * chart, guint32 kcur) { g_return_if_fail (GTK_IS_CHART (chart)); chart->kcur = kcur; } /* ** set the overdrawn minimum */ void gtk_chart_set_overdrawn(GtkChart * chart, gdouble minimum) { g_return_if_fail (GTK_IS_CHART (chart)); DB( g_print("\n[gtkchart] set overdrawn\n") ); chart->minimum = minimum; //if(chart->type == CHART_TYPE_LINE) // chart_recompute(chart); } /* ** obsolete: set the every_xval */ /*void gtk_chart_set_every_xval(GtkChart * chart, gint gap) { g_return_if_fail (GTK_IS_CHART (chart)); DB( g_print("\n[gtkchart] set every_xval\n") ); chart->every_xval = gap; //if(chart->type != CHART_TYPE_PIE) // chart_recompute(chart); }*/ /* ** set the barw */ void gtk_chart_set_barw(GtkChart * chart, gdouble barw) { g_return_if_fail (GTK_IS_CHART (chart)); DB( g_print("\n[gtkchart] set barw\n") ); if( barw >= GTK_CHART_MINBARW && barw <= GTK_CHART_MAXBARW ) chart->usrbarw = barw; else chart->usrbarw = 0; if(chart->type != CHART_TYPE_PIE) gtk_chart_queue_redraw(chart); } /* ** set the show mono (colors) */ void gtk_chart_set_showmono(GtkChart * chart, gboolean mono) { g_return_if_fail (GTK_IS_CHART (chart)); chart->show_mono = mono; if(chart->type != CHART_TYPE_PIE) gtk_chart_queue_redraw(chart); } /* = = = = = = = = = = visibility = = = = = = = = = = */ /* ** change the legend visibility */ void gtk_chart_show_legend(GtkChart * chart, gboolean visible, gboolean showextracol) { g_return_if_fail (GTK_IS_CHART (chart)); chart->show_legend = visible; chart->show_legend_wide = showextracol; gtk_chart_queue_redraw(chart); } /* ** change the x-value visibility */ void gtk_chart_show_xval(GtkChart * chart, gboolean visible) { g_return_if_fail (GTK_IS_CHART (chart)); DB( g_print("\n[gtkchart] set show xval\n") ); chart->show_xval = visible; //if(chart->type != CHART_TYPE_PIE) // chart_recompute(chart); } void gtk_chart_show_average(GtkChart * chart, gdouble value, gboolean visible) { g_return_if_fail (GTK_IS_CHART (chart)); DB( g_print("\n[gtkchart] set show average %f\n", value) ); chart->average = value; chart->show_average = visible; //if(chart->type == CHART_TYPE_LINE) // chart_recompute(chart); } /* ** chnage the overdrawn visibility */ void gtk_chart_show_overdrawn(GtkChart * chart, gboolean visible) { g_return_if_fail (GTK_IS_CHART (chart)); DB( g_print("\n[gtkchart] set show overdrawn\n") ); chart->show_over = visible; //if(chart->type == CHART_TYPE_LINE) // chart_recompute(chart); } /* ** change the minor visibility */ void gtk_chart_show_minor(GtkChart * chart, gboolean minor) { g_return_if_fail (GTK_IS_CHART (chart)); DB( g_print("\n[gtkchart] set show minor\n") ); chart->minor = minor; if(chart->type != CHART_TYPE_PIE) gtk_chart_queue_redraw(chart); } homebank-5.3.2/src/hb-hbfile.h0000644000175000017500000000311513620015710013001 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_HBFILE_H__ #define __HB_HBFILE_H__ GList *hbfile_transaction_get_all(void); GQueue *hbfile_transaction_get_partial(guint32 minjulian, guint32 maxjulian); GQueue *hbfile_transaction_get_partial_budget(guint32 minjulian, guint32 maxjulian); gboolean hbfile_file_isbackup(gchar *filepath); gboolean hbfile_file_hasrevert(gchar *filepath); guint64 hbfile_file_get_time_modified(gchar *filepath); void hbfile_file_default(void); void hbfile_change_owner(gchar *owner); void hbfile_change_filepath(gchar *filepath); void hbfile_cleanup(gboolean file_clear); void hbfile_setup(gboolean file_clear); void hbfile_sanity_tags(void); void hbfile_sanity_check(void); void hbfile_anonymize(void); void hbfile_change_basecurrency(guint32 key); void hbfile_replace_basecurrency(Currency4217 *curfmt); #endif homebank-5.3.2/src/ui-budget.h0000644000175000017500000000275213604720371013064 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_BUDGET_GTK_H__ #define __HB_BUDGET_GTK_H__ enum { COL_NAME = 0, COL_OLDINDEX, NUM_COLS }; #define FIELD_TYPE 15 struct ui_bud_manage_data { GList *tmp_list; gint change; Category *lastcatitem; GtkWidget *dialog; GtkWidget *LV_cat; GtkWidget *BT_expand; GtkWidget *BT_collapse; GtkWidget *RA_type; GtkWidget *label_budget; GtkWidget *CM_type[2]; GtkWidget *label[13]; //0 index is for All (not displayed) GtkWidget *spinner[13]; //0 index is for All GtkWidget *label_options; GtkWidget *CM_force; GtkWidget *TX_totexp, *TX_totinc, *TX_totbal; GtkWidget *BT_clear; Category *cat; gdouble totexp, totinc; }; GtkWidget *ui_bud_manage_dialog (void); #endif homebank-5.3.2/src/hb-tag.h0000644000175000017500000000312713604720371012336 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_TAG_H__ #define __HB_TAG_H__ typedef struct _tag Tag; struct _tag { guint32 key; gchar *name; /* unsaved datas */ //gboolean flt_select; guint usage_count; }; void da_tag_free(Tag *item); Tag *da_tag_malloc(void); void da_tag_destroy(void); void da_tag_new(void); guint da_tag_length(void); gboolean da_tag_create_none(void); gboolean da_tag_delete(guint32 key); gboolean da_tag_insert(Tag *acc); gboolean da_tag_append(Tag *acc); guint32 da_tag_get_max_key(void); Tag *da_tag_get_by_name(gchar *name); Tag *da_tag_get(guint32 key); guint tags_count(guint32 *tags); guint32 *tags_clone(guint32 *tags); guint32 *tags_parse(const gchar *tagstring); gchar *tags_tostring(guint32 *tags); gboolean tag_rename(Tag *item, const gchar *newname); GList *tag_glist_sorted(gint column); #endif homebank-5.3.2/src/ui-assist-start.h0000644000175000017500000000247113604720371014251 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_UI_ASSIST_START_GTK_H__ #define __HB_UI_ASSIST_START_GTK_H__ struct assist_start_data { GtkWidget *window; //GtkWidget *pages[NUM_PAGE]; GtkWidget *ST_owner; GtkWidget *LB_currency; GtkWidget *BT_change; GtkWidget *TX_lang; GtkWidget *TX_file; GtkWidget *ok_image, *ko_image; GtkWidget *CM_load; GtkWidget *ST_name; GtkWidget *CY_type; GtkWidget *ST_number; GtkWidget *ST_initial; GtkWidget *ST_minimum; Currency4217 *curfmt; gchar *pathfilename; }; GtkWidget *ui_start_assistant(void); #endif homebank-5.3.2/src/ui-hbfile.c0000644000175000017500000002243413604720365013040 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "ui-hbfile.h" #include "ui-category.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; /* ** get widgets contents from the selected account */ static void defhbfile_get(GtkWidget *widget, gpointer user_data) { struct defhbfile_data *data; gchar *owner; guint32 vehicle; gint smode, weekday, nbdays; DB( g_print("(ui-hbfile) get\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); // get values owner = (gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_owner)); vehicle = ui_cat_comboboxentry_get_key(GTK_COMBO_BOX(data->PO_grp)); if( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->radio[0])) ) smode = 0; else smode = 1; weekday = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->NU_weekday)); nbdays = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->NU_nbdays)); // check for changes if(strcasecmp(owner, GLOBALS->owner)) data->change++; if(vehicle != GLOBALS->vehicle_category) data->change++; if(smode != GLOBALS->auto_smode) data->change++; if(weekday != GLOBALS->auto_weekday) data->change++; if(nbdays != GLOBALS->auto_nbdays) data->change++; // update if (owner && *owner) hbfile_change_owner(g_strdup(owner)); GLOBALS->vehicle_category = vehicle; GLOBALS->auto_smode = smode; GLOBALS->auto_weekday = weekday; GLOBALS->auto_nbdays = nbdays; DB( g_print(" -> owner %s\n", GLOBALS->owner) ); DB( g_print(" -> ccgrp %d\n", GLOBALS->vehicle_category) ); DB( g_print(" -> smode %d\n", GLOBALS->auto_smode) ); DB( g_print(" -> weekday %d\n", GLOBALS->auto_weekday) ); DB( g_print(" -> nbdays %d\n", GLOBALS->auto_nbdays) ); } /* ** set widgets contents from the selected account */ static void defhbfile_set(GtkWidget *widget, gpointer user_data) { struct defhbfile_data *data; DB( g_print("(ui-hbfile) set\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print(" -> ccgrp %d\n", GLOBALS->vehicle_category) ); DB( g_print(" -> autoinsert %d\n", GLOBALS->auto_nbdays) ); if(GLOBALS->owner) gtk_entry_set_text(GTK_ENTRY(data->ST_owner), GLOBALS->owner); ui_cat_comboboxentry_set_active(GTK_COMBO_BOX(data->PO_grp), GLOBALS->vehicle_category); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->radio[GLOBALS->auto_smode]), TRUE); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->NU_nbdays), GLOBALS->auto_nbdays); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->NU_weekday), GLOBALS->auto_weekday); } static void defhbfile_toggle(GtkRadioButton *radiobutton, gpointer user_data) { struct defhbfile_data *data; gboolean sensitive; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(radiobutton), GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n(defhbfile_data) toggle\n") ); sensitive = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->radio[0])); DB( g_print(" -> radio[0]=%d %s\n", sensitive, sensitive ? "add until" : "add every x") ); gtk_widget_set_sensitive (data->LB_nbdays, !sensitive); gtk_widget_set_sensitive (data->LB_weekday, sensitive); gtk_widget_set_sensitive (data->NU_nbdays, !sensitive); gtk_widget_set_sensitive (data->NU_weekday, sensitive); } /* ** */ static gboolean defhbfile_cleanup(struct defhbfile_data *data, gint result) { gboolean doupdate = FALSE; DB( g_print("(ui-hbfile) cleanup\n") ); if(result == GTK_RESPONSE_ACCEPT) { defhbfile_get(data->ST_owner, NULL); DB( g_print(" -> GLOBAL change = %d\n", GLOBALS->changes_count) ); DB( g_print(" -> we update, change = %d\n", data->change) ); GLOBALS->changes_count += data->change; } return doupdate; } /* ** */ static void defhbfile_setup(struct defhbfile_data *data) { DB( g_print("(ui-hbfile) setup\n") ); data->change = 0; ui_cat_comboboxentry_populate(GTK_COMBO_BOX(data->PO_grp), GLOBALS->h_cat); defhbfile_set(data->ST_owner, NULL); } GtkWidget *create_defhbfile_dialog (void) { struct defhbfile_data *data; GtkWidget *dialog, *content_area, *content_grid, *group_grid; GtkWidget *label, *widget; gint crow, row; data = g_malloc0(sizeof(struct defhbfile_data)); if(!data) return NULL; dialog = gtk_dialog_new_with_buttons (_("File properties"), GTK_WINDOW(GLOBALS->mainwindow), 0, _("_Cancel"), GTK_RESPONSE_REJECT, _("_OK"), GTK_RESPONSE_ACCEPT, NULL); //store our dialog private data g_object_set_data(G_OBJECT(dialog), "inst_data", (gpointer)data); DB( g_print("(defaccount) dialog=%p, inst_data=%p\n", dialog, data) ); gtk_window_set_icon_name(GTK_WINDOW (dialog), ICONNAME_PROPERTIES); gtk_window_set_resizable(GTK_WINDOW (dialog), FALSE); content_area = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); // return a vbox content_grid = gtk_grid_new(); gtk_grid_set_row_spacing (GTK_GRID (content_grid), SPACING_LARGE); gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL); gtk_container_set_border_width (GTK_CONTAINER(content_grid), SPACING_MEDIUM); gtk_box_pack_start (GTK_BOX (content_area), content_grid, TRUE, TRUE, 0); crow = 0; // group :: General group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("General")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; label = make_label_widget(_("_Title:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_string(label); data->ST_owner = widget; gtk_widget_set_hexpand(widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); // group :: Scheduled transaction group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("Scheduled transaction")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 4, 1); row = 1; widget = gtk_radio_button_new_with_label (NULL, _("add until")); data->radio[0] = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); widget = make_numeric(NULL, 1, 28); data->NU_weekday = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); label = make_label(_("of each month (excluded)"), 0.0, 0.5); data->LB_weekday = label; gtk_grid_attach (GTK_GRID (group_grid), label, 3, row, 1, 1); row++; widget = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON (data->radio[0]), _("add")); data->radio[1] = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); widget = make_numeric(NULL, 0, 366); data->NU_nbdays = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); //TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date label = make_label(_("days in advance the current date"), 0.0, 0.5); data->LB_nbdays = label; gtk_grid_attach (GTK_GRID (group_grid), label, 3, row, 1, 1); // group :: Scheduled transaction group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("Vehicle cost")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; label = make_label_widget(_("_Category:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = ui_cat_comboboxentry_new(label); data->PO_grp = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); //connect all our signals g_signal_connect (dialog, "destroy", G_CALLBACK (gtk_widget_destroyed), &dialog); g_signal_connect (data->radio[0], "toggled", G_CALLBACK (defhbfile_toggle), NULL); //setup, init and show window defhbfile_setup(data); //defhbfile_update(data->LV_arc, NULL); gtk_widget_show_all (dialog); //wait for the user gint result = gtk_dialog_run (GTK_DIALOG (dialog)); // cleanup and destroy defhbfile_cleanup(data, result); gtk_widget_destroy (dialog); g_free(data); return dialog; } homebank-5.3.2/src/ui-pref.c0000644000175000017500000025200513604720365012542 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "ui-pref.h" #include "dsp-mainwindow.h" #include "gtk-chart-colors.h" #include "ui-currency.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; enum { LST_PREF_ICONNAME, LST_PREF_NAME, LST_PREF_PAGE, LST_PREF_MAX }; enum { PREF_GENERAL, PREF_INTERFACE, PREF_LOCALE, //old DISPLAY PREF_TXN, //old COLUMNS PREF_IMPORT, PREF_REPORT, PREF_BACKUP, PREF_FOLDERS, PREF_EURO, PREF_MAX }; static gchar *pref_iconname[PREF_MAX] = { "prf-general", "prf-interface", "prf-locale", "prf-columns", //"prf-display", "prf-import", "prf-report", "prf-backup", "prf-folder", "prf-euro", // to be renamed //"prf_charts.svg" }; static gchar *pref_name[PREF_MAX] = { N_("General"), N_("Interface"), N_("Locale"), N_("Transactions"), N_("Import/Export"), N_("Report"), N_("Backup"), N_("Folders"), N_("Euro minor") // }; static gchar *CYA_TOOLBAR_STYLE[] = { N_("System defaults"), N_("Icons only"), N_("Text only"), N_("Text under icons"), N_("Text beside icons"), NULL }; static gchar *CYA_GRID_LINES[] = { N_("None"), N_("Horizontal"), N_("Vertical"), N_("Both"), NULL }; gchar *CYA_TANGO_COLORS[] = { "----", N_("Tango light"), N_("Tango medium"), N_("Tango dark"), NULL }; gchar *CYA_IMPORT_DATEORDER[] = { N_("m-d-y"), N_("d-m-y"), N_("y-m-d"), NULL }; gchar *CYA_IMPORT_OFXNAME[] = { N_("Ignore"), N_("Memo"), N_("Payee"), N_("Info"), NULL }; gchar *CYA_IMPORT_OFXMEMO[] = { N_("Ignore"), N_("Append to Info"), N_("Append to Memo"), N_("Append to Payee"), NULL }; gchar *CYA_IMPORT_CSVSEPARATOR[] = { N_("Tab"), N_("Comma"), N_("Semicolon"), N_("Space"), NULL }; extern gchar *CYA_CHART_COLORSCHEME[]; extern gchar *CYA_MONTHS[]; /* source: http://en.wikipedia.org/wiki/Currencies_of_the_European_Union http://www.xe.com/euro.php http://fr.wikipedia.org/wiki/Liste_des_unit%C3%A9s_mon%C3%A9taires_remplac%C3%A9es_par_l%27euro http://www.inter-locale.com/LocalesDemo.jsp */ static EuroParams euro_params[] = { // , rate , symb , prfx , dec, grp, frac // --------------------------------------------------------------------- { 0, "" , "--------" , 1.0 , "" , FALSE, ",", ".", 2 }, { 1, "ATS", "Austria" , 13.7603 , "S" , TRUE , ",", ".", 2 }, // -S 1.234.567,89 { 2, "BEF", "Belgium" , 40.3399 , "BF" , TRUE , ",", ".", 2 }, // BF 1.234.567,89 - { 20, "BGN", "Bulgaria" , 1.95583 , "лв." , TRUE , ",", " ", 2 }, // non-fixé - 2014 target for euro { 24, "HRK", "Croatia" , 1.0000 , "kn" , FALSE, "" , ".", 0 }, // non-fixé - 2015 target for euro earliest { 14, "CYP", "Cyprus" , 0.585274 , "£" , TRUE , ",", "" , 2 }, // { 23, "CZK", "Czech Republic" , 28.36 , "Kč" , FALSE, ",", " ", 2 }, // non-fixé - 2015 earliest // Denmark { 17, "EEK", "Estonia" , 15.6466 , "kr" , FALSE, ",", " ", 2 }, // { 3, "FIM", "Finland" , 5.94573 , "mk" , FALSE, ",", " ", 2 }, // -1 234 567,89 mk { 4, "FRF", "France" , 6.55957 , "F" , FALSE, ",", " ", 2 }, // -1 234 567,89 F { 5, "DEM", "Germany" , 1.95583 , "DM" , FALSE, ",", ".", 2 }, // -1.234.567,89 DM { 6, "GRD", "Greece" , 340.750 , "d" , TRUE , ".", ",", 2 }, // ?? { 21, "HUF", "Hungary" , 261.51 , "Ft" , TRUE , ",", " ", 2 }, // non-fixé - No current target for euro { 7, "IEP", "Ireland" , 0.787564 , "£" , TRUE , ".", ",", 2 }, // -£1,234,567.89 { 8, "ITL", "Italy" , 1936.27 , "L" , TRUE , "" , ".", 0 }, // L -1.234.567 { 18, "LVL", "Latvia" , 0.702804 , "lat.", FALSE, ",", "" , 2 }, // jan. 2014 { 19, "LTL", "Lithuania" , 3.45280 , "Lt" , FALSE, ",", "" , 2 }, // jan. 2015 { 9, "LUF", "Luxembourg" , 40.3399 , "LU" , TRUE , ",", ".", 2 }, // LU 1.234.567,89 - { 15, "MTL", "Malta" , 0.429300 , "Lm" , TRUE , ",", "" , 2 }, // { 10, "NLG", "Netherlands" , 2.20371 , "F" , TRUE , ",", ".", 2 }, // F 1.234.567,89- { 25, "PLN", "Poland" , 0.25 , "zł" , FALSE, ",", "" , 2 }, // non-fixé - No current target for euro { 11, "PTE", "Portugal" , 200.482 , "Esc.", FALSE, "$", ".", 2 }, // -1.234.567$89 Esc. { 22, "RON", "Romania" , 3.5155 , "Leu" , FALSE, ",", ".", 2 }, // non-fixé - 2015 target for euro earliest { 16, "SKK", "Slovak Republic", 30.12600 , "Sk" , FALSE, ",", " ", 2 }, // { 13, "SIT", "Slovenia" , 239.640 , "tol" , TRUE , ",", ".", 2 }, // { 12, "ESP", "Spain" , 166.386 , "Pts" , TRUE , "" , ".", 0 }, // -Pts 1.234.567 //Sweden //United Kingdom // { " ", "" , 1.00000 , "" , "" , FALSE, ",", "", 2 }, }; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =*/ static LangName languagenames[] = { // af ar ast be bg ca cs cy da de el en_AU en_CA en_GB es et eu fa fi fr ga gl he hr hu id is it //ja ka ko lt lv ms nb nds nl oc pl pt_BR pt pt_PT ro ru si sk sl sr sv tr uk vi zh_CN zh_TW { "aa", "Afar" }, { "ab", "Abkhazian" }, { "ae", "Avestan" }, { "af", "Afrikaans" }, { "ak", "Akan" }, { "am", "Amharic" }, { "an", "Aragonese" }, { "ar", "Arabic" }, { "as", "Assamese" }, { "ast", "Asturian, Bable, Leonese, Asturleonese" }, { "av", "Avaric" }, { "ay", "Aymara" }, { "az", "Azerbaijani" }, { "ba", "Bashkir" }, { "be", "Belarusian" }, { "bg", "Bulgarian" }, { "bh", "Bihari" }, { "bi", "Bislama" }, { "bm", "Bambara" }, { "bn", "Bengali" }, { "bo", "Tibetan" }, { "br", "Breton" }, { "bs", "Bosnian" }, { "ca", "Catalan" }, { "ce", "Chechen" }, { "ch", "Chamorro" }, { "co", "Corsican" }, { "cr", "Cree" }, { "cs", "Czech" }, { "cu", "Old Church Slavonic" }, { "cv", "Chuvash" }, { "cy", "Welsh" }, { "da", "Danish" }, { "de", "German" }, { "dv", "Divehi" }, { "dz", "Dzongkha" }, { "ee", "Ewe" }, { "el", "Greek" }, { "en", "English" }, { "eo", "Esperanto" }, { "es", "Spanish" }, { "et", "Estonian" }, { "eu", "Basque" }, { "fa", "Persian" }, { "ff", "Fulah" }, { "fi", "Finnish" }, { "fj", "Fijian" }, { "fo", "Faroese" }, { "fr", "French" }, { "fy", "Western Frisian" }, { "ga", "Irish" }, { "gd", "Scottish Gaelic" }, { "gl", "Galician" }, { "gn", "Guarani" }, { "gu", "Gujarati" }, { "gv", "Manx" }, { "ha", "Hausa" }, { "he", "Hebrew" }, { "hi", "Hindi" }, { "ho", "Hiri Motu" }, { "hr", "Croatian" }, { "ht", "Haitian" }, { "hu", "Hungarian" }, { "hy", "Armenian" }, { "hz", "Herero" }, { "ia", "Interlingua" }, { "id", "Indonesian" }, { "ie", "Interlingue" }, { "ig", "Igbo" }, { "ii", "Sichuan Yi" }, { "ik", "Inupiaq" }, { "io", "Ido" }, { "is", "Icelandic" }, { "it", "Italian" }, { "iu", "Inuktitut" }, { "ja", "Japanese" }, { "jv", "Javanese" }, { "ka", "Georgian" }, { "kg", "Kongo" }, { "ki", "Kikuyu" }, { "kj", "Kwanyama" }, { "kk", "Kazakh" }, { "kl", "Kalaallisut" }, { "km", "Khmer" }, { "kn", "Kannada" }, { "ko", "Korean" }, { "kr", "Kanuri" }, { "ks", "Kashmiri" }, { "ku", "Kurdish" }, { "kv", "Komi" }, { "kw", "Cornish" }, { "ky", "Kirghiz" }, { "la", "Latin" }, { "lb", "Luxembourgish" }, { "lg", "Ganda" }, { "li", "Limburgish" }, { "ln", "Lingala" }, { "lo", "Lao" }, { "lt", "Lithuanian" }, { "lu", "Luba-Katanga" }, { "lv", "Latvian" }, { "mg", "Malagasy" }, { "mh", "Marshallese" }, { "mi", "Māori" }, { "mk", "Macedonian" }, { "ml", "Malayalam" }, { "mn", "Mongolian" }, { "mo", "Moldavian" }, { "mr", "Marathi" }, { "ms", "Malay" }, { "mt", "Maltese" }, { "my", "Burmese" }, { "na", "Nauru" }, { "nb", "Norwegian Bokmål" }, { "nd", "North Ndebele" }, { "nds", "Low German, Low Saxon" }, { "ne", "Nepali" }, { "ng", "Ndonga" }, { "nl", "Dutch" }, { "nn", "Norwegian Nynorsk" }, { "no", "Norwegian" }, { "nr", "South Ndebele" }, { "nv", "Navajo" }, { "ny", "Chichewa" }, { "oc", "Occitan" }, { "oj", "Ojibwa" }, { "om", "Oromo" }, { "or", "Oriya" }, { "os", "Ossetian" }, { "pa", "Panjabi" }, { "pi", "Pāli" }, { "pl", "Polish" }, { "ps", "Pashto" }, { "pt", "Portuguese" }, { "qu", "Quechua" }, { "rm", "Romansh" }, { "rn", "Kirundi" }, { "ro", "Romanian" }, { "ru", "Russian" }, { "rw", "Kinyarwanda" }, { "sa", "Sanskrit" }, { "sc", "Sardinian" }, { "sd", "Sindhi" }, { "se", "Northern Sami" }, { "sg", "Sango" }, { "si", "Sinhalese" }, { "sk", "Slovak" }, { "sl", "Slovene" }, { "sm", "Samoan" }, { "sn", "Shona" }, { "so", "Somali" }, { "sq", "Albanian" }, { "sr", "Serbian" }, { "ss", "Swati" }, { "st", "Sotho" }, { "su", "Sundanese" }, { "sv", "Swedish" }, { "sw", "Swahili" }, { "ta", "Tamil" }, { "te", "Telugu" }, { "tg", "Tajik" }, { "th", "Thai" }, { "ti", "Tigrinya" }, { "tk", "Turkmen" }, { "tl", "Tagalog" }, { "tn", "Tswana" }, { "to", "Tonga" }, { "tr", "Turkish" }, { "ts", "Tsonga" }, { "tt", "Tatar" }, { "tw", "Twi" }, { "ty", "Tahitian" }, { "ug", "Uighur" }, { "uk", "Ukrainian" }, { "ur", "Urdu" }, { "uz", "Uzbek" }, { "ve", "Venda" }, { "vi", "Viêt Namese" }, { "vo", "Volapük" }, { "wa", "Walloon" }, { "wo", "Wolof" }, { "xh", "Xhosa" }, { "yi", "Yiddish" }, { "yo", "Yoruba" }, { "za", "Zhuang" }, { "zh", "Chinese" }, { "zu", "Zulu" } }; static GtkWidget *pref_list_create(void); static gint ui_language_combobox_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { gint retval = 0; gchar *code1, *code2; gchar *name1, *name2; gtk_tree_model_get(model, a, 0, &code1, 1, &name1, -1); gtk_tree_model_get(model, b, 0, &code2, 1, &name2, -1); //keep system laguage on top if(code1 == NULL) name1 = NULL; if(code2 == NULL) name2 = NULL; retval = hb_string_utf8_compare(name1, name2); g_free(name2); g_free(name1); return retval; } static gchar *languagename_get(const gchar *locale) { guint i; for (i = 0; i < G_N_ELEMENTS (languagenames); i++) { if( g_ascii_strncasecmp(locale, languagenames[i].locale, -1) == 0 ) return languagenames[i].name; } return NULL; } static const gchar * ui_language_combobox_get_name(const gchar *locale) { const gchar *lang; DB( g_print("[ui_language_combobox_get_name]\n") ); // A locale directory name is typically of the form language[_territory] lang = languagename_get (locale); if (! lang) { const gchar *delimiter = strchr (locale, '_'); // strip off the territory suffix if (delimiter) { gchar *copy = g_strndup (locale, delimiter - locale); lang = languagename_get (copy); g_free (copy); } if(! lang) { g_warning(" locale name not found '%s'", locale); lang = locale; } } return lang; } static void ui_language_combobox_populate(GtkWidget *combobox) { GtkTreeModel *model; GtkTreeIter iter; model = gtk_combo_box_get_model(GTK_COMBO_BOX(combobox)); gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, 0, NULL, 1, _("System Language"), -1); GDir *dir = g_dir_open (homebank_app_get_locale_dir (), 0, NULL); const gchar *dirname; if (! dir) return; while ((dirname = g_dir_read_name (dir)) != NULL) { gchar *filename = g_build_filename (homebank_app_get_locale_dir (), dirname, "LC_MESSAGES", GETTEXT_PACKAGE ".mo", NULL); //DB( g_print("- seek for '%s'\n", filename) ); if (g_file_test (filename, G_FILE_TEST_EXISTS)) { const gchar *lang; gchar *label; gtk_list_store_append (GTK_LIST_STORE(model), &iter); lang = ui_language_combobox_get_name(dirname); label = g_strdup_printf ("%s [%s]", lang, dirname); gtk_list_store_set (GTK_LIST_STORE(model), &iter, 0, dirname, 1, label, -1); g_free(label); } g_free (filename); } g_dir_close (dir); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(model), GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING); } static GtkWidget * ui_language_combobox_new(GtkWidget *label) { GtkListStore *store; GtkWidget *combobox; GtkCellRenderer *renderer; store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING ); gtk_tree_sortable_set_default_sort_func(GTK_TREE_SORTABLE(store), ui_language_combobox_compare_func, NULL, NULL); combobox = gtk_combo_box_new_with_model(GTK_TREE_MODEL(store)); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combobox), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combobox), renderer, "text", 1, NULL); gtk_combo_box_set_id_column( GTK_COMBO_BOX(combobox), 0); g_object_unref(store); if(label) gtk_label_set_mnemonic_widget (GTK_LABEL(label), combobox); ui_language_combobox_populate(combobox); gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), 0); return combobox; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =*/ /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =*/ /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =*/ static gint ui_euro_combobox_id_to_active(gint id) { guint i, retval; DB( g_print("\n[ui-pref] ui_euro_combobox_id_to_active\n") ); retval = 0; for (i = 0; i < G_N_ELEMENTS (euro_params); i++) { if( euro_params[i].id == id ) { retval = i; DB( g_print("- id (country)=%d => %d - %s\n", id, i, euro_params[i].name) ); break; } } return retval; } static gint ui_euro_combobox_active_to_id(gint active) { gint id; DB( g_print("\n[ui-pref] ui_euro_combobox_active_to_id\n") ); DB( g_print("- to %d\n", active) ); id = 0; if( active < (gint)G_N_ELEMENTS (euro_params) ) { id = euro_params[active].id; DB( g_print("- id (country)=%d '%s'\n", id, euro_params[active].name) ); } return id; } static GtkWidget *ui_euro_combobox_new(GtkWidget *label) { GtkWidget *combobox; guint i; DB( g_print("\n[ui-pref] make euro preset\n") ); combobox = gtk_combo_box_text_new(); for (i = 0; i < G_N_ELEMENTS (euro_params); i++) { gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combobox), euro_params[i].name); } gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), 0); if(label) gtk_label_set_mnemonic_widget (GTK_LABEL(label), combobox); return combobox; } static void defpref_pathselect(GtkWidget *widget, gpointer user_data) { struct defpref_data *data; gint type = GPOINTER_TO_INT(user_data); gchar **path; gchar *title; GtkWidget *entry; gboolean r; DB( g_print("\n[ui-pref] path select\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); switch( type ) { case PRF_PATH_WALLET: path = &PREFS->path_hbfile; entry = data->ST_path_hbfile; title = _("Choose a default HomeBank files folder"); break; case PRF_PATH_BACKUP: path = &PREFS->path_hbbak; entry = data->ST_path_hbbak; title = _("Choose a default HomeBank backup files folder"); break; case PRF_PATH_IMPORT: path = &PREFS->path_import; entry = data->ST_path_import; title = _("Choose a default import folder"); break; case PRF_PATH_EXPORT: path = &PREFS->path_export; entry = data->ST_path_export; title = _("Choose a default export folder"); break; default: return; } DB( g_print(" - hbfile %p %s at %p\n" , PREFS->path_hbfile, PREFS->path_hbfile, &PREFS->path_hbfile) ); DB( g_print(" - import %p %s at %p\n" , PREFS->path_import, PREFS->path_import, &PREFS->path_import) ); DB( g_print(" - export %p %s at %p\n" , PREFS->path_export, PREFS->path_export, &PREFS->path_export) ); DB( g_print(" - before: %s %p\n" , *path, path) ); r = ui_file_chooser_folder(GTK_WINDOW(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), title, path); DB( g_print(" - after: %s\n", *path) ); if( r == TRUE ) gtk_entry_set_text(GTK_ENTRY(entry), *path); } /* ** update the date sample label */ static void defpref_date_sample(GtkWidget *widget, gpointer user_data) { struct defpref_data *data; gchar buffer[256]; const gchar *fmt; GDate *date; DB( g_print("\n[ui-pref] date sample\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); fmt = gtk_entry_get_text(GTK_ENTRY(data->ST_datefmt)); date = g_date_new_julian (GLOBALS->today); g_date_strftime (buffer, 256-1, fmt, date); g_date_free(date); gtk_label_set_text(GTK_LABEL(data->LB_date), buffer); } /* ** update the number sample label */ static void defpref_numbereuro_sample(GtkWidget *widget, gpointer user_data) { struct defpref_data *data; Currency cur; gchar formatd_buf[G_ASCII_DTOSTR_BUF_SIZE]; gchar buf[128]; DB( g_print("\n[ui-pref] number sample\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); cur.symbol = (gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_euro_symbol)); cur.sym_prefix = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_euro_isprefix)); cur.decimal_char = (gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_euro_decimalchar)); cur.grouping_char = (gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_euro_groupingchar)); cur.frac_digits = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->NB_euro_fracdigits)); da_cur_initformat (&cur); DB( g_print("fmt: %s\n", cur.format) ); g_ascii_formatd(formatd_buf, sizeof (formatd_buf), cur.format, HB_NUMBER_SAMPLE); hb_str_formatd(buf, 127, formatd_buf, &cur, TRUE); gtk_label_set_text(GTK_LABEL(data->LB_numbereuro), buf); } /* ** enable/disable euro */ static void defpref_eurotoggle(GtkWidget *widget, gpointer user_data) { struct defpref_data *data; gboolean sensitive; DB( g_print("\n[ui-pref] euro toggle\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); sensitive = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_euro_enable)); gtk_widget_set_sensitive(data->GRP_currency , sensitive); gtk_widget_set_sensitive(data->GRP_rate , sensitive); gtk_widget_set_sensitive(data->GRP_format , sensitive); } /* ** set euro value widget from a country */ static void defpref_eurosetcurrency(GtkWidget *widget, gint country) { struct defpref_data *data; EuroParams *euro; gchar *buf; gint active; DB( g_print("\n[ui-pref] eurosetcurrency\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); active = ui_euro_combobox_id_to_active(country); euro = &euro_params[active]; buf = g_strdup_printf("%s - %s", euro->iso, euro->name); gtk_label_set_markup(GTK_LABEL(data->ST_euro_country), buf); g_free(buf); } /* ** set euro value widget from a country */ static void defpref_europreset(GtkWidget *widget, gpointer user_data) { struct defpref_data *data; gint active; DB( g_print("\n[ui-pref] euro preset\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); active = gtk_combo_box_get_active (GTK_COMBO_BOX(data->CY_euro_preset)); data->country = ui_euro_combobox_active_to_id (active);; defpref_eurosetcurrency(widget, data->country); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->NB_euro_value), euro_params[active].value); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->NB_euro_fracdigits), euro_params[active].frac_digits); gtk_entry_set_text(GTK_ENTRY(data->ST_euro_symbol) , euro_params[active].symbol); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_euro_isprefix), euro_params[active].sym_prefix); gtk_entry_set_text(GTK_ENTRY(data->ST_euro_decimalchar) , euro_params[active].decimal_char); gtk_entry_set_text(GTK_ENTRY(data->ST_euro_groupingchar), euro_params[active].grouping_char); } static void defpref_colortoggle(GtkWidget *widget, gpointer user_data) { struct defpref_data *data; gboolean sensitive; DB( g_print("\n[ui-pref] color toggle\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); sensitive = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_custom_colors)); gtk_widget_set_sensitive(data->LB_colors , sensitive); gtk_widget_set_sensitive(data->CY_colors , sensitive); gtk_widget_set_sensitive(data->LB_exp_color , sensitive); gtk_widget_set_sensitive(data->GR_colors , sensitive); } static void defpref_backuptoggle(GtkWidget *widget, gpointer user_data) { struct defpref_data *data; gboolean sensitive; DB( g_print("\n[ui-pref] backup toggle\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); sensitive = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_bak_is_automatic)); gtk_widget_set_sensitive(data->LB_bak_max_num_copies, sensitive); gtk_widget_set_sensitive(data->NB_bak_max_num_copies, sensitive); gtk_widget_set_sensitive(data->GR_bak_freq , sensitive); } /* ** set preset colors for amount display */ static void defpref_colorpreset(GtkWidget *widget, gpointer user_data) { struct defpref_data *data; GdkRGBA rgba; gint preset; gchar *expcol, *inccol, *wrncol; DB( g_print("\n[ui-pref] color preset\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); preset = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_colors)); switch( preset) { case 1: //light expcol = LIGHT_EXP_COLOR; inccol = LIGHT_INC_COLOR; wrncol = LIGHT_WARN_COLOR; break; case 2: //medium expcol = MEDIUM_EXP_COLOR; inccol = MEDIUM_INC_COLOR; wrncol = MEDIUM_WARN_COLOR; break; case 3: //dark default: expcol = DEFAULT_EXP_COLOR; inccol = DEFAULT_INC_COLOR; wrncol = DEFAULT_WARN_COLOR; break; } gdk_rgba_parse(&rgba, expcol); gtk_color_chooser_set_rgba(GTK_COLOR_CHOOSER(data->CP_exp_color), &rgba); gdk_rgba_parse(&rgba, inccol); gtk_color_chooser_set_rgba(GTK_COLOR_CHOOSER(data->CP_inc_color), &rgba); gdk_rgba_parse(&rgba, wrncol); gtk_color_chooser_set_rgba(GTK_COLOR_CHOOSER(data->CP_warn_color), &rgba); } static void defpref_color_scheme_changed(GtkWidget *widget, gpointer user_data) { struct defpref_data *data; DB( g_print("\n[ui-pref] color scheme chnaged\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); gtk_widget_queue_draw (data->DA_colors); } /* static void setGdkColor_from_RGB(GdkColor *color, guint32 value) { guint tmp; tmp = value >> 16; color->red = tmp | tmp<<8; tmp = value >> 8 & 0xFF; color->green = tmp | tmp<<8; tmp = value & 0xFF; color->blue = tmp | tmp<<8; } */ /* ** set :: fill in widgets from PREFS structure */ static void defpref_set(struct defpref_data *data) { GdkRGBA rgba; DB( g_print("\n[ui-pref] set\n") ); // general gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_show_splash), PREFS->showsplash); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_load_last), PREFS->loadlast); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_append_scheduled), PREFS->appendscheduled); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_do_update_currency), PREFS->do_update_currency); hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_daterange_wal), PREFS->date_range_wal); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->NB_fiscyearday), PREFS->fisc_year_day ); gtk_combo_box_set_active(GTK_COMBO_BOX(data->CY_fiscyearmonth), PREFS->fisc_year_month - 1); // files/backup gtk_entry_set_text(GTK_ENTRY(data->ST_path_hbfile), PREFS->path_hbfile); gtk_entry_set_text(GTK_ENTRY(data->ST_path_hbbak), PREFS->path_hbbak); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_bak_is_automatic), PREFS->bak_is_automatic); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->NB_bak_max_num_copies), PREFS->bak_max_num_copies); // interface if(PREFS->language != NULL) gtk_combo_box_set_active_id(GTK_COMBO_BOX(data->CY_language), PREFS->language); else gtk_combo_box_set_active (GTK_COMBO_BOX(data->CY_language), 0); gtk_combo_box_set_active(GTK_COMBO_BOX(data->CY_toolbar), PREFS->toolbar_style); //gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->NB_image_size), PREFS->image_size); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_custom_colors), PREFS->custom_colors); gdk_rgba_parse(&rgba, PREFS->color_exp); gtk_color_chooser_set_rgba(GTK_COLOR_CHOOSER(data->CP_exp_color), &rgba); gdk_rgba_parse(&rgba, PREFS->color_inc); gtk_color_chooser_set_rgba(GTK_COLOR_CHOOSER(data->CP_inc_color), &rgba); gdk_rgba_parse(&rgba, PREFS->color_warn); gtk_color_chooser_set_rgba(GTK_COLOR_CHOOSER(data->CP_warn_color), &rgba); //gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_ruleshint), PREFS->rules_hint); gtk_combo_box_set_active(GTK_COMBO_BOX(data->CY_gridlines), PREFS->grid_lines); // transactions hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_daterange_txn), PREFS->date_range_txn); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->ST_datefuture_nbdays), PREFS->date_future_nbdays); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_hide_reconciled), PREFS->hidereconciled); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_show_remind), PREFS->showremind); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_show_void), PREFS->showvoid); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_include_remind), PREFS->includeremind); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_herit_date), PREFS->heritdate); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_show_confirm), PREFS->txn_showconfirm); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_memoacp), PREFS->txn_memoacp); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->ST_memoacp_days), PREFS->txn_memoacp_days); // display format gtk_entry_set_text(GTK_ENTRY(data->ST_datefmt), PREFS->date_format); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_unitismile), PREFS->vehicle_unit_ismile); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_unitisgal), PREFS->vehicle_unit_isgal); // import/export gtk_combo_box_set_active(GTK_COMBO_BOX(data->CY_dtex_datefmt), PREFS->dtex_datefmt); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_dtex_ucfirst), PREFS->dtex_ucfirst); gtk_combo_box_set_active(GTK_COMBO_BOX(data->CY_dtex_ofxname), PREFS->dtex_ofxname); gtk_combo_box_set_active(GTK_COMBO_BOX(data->CY_dtex_ofxmemo), PREFS->dtex_ofxmemo); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_dtex_qifmemo), PREFS->dtex_qifmemo); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_dtex_qifswap), PREFS->dtex_qifswap); gtk_entry_set_text(GTK_ENTRY(data->ST_path_import), PREFS->path_import); gtk_entry_set_text(GTK_ENTRY(data->ST_path_export), PREFS->path_export); gtk_combo_box_set_active(GTK_COMBO_BOX(data->CY_dtex_csvsep), PREFS->dtex_csvsep); // report hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_daterange_rep), PREFS->date_range_rep); gtk_combo_box_set_active(GTK_COMBO_BOX(data->CY_color_scheme), PREFS->report_color_scheme); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_stat_byamount), PREFS->stat_byamount); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_stat_showrate), PREFS->stat_showrate); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_stat_showdetail), PREFS->stat_showdetail); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_budg_showdetail), PREFS->budg_showdetail); /* euro */ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_euro_enable), PREFS->euro_active); //gtk_combo_box_set_active(GTK_COMBO_BOX(data->CY_euro_preset), PREFS->euro_country); data->country = PREFS->euro_country; defpref_eurosetcurrency(data->dialog, data->country); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->NB_euro_value), PREFS->euro_value); hbtk_entry_set_text(GTK_ENTRY(data->ST_euro_symbol), PREFS->minor_cur.symbol); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_euro_isprefix), PREFS->minor_cur.sym_prefix); hbtk_entry_set_text(GTK_ENTRY(data->ST_euro_decimalchar), PREFS->minor_cur.decimal_char); hbtk_entry_set_text(GTK_ENTRY(data->ST_euro_groupingchar), PREFS->minor_cur.grouping_char); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->NB_euro_fracdigits), PREFS->minor_cur.frac_digits); //gtk_entry_set_text(GTK_ENTRY(data->ST_euro_symbol), PREFS->euro_symbol); //gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->NB_euro_nbdec), PREFS->euro_nbdec); //gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_euro_thsep), PREFS->euro_thsep); } /* ** get :: fill PREFS structure from widgets */ #define RGBA_TO_INT(x) (int)(x*255) static gchar *gdk_rgba_to_hex(GdkRGBA *rgba) { return g_strdup_printf("#%02x%02x%02x", RGBA_TO_INT(rgba->red), RGBA_TO_INT(rgba->green), RGBA_TO_INT(rgba->blue)); } static void defpref_get(struct defpref_data *data) { GdkRGBA rgba; const gchar *lang; DB( g_print("\n[ui-pref] get\n") ); // general PREFS->showsplash = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_show_splash)); PREFS->loadlast = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_load_last)); PREFS->appendscheduled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_append_scheduled)); PREFS->do_update_currency = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_do_update_currency)); PREFS->date_range_wal = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_daterange_wal)); PREFS->fisc_year_day = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->NB_fiscyearday)); PREFS->fisc_year_month = 1 + gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_fiscyearmonth)); // files/backup hbtk_entry_replace_text(GTK_ENTRY(data->ST_path_hbfile), &PREFS->path_hbfile); hbtk_entry_replace_text(GTK_ENTRY(data->ST_path_hbbak) , &PREFS->path_hbbak); PREFS->bak_is_automatic = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_bak_is_automatic)); PREFS->bak_max_num_copies = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->NB_bak_max_num_copies)); g_free(PREFS->language); PREFS->language = NULL; lang = gtk_combo_box_get_active_id(GTK_COMBO_BOX(data->CY_language)); if(lang != NULL) { PREFS->language = g_strdup(lang); } PREFS->toolbar_style = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_toolbar)); //PREFS->image_size = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->NB_image_size)); PREFS->custom_colors = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_custom_colors)); gtk_color_chooser_get_rgba(GTK_COLOR_CHOOSER(data->CP_exp_color), &rgba); g_free(PREFS->color_exp); PREFS->color_exp = gdk_rgba_to_hex(&rgba); gtk_color_chooser_get_rgba(GTK_COLOR_CHOOSER(data->CP_inc_color), &rgba); g_free(PREFS->color_inc); PREFS->color_inc = gdk_rgba_to_hex(&rgba); gtk_color_chooser_get_rgba(GTK_COLOR_CHOOSER(data->CP_warn_color), &rgba); g_free(PREFS->color_warn); PREFS->color_warn = gdk_rgba_to_hex(&rgba); //PREFS->rules_hint = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_ruleshint)); PREFS->grid_lines = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_gridlines)); //list_txn_colpref_get(GTK_TREE_VIEW(data->LV_opecolumns), PREFS->lst_ope_columns); // transaction PREFS->date_range_txn = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_daterange_txn)); PREFS->date_future_nbdays = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_datefuture_nbdays)); PREFS->hidereconciled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_hide_reconciled)); PREFS->showremind = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_show_remind)); PREFS->showvoid = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_show_void)); PREFS->includeremind = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_include_remind)); PREFS->heritdate = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_herit_date)); PREFS->txn_showconfirm = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_show_confirm)); PREFS->txn_memoacp = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_memoacp)); PREFS->txn_memoacp_days = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_memoacp_days)); // display format g_free(PREFS->date_format); PREFS->date_format = g_strdup(gtk_entry_get_text(GTK_ENTRY(data->ST_datefmt))); PREFS->vehicle_unit_ismile = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_unitismile)); PREFS->vehicle_unit_isgal = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_unitisgal)); // import/export PREFS->dtex_datefmt = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_dtex_datefmt)); PREFS->dtex_ucfirst = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_dtex_ucfirst)); PREFS->dtex_ofxname = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_dtex_ofxname)); PREFS->dtex_ofxmemo = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_dtex_ofxmemo)); PREFS->dtex_qifmemo = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_dtex_qifmemo)); PREFS->dtex_qifswap = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_dtex_qifswap)); hbtk_entry_replace_text(GTK_ENTRY(data->ST_path_import), &PREFS->path_import); hbtk_entry_replace_text(GTK_ENTRY(data->ST_path_export), &PREFS->path_export); PREFS->dtex_csvsep = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_dtex_csvsep)); // report PREFS->date_range_rep = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_daterange_rep)); PREFS->report_color_scheme = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_color_scheme)); PREFS->stat_byamount = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_stat_byamount)); PREFS->stat_showrate = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_stat_showrate)); PREFS->stat_showdetail = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_stat_showdetail)); PREFS->budg_showdetail = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_budg_showdetail)); // euro minor PREFS->euro_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_euro_enable)); PREFS->euro_country = data->country; PREFS->euro_value = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->NB_euro_value)); //strcpy(PREFS->euro_symbol, gtk_entry_get_text(GTK_ENTRY(data->ST_euro_symbol))); //PREFS->euro_nbdec = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->NB_euro_nbdec)); //PREFS->euro_thsep = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_euro_thsep)); hbtk_entry_replace_text(GTK_ENTRY(data->ST_euro_symbol), &PREFS->minor_cur.symbol); PREFS->minor_cur.sym_prefix = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_euro_isprefix)); hbtk_entry_replace_text(GTK_ENTRY(data->ST_euro_decimalchar), &PREFS->minor_cur.decimal_char); hbtk_entry_replace_text(GTK_ENTRY(data->ST_euro_groupingchar), &PREFS->minor_cur.grouping_char); PREFS->minor_cur.frac_digits = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->NB_euro_fracdigits)); //PREFS->chart_legend = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_chartlegend)); } static GtkWidget *defpref_page_import (struct defpref_data *data) { GtkWidget *content_grid, *group_grid, *label, *widget; gint crow, row; content_grid = gtk_grid_new(); gtk_grid_set_row_spacing (GTK_GRID (content_grid), SPACING_LARGE); gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL); crow = 0; // group :: Date options group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("General options")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; label = make_label_widget(_("Date order:")); //----------------------------------------- l, r, t, b gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_cycle(label, CYA_IMPORT_DATEORDER); data->CY_dtex_datefmt = widget; //gtk_grid_attach (GTK_GRID (group_grid), data->CY_option[FILTER_DATE], 1, 2, row, row+1); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Sentence _case memo/payee")); data->CM_dtex_ucfirst = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1); // group :: OFX/QFX options group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("OFX/QFX options")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; label = make_label_widget(_("OFX _Name:")); //----------------------------------------- l, r, t, b gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_cycle(label, CYA_IMPORT_OFXNAME); data->CY_dtex_ofxname = widget; //gtk_grid_attach (GTK_GRID (group_grid), data->CY_option[FILTER_DATE], 1, 2, row, row+1); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; label = make_label_widget(_("OFX _Memo:")); //----------------------------------------- l, r, t, b gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_cycle(label, CYA_IMPORT_OFXMEMO); data->CY_dtex_ofxmemo = widget; //gtk_grid_attach (GTK_GRID (group_grid), data->CY_option[FILTER_DATE], 1, 2, row, row+1); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); // group :: QIF options group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("QIF options")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; widget = gtk_check_button_new_with_mnemonic (_("_Import memos")); data->CM_dtex_qifmemo = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); widget = gtk_check_button_new_with_mnemonic (_("_Swap memos with payees")); data->CM_dtex_qifswap = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); // group :: other options group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("CSV options")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; label = make_label(_("(transaction import only)"), 0.0, 0.5); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 2, 1); row++; label = make_label_widget(_("Separator:")); //----------------------------------------- l, r, t, b gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_cycle(label, CYA_IMPORT_CSVSEPARATOR); data->CY_dtex_csvsep = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); return content_grid; } #define cube_dim 16 static gboolean draw_callback (GtkWidget *widget, cairo_t *cr, gpointer user_data) { struct defpref_data *data = user_data; gint index; GtkColorScheme scheme; gint w, h; gint i, x, y; index = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_color_scheme)); colorscheme_init(&scheme, index); gtk_widget_get_size_request (widget, &w, &h); x = y = 0; for(i=0;iCY_daterange_rep = widget; //gtk_grid_attach (GTK_GRID (group_grid), data->CY_option[FILTER_DATE], 1, 2, row, row+1); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); // group ::Charts options group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("Charts options")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; label = make_label_widget(_("Color scheme:")); //----------------------------------------- l, r, t, b gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_cycle(label, chart_colors); data->CY_color_scheme = widget; //gtk_grid_attach (GTK_GRID (group_grid), data->CY_option[FILTER_DATE], 1, 2, row, row+1); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; widget = gtk_drawing_area_new (); data->DA_colors = widget; gtk_widget_set_size_request (widget, (1+cube_dim)*16, (1+cube_dim)*2); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); g_signal_connect (data->DA_colors, "draw", G_CALLBACK (draw_callback), data); // group :: Statistics options group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("Statistics options")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; widget = gtk_check_button_new_with_mnemonic (_("Show by _amount")); data->CM_stat_byamount = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Show _rate column")); data->CM_stat_showrate = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Show _details")); data->CM_stat_showdetail = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1); // group :: Budget options group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("Budget options")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; widget = gtk_check_button_new_with_mnemonic (_("Show _details")); data->CM_budg_showdetail = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1); return content_grid; } static GtkWidget *defpref_page_euro (struct defpref_data *data) { GtkWidget *content_grid, *group_grid, *label, *widget, *expander; gint crow, row; content_grid = gtk_grid_new(); gtk_grid_set_row_spacing (GTK_GRID (content_grid), SPACING_LARGE); gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL); crow = 0; // group :: General group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("General")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row=1; widget = gtk_check_button_new_with_mnemonic (_("_Enable")); data->CM_euro_enable = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1); // group :: Currency group_grid = gtk_grid_new (); data->GRP_currency = group_grid; gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("Currency")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 4, 1); row=1; widget = make_label(NULL, 0.0, 0.5); data->ST_euro_country = widget; //gtk_grid_attach (GTK_GRID (group_grid), data->CY_option[FILTER_DATE], 1, 2, row, row+1); gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); //row++; label = make_label_widget(_("_Preset:")); //----------------------------------------- l, r, t, b gtk_grid_attach (GTK_GRID (group_grid), label, 2, row, 1, 1); widget = ui_euro_combobox_new (label); data->CY_euro_preset = widget; gtk_widget_set_margin_start (label, 2*SPACING_LARGE); //gtk_grid_attach (GTK_GRID (group_grid), data->CY_option[FILTER_DATE], 1, 2, row, row+1); gtk_grid_attach (GTK_GRID (group_grid), widget, 3, row, 1, 1); // group :: Exchange rate group_grid = gtk_grid_new (); data->GRP_rate = group_grid; gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("Exchange rate")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row=1; label = make_label_widget("1 EUR _="); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_exchange_rate(label); data->NB_euro_value = widget; //gtk_grid_attach (GTK_GRID (group_grid), data->CY_option[FILTER_DATE], 1, 2, row, row+1); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); // group :: Numbers format group_grid = gtk_grid_new (); data->GRP_format = group_grid; gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("Format")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; widget = make_label(NULL, 0, 0.0); data->LB_numbereuro = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); row++; expander = gtk_expander_new_with_mnemonic(_("_Customize")); gtk_grid_attach (GTK_GRID (group_grid), expander, 1, row, 1, 1); group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_container_add (GTK_CONTAINER (expander), group_grid); row = 0; label = make_label_widget(_("_Symbol:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_string_maxlength(label, 3); data->ST_euro_symbol = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Is pre_fix")); data->CM_euro_isprefix = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; label = make_label_widget(_("_Decimal char:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_string_maxlength(label, 1); data->ST_euro_decimalchar = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; label = make_label_widget(_("_Frac digits:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_numeric(label, 0.0, 6.0); data->NB_euro_fracdigits = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; label = make_label_widget(_("_Grouping char:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_string_maxlength(label, 1); data->ST_euro_groupingchar = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); return content_grid; } static GtkWidget *defpref_page_display (struct defpref_data *data) { GtkWidget *content_grid, *group_grid, *label, *widget, *expander, *hbox; gint crow, row; content_grid = gtk_grid_new(); gtk_grid_set_row_spacing (GTK_GRID (content_grid), SPACING_LARGE); gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL); crow = 0; // group :: General group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("User interface")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; label = make_label(_("_Language:"), 0, 0.5); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = ui_language_combobox_new(label); data->CY_language = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; row++; label = make_label(_("_Date display:"), 0, 0.5); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_label(NULL, 0, 0.5); data->LB_date = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; expander = gtk_expander_new_with_mnemonic(_("_Customize")); gtk_grid_attach (GTK_GRID (group_grid), expander, 2, row, 1, 1); group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_container_add (GTK_CONTAINER (expander), group_grid); row++; label = make_label_widget(_("_Format:")); //----------------------------------------- l, r, t, b gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_string(label); data->ST_datefmt = widget; //gtk_grid_attach (GTK_GRID (group_grid), data->CY_option[FILTER_DATE], 1, 2, row, row+1); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); widget = gtk_image_new_from_icon_name (ICONNAME_INFO, GTK_ICON_SIZE_BUTTON); gtk_grid_attach (GTK_GRID (group_grid), widget, 3, row, 1, 1); gtk_widget_set_tooltip_text(widget, _("%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number.") ); row++; widget = make_label(NULL, 0.0, 0.5); gtk_label_set_markup (GTK_LABEL(widget), "online reference"); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); // group :: Fiscal year group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("Fiscal year")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; //TRANSLATORS: (fiscal year) starts on label = make_label_widget(_("Starts _on:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); gtk_grid_attach (GTK_GRID (group_grid), hbox, 2, row, 1, 1); widget = make_numeric (label, 1, 28); data->NB_fiscyearday = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); widget = make_cycle (NULL, CYA_MONTHS); data->CY_fiscyearmonth = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); // group :: Measurement units group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("Measurement units")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; widget = gtk_check_button_new_with_mnemonic (_("Use _miles for meter")); data->CM_unitismile = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Use _gallon for fuel")); data->CM_unitisgal = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1); return content_grid; } static GtkWidget *defpref_page_transactions (struct defpref_data *data) { GtkWidget *content_grid, *group_grid, *label, *widget; gint crow, row; content_grid = gtk_grid_new(); gtk_grid_set_row_spacing (GTK_GRID (content_grid), SPACING_LARGE); gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL); crow = 0; // group :: Transaction window group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("Transaction window")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; label = make_label(_("_Range:"), 0, 0.5); //----------------------------------------- l, r, t, b gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_daterange(label, DATE_RANGE_CUSTOM_HIDE); data->CY_daterange_txn = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; label = make_label(_("_Show future:"), 0, 0.5); //----------------------------------------- l, r, t, b gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_numeric(NULL, 0, 366); data->ST_datefuture_nbdays = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); //TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date label = make_label(_("days ahead"), 0, 0.5); gtk_grid_attach (GTK_GRID (group_grid), label, 3, row, 1, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Hide reconciled")); data->CM_hide_reconciled = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 3, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Always show remind")); data->CM_show_remind = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 3, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Always show void")); data->CM_show_void = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 3, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Include remind into balance")); data->CM_include_remind = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 3, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Show confirmation text")); data->CM_show_confirm = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 3, 1); // group :: Multiple add group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("Multiple add")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; widget = gtk_check_button_new_with_mnemonic (_("Keep the last date")); data->CM_herit_date = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1); // group :: Memo autocomplete group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("Memo autocomplete")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; widget = gtk_check_button_new_with_mnemonic (_("Active")); data->CM_memoacp = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1); row++; widget = make_numeric(NULL, 0, 1460); data->ST_memoacp_days = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); label = make_label(_("rolling days"), 0, 0.5); gtk_grid_attach (GTK_GRID (group_grid), label, 3, row, 1, 1); // group :: Column list /* group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("Column list")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; sw = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); widget = (GtkWidget *)list_txn_colprefcreate(); data->LV_opecolumns = widget; gtk_widget_set_size_request(data->LV_opecolumns, HB_MINWIDTH_LIST, -1); gtk_container_add (GTK_CONTAINER (sw), widget); gtk_widget_set_vexpand (sw, TRUE); gtk_grid_attach (GTK_GRID (group_grid), sw, 1, row, 2, 1); gtk_widget_set_tooltip_text(widget, _("Drag & drop to change the order")); */ return content_grid; } static GtkWidget *defpref_page_interface (struct defpref_data *data) { GtkWidget *content_grid, *group_grid, *hbox, *label, *widget; gint crow, row; content_grid = gtk_grid_new(); gtk_grid_set_row_spacing (GTK_GRID (content_grid), SPACING_LARGE); gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL); crow = 0; // group :: General group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("General")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; label = make_label(_("_Toolbar:"), 0, 0.5); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_cycle(label, CYA_TOOLBAR_STYLE); data->CY_toolbar = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; //widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); //data->CM_ruleshint = widget; label = make_label(_("_Grid line:"), 0, 0.5); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_cycle(label, CYA_GRID_LINES); data->CY_gridlines = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); // group :: Amount colors group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("Amount colors")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; widget = gtk_check_button_new_with_mnemonic (_("Uses custom colors")); data->CM_custom_colors = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1); row++; label = make_label(_("_Preset:"), 0, 0.5); data->LB_colors = label; //----------------------------------------- l, r, t, b gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_cycle(label, CYA_TANGO_COLORS); data->CY_colors = widget; //gtk_grid_attach (GTK_GRID (group_grid), data->CY_option[FILTER_DATE], 1, 2, row, row+1); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; label = make_label(_("_Expense:"), 0, 0.5); data->LB_exp_color = label; //----------------------------------------- l, r, t, b gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); data->GR_colors = hbox; gtk_grid_attach (GTK_GRID (group_grid), hbox, 2, row, 1, 1); widget = gtk_color_button_new (); data->CP_exp_color = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); label = make_label_widget(_("_Income:")); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); widget = gtk_color_button_new (); data->CP_inc_color = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); label = make_label_widget(_("_Warning:")); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); widget = gtk_color_button_new (); data->CP_warn_color = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); return content_grid; } static GtkWidget *defpref_page_filebackup (struct defpref_data *data) { GtkWidget *content_grid, *group_grid, *hbox, *label, *widget; gint crow, row; content_grid = gtk_grid_new(); gtk_grid_set_row_spacing (GTK_GRID (content_grid), SPACING_LARGE); gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL); crow = 0; // group :: Backup group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("Backup")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; widget = gtk_check_button_new_with_mnemonic (_("_Enable automatic backups")); data->CM_bak_is_automatic = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1); row++; label = make_label_widget(_("_Number of backups to keep:")); data->LB_bak_max_num_copies = label; gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_numeric (label, 1, 99); data->NB_bak_max_num_copies = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); data->GR_bak_freq = hbox; //gtk_widget_set_hexpand (hbox, TRUE); gtk_grid_attach (GTK_GRID (group_grid), hbox, 1, row, 2, 1); widget = gtk_image_new_from_icon_name (ICONNAME_INFO, GTK_ICON_SIZE_BUTTON); gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); label = make_label_widget(_("Backup frequency is once a day")); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); return content_grid; } static GtkWidget *defpref_page_folders (struct defpref_data *data) { GtkWidget *content_grid, *group_grid, *hbox, *label, *widget; gint crow, row; content_grid = gtk_grid_new(); gtk_grid_set_row_spacing (GTK_GRID (content_grid), SPACING_LARGE); gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL); crow = 0; // group :: Files folder group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("HomeBank files")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; label = make_label_widget(_("_Wallets:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_widget_set_hexpand (hbox, TRUE); gtk_grid_attach (GTK_GRID (group_grid), hbox, 2, row, 1, 1); widget = make_string(label); data->ST_path_hbfile = widget; gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET(widget)), GTK_STYLE_CLASS_LINKED); gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); //widget = gtk_button_new_with_label("..."); widget = gtk_button_new_from_icon_name(ICONNAME_FOLDER, GTK_ICON_SIZE_BUTTON); data->BT_path_hbfile = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); row++; label = make_label_widget(_("_Backups:")); //----------------------------------------- l, r, t, b gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_widget_set_hexpand (hbox, TRUE); gtk_grid_attach (GTK_GRID (group_grid), hbox, 2, row, 1, 1); widget = make_string(label); data->ST_path_hbbak = widget; gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET(widget)), GTK_STYLE_CLASS_LINKED); gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); //widget = gtk_button_new_with_label("..."); widget = gtk_button_new_from_icon_name(ICONNAME_FOLDER, GTK_ICON_SIZE_BUTTON); data->BT_path_hbbak = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); // group :: Files folder group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("Exchange files")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; label = make_label_widget(_("_Import:")); //----------------------------------------- l, r, t, b gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_widget_set_hexpand (hbox, TRUE); gtk_grid_attach (GTK_GRID (group_grid), hbox, 2, row, 1, 1); widget = make_string(label); data->ST_path_import = widget; gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET(widget)), GTK_STYLE_CLASS_LINKED); gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); //widget = gtk_button_new_with_label("..."); widget = gtk_button_new_from_icon_name(ICONNAME_FOLDER, GTK_ICON_SIZE_BUTTON); data->BT_path_import = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); row++; label = make_label_widget(_("_Export:")); //----------------------------------------- l, r, t, b gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_widget_set_hexpand (hbox, TRUE); gtk_grid_attach (GTK_GRID (group_grid), hbox, 2, row, 1, 1); widget = make_string(label); data->ST_path_export = widget; gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET(widget)), GTK_STYLE_CLASS_LINKED); gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); //widget = gtk_button_new_with_label("..."); widget = gtk_button_new_from_icon_name(ICONNAME_FOLDER, GTK_ICON_SIZE_BUTTON); data->BT_path_export = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); return content_grid; } static GtkWidget *defpref_page_general (struct defpref_data *data) { GtkWidget *content_grid, *group_grid, *label, *widget; gint crow, row; content_grid = gtk_grid_new(); gtk_grid_set_row_spacing (GTK_GRID (content_grid), SPACING_LARGE); gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL); crow = 0; // group :: Program start group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("Program start")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; widget = gtk_check_button_new_with_mnemonic (_("Show splash screen")); data->CM_show_splash = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Load last opened file")); data->CM_load_last = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Post pending scheduled transactions")); data->CM_append_scheduled = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Update currencies online")); data->CM_do_update_currency = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1); // group :: Main window reports group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1); label = make_label_group(_("Main window reports")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; label = make_label(_("_Range:"), 0, 0.5); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_daterange(label, DATE_RANGE_CUSTOM_HIDE); data->CY_daterange_wal = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); return content_grid; } static void defpref_selection(GtkTreeSelection *treeselection, gpointer user_data) { struct defpref_data *data; GtkWidget *notebook; GtkTreeView *treeview; GtkTreeModel *model; GtkTreeIter iter; GValue val = { 0, }; gint page; DB( g_print("\n[ui-pref] selection\n") ); if (gtk_tree_selection_get_selected(treeselection, &model, &iter)) { notebook = GTK_WIDGET(user_data); treeview = gtk_tree_selection_get_tree_view(treeselection); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(treeview), GTK_TYPE_WINDOW)), "inst_data"); gtk_tree_model_get_value(model, &iter, LST_PREF_PAGE, &val); page = g_value_get_int (&val); DB( g_print(" - active is %d\n", page) ); g_value_unset (&val); gtk_tree_model_get_value(model, &iter, LST_PREF_NAME, &val); gtk_label_set_text (GTK_LABEL (data->label), g_value_get_string (&val)); g_value_unset (&val); gtk_tree_model_get_value(model, &iter, LST_PREF_ICONNAME, &val); //gtk_image_set_from_pixbuf (GTK_IMAGE (data->image), g_value_get_object (&val)); gtk_image_set_from_icon_name(GTK_IMAGE (data->image), g_value_get_string (&val), GTK_ICON_SIZE_DIALOG); g_value_unset (&val); gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), page); //defpref_change_page(GTK_WIDGET(gtk_tree_selection_get_tree_view(treeselection)), GINT_TO_POINTER(page)); } } /* ** set the notebook active page from treeview */ /*void defpref_change_page(GtkWidget *widget, gpointer user_data) { struct defpref_data *data; gint page = GPOINTER_TO_INT(user_data); GtkTreeModel *model; DB( g_print("\n[ui-pref] page\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_page)); gtk_notebook_set_current_page(GTK_NOTEBOOK(data->GR_page), page); } */ /* ** add an empty new account to our temp GList and treeview */ static void defpref_reset(GtkWidget *widget, gpointer user_data) { struct defpref_data *data; gint result; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n(defpref_reset) (data=%p)\n", data) ); result = ui_dialog_msg_confirm_alert( GTK_WINDOW(data->dialog), _("Reset All Preferences"), _("Do you really want to reset\nall preferences to default\nvalues?"), _("_Reset") ); if( result == GTK_RESPONSE_OK ) { homebank_pref_setdefault(); defpref_set(data); } } // the dialog creation GtkWidget *defpref_dialog_new (void) { struct defpref_data *data; GtkWidget *window, *content, *mainvbox; GtkWidget *hbox, *vbox, *sw, *widget, *notebook, *page, *ebox, *image, *label; data = g_malloc0(sizeof(struct defpref_data)); window = gtk_dialog_new_with_buttons (_("Preferences"), GTK_WINDOW(GLOBALS->mainwindow), 0, _("_Reset"), 55, _("_Cancel"), GTK_RESPONSE_REJECT, _("_OK"), GTK_RESPONSE_ACCEPT, NULL); data->dialog = window; //store our window private data g_object_set_data(G_OBJECT(window), "inst_data", (gpointer)data); gtk_window_set_icon_name(GTK_WINDOW (window), ICONNAME_PREFERENCES); content = gtk_dialog_get_content_area(GTK_DIALOG (window)); // return a vbox mainvbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING_MEDIUM); gtk_box_pack_start (GTK_BOX (content), mainvbox, TRUE, TRUE, 0); gtk_container_set_border_width(GTK_CONTAINER(mainvbox), SPACING_MEDIUM); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING_MEDIUM); gtk_box_pack_start (GTK_BOX (mainvbox), hbox, TRUE, TRUE, 0); //left part vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING_SMALL); gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); //list sw = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_box_pack_start (GTK_BOX (vbox), sw, TRUE, TRUE, 0); widget = pref_list_create(); data->LV_page = widget; gtk_container_add (GTK_CONTAINER (sw), widget); //right part : notebook vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, SPACING_MEDIUM); gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0); gtk_widget_show (vbox); ebox = gtk_event_box_new(); gtk_widget_set_name(ebox, "hbebox"); GtkStyleContext *context = gtk_widget_get_style_context (ebox); #if( (GTK_MAJOR_VERSION == 3) && (GTK_MINOR_VERSION <= 18) ) gtk_style_context_add_class (context, GTK_STYLE_CLASS_LIST_ROW); gtk_widget_set_state_flags(ebox, GTK_STATE_FLAG_SELECTED, TRUE); #else GtkCssProvider *provider; provider = gtk_css_provider_new (); gtk_css_provider_load_from_data (provider, "#hbebox { color: @theme_selected_fg_color; background-color: @theme_selected_bg_color; }" , -1, NULL); gtk_style_context_add_provider (context, GTK_STYLE_PROVIDER(provider), G_MAXUINT); // gtk_style_context_set_state(context, GTK_STATE_FLAG_SELECTED); #endif gtk_box_pack_start (GTK_BOX (vbox), ebox, FALSE, TRUE, 0); gtk_widget_show (ebox); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); gtk_container_set_border_width (GTK_CONTAINER (hbox), SPACING_SMALL); gtk_container_add (GTK_CONTAINER (ebox), hbox); gtk_widget_show (hbox); label = gtk_label_new (NULL); gtk_widget_set_margin_start(label, SPACING_MEDIUM); gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_XX_LARGE, PANGO_ATTR_WEIGHT, PANGO_WEIGHT_BOLD, -1); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); gtk_widget_show (label); data->label = label; image = gtk_image_new (); gtk_box_pack_end (GTK_BOX (hbox), image, FALSE, FALSE, 0); gtk_widget_show (image); data->image = image; //notebook notebook = gtk_notebook_new(); data->GR_page = notebook; gtk_widget_show(notebook); gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), FALSE); gtk_notebook_set_show_border(GTK_NOTEBOOK(notebook), FALSE); gtk_box_pack_start (GTK_BOX (vbox), notebook, TRUE, TRUE, 0); /* PREF_GENERAL, PREF_INTERFACE, PREF_LOCALE, //old DISPLAY PREF_TXN, //old COLUMNS PREF_IMPORT, PREF_REPORT, PREF_BACKUP, PREF_FOLDERS, PREF_EURO, PREF_MAX */ //general page = defpref_page_general(data); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page, NULL); //interface page = defpref_page_interface(data); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page, NULL); //locale page = defpref_page_display(data); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page, NULL); //transaction page = defpref_page_transactions(data); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page, NULL); //import page = defpref_page_import(data); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page, NULL); //report page = defpref_page_reports(data); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page, NULL); //backup page = defpref_page_filebackup(data); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page, NULL); //folders page = defpref_page_folders(data); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page, NULL); //euro page = defpref_page_euro(data); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page, NULL); //todo:should move this gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_euro_enable), PREFS->euro_active); //connect all our signals g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window); g_signal_connect (data->CM_bak_is_automatic, "toggled", G_CALLBACK (defpref_backuptoggle), NULL); //path selector g_signal_connect (data->BT_path_hbfile, "pressed", G_CALLBACK (defpref_pathselect), GINT_TO_POINTER(PRF_PATH_WALLET)); g_signal_connect (data->BT_path_hbbak , "pressed", G_CALLBACK (defpref_pathselect), GINT_TO_POINTER(PRF_PATH_BACKUP)); g_signal_connect (data->BT_path_import, "pressed", G_CALLBACK (defpref_pathselect), GINT_TO_POINTER(PRF_PATH_IMPORT)); g_signal_connect (data->BT_path_export, "pressed", G_CALLBACK (defpref_pathselect), GINT_TO_POINTER(PRF_PATH_EXPORT)); g_signal_connect (data->CM_custom_colors, "toggled", G_CALLBACK (defpref_colortoggle), NULL); g_signal_connect (data->CY_colors, "changed", G_CALLBACK (defpref_colorpreset), NULL); g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_page)), "changed", G_CALLBACK (defpref_selection), notebook); g_signal_connect (data->CM_euro_enable, "toggled", G_CALLBACK (defpref_eurotoggle), NULL); g_signal_connect (data->CY_euro_preset, "changed", G_CALLBACK (defpref_europreset), NULL); //date g_signal_connect (data->ST_datefmt, "changed", G_CALLBACK (defpref_date_sample), NULL); //report g_signal_connect (data->CY_color_scheme, "changed", G_CALLBACK (defpref_color_scheme_changed), NULL); //euro number g_signal_connect (data->ST_euro_symbol , "changed", G_CALLBACK (defpref_numbereuro_sample), NULL); g_signal_connect (data->CM_euro_isprefix, "toggled", G_CALLBACK (defpref_numbereuro_sample), NULL); g_signal_connect (data->ST_euro_decimalchar , "changed", G_CALLBACK (defpref_numbereuro_sample), NULL); g_signal_connect (data->ST_euro_groupingchar, "changed", G_CALLBACK (defpref_numbereuro_sample), NULL); g_signal_connect (data->NB_euro_fracdigits, "value-changed", G_CALLBACK (defpref_numbereuro_sample), NULL); //g_signal_connect (data->BT_default, "pressed", G_CALLBACK (defpref_currency_change), NULL); //setup, init and show window //defhbfile_setup(data); //defhbfile_update(data->LV_arc, NULL); defpref_set(data); defpref_colortoggle(window, NULL); defpref_eurotoggle(window, NULL); gtk_window_resize(GTK_WINDOW(window), 640, 256); //select first row GtkTreePath *path = gtk_tree_path_new_first (); gtk_tree_selection_select_path (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_page)), path); gtk_tree_path_free(path); gtk_widget_show_all (window); gint result; gchar *old_lang, *old_path_hbbak; //wait for the user result = gtk_dialog_run (GTK_DIALOG (window)); switch( result ) { case GTK_RESPONSE_ACCEPT: //user attention needed if change is //language/backup path old_lang = g_strdup(PREFS->language); old_path_hbbak = g_strdup(PREFS->path_hbbak); defpref_get(data); homebank_pref_save(); ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_BALANCE+UF_VISUAL)); DB( g_print("old='%s' new='%s'\n", old_lang, PREFS->language) ); //if(g_ascii_strncasecmp(old_lang == NULL ? "" : old_lang, PREFS->language == NULL ? "" : PREFS->language, -1) != 0) if( hb_string_ascii_compare(old_lang, PREFS->language) != 0 ) { ui_dialog_msg_infoerror(GTK_WINDOW(window), GTK_MESSAGE_INFO, _("Info"), _("You will have to restart HomeBank\nfor the language change to take effect.") ); } if( hb_string_ascii_compare(old_path_hbbak, PREFS->path_hbbak) != 0 ) { ui_dialog_msg_infoerror(GTK_WINDOW(window), GTK_MESSAGE_INFO, _("Info"), _("The backup directory has changed,\nyou may need to copy the '.bak' file to this new location.") ); } g_free(old_lang); g_free(old_path_hbbak); break; case 55: defpref_reset (window, NULL); break; } // cleanup and destroy //defhbfile_cleanup(data, result); gtk_widget_destroy (window); g_free(data); return window; } // ------------------------------- static GtkWidget *pref_list_create(void) { GtkListStore *store; GtkWidget *view; GtkCellRenderer *renderer; GtkTreeViewColumn *column; GtkTreeIter iter; gint i; /* create list store */ store = gtk_list_store_new( LST_PREF_MAX, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT ); //treeview view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); g_object_unref(store); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW (view), FALSE); gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(view)), GTK_SELECTION_SINGLE); /* column 1: icon */ column = gtk_tree_view_column_new(); renderer = gtk_cell_renderer_pixbuf_new (); g_object_set(renderer, "stock-size", GTK_ICON_SIZE_DND, NULL); gtk_tree_view_column_pack_start(column, renderer, FALSE); gtk_tree_view_column_set_attributes(column, renderer, "icon-name", LST_PREF_ICONNAME, NULL); renderer = gtk_cell_renderer_text_new (); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_attributes(column, renderer, "text", LST_PREF_NAME, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); //populate our combobox model for(i=0;ilst_ope_columns[i-1]); if(id == 0) id = i; //if we pass here, new column or weird into pref file visible = (PREFS->lst_ope_columns[i-1] > 0) ? TRUE : FALSE; DB( g_print(" - pos=%2d, id=%2d - %d '%s'\n", i, id, visible, list_txn_column_label[id]) ); gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, COLUMN_VISIBLE, visible, COLUMN_NAME, _(list_txn_column_label[id]), COLUMN_ID , id, -1); } //treeview view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); g_object_unref(store); renderer = gtk_cell_renderer_toggle_new (); column = gtk_tree_view_column_new_with_attributes (_("Visible"), renderer, "active", COLUMN_VISIBLE, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); g_signal_connect (renderer, "toggled", G_CALLBACK (list_txn_colpref_toggled_cell_data_function), store); renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes (_("Column"), renderer, "text", COLUMN_NAME, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); gtk_tree_view_set_reorderable (GTK_TREE_VIEW(view), TRUE); return(view); } */ homebank-5.3.2/src/homebank.c0000644000175000017500000006177713604720365012775 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "dsp-mainwindow.h" #include "hb-preferences.h" #include "language.h" #ifdef G_OS_WIN32 #include #endif #define APPLICATION_NAME "HomeBank" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ struct HomeBank *GLOBALS; struct Preferences *PREFS; /* installation paths */ static gchar *config_dir = NULL; static gchar *images_dir = NULL; static gchar *pixmaps_dir = NULL; static gchar *locale_dir = NULL; static gchar *help_dir = NULL; static gchar *datas_dir = NULL; //#define MARKUP_STRING "%s" /* Application arguments */ static gboolean arg_version = FALSE; static gchar **files = NULL; static GOptionEntry option_entries[] = { { "version", '\0', 0, G_OPTION_ARG_NONE, &arg_version, N_("Output version information and exit"), NULL }, { G_OPTION_REMAINING, '\0', 0, G_OPTION_ARG_FILENAME_ARRAY, &files, NULL, N_("[FILE]") }, { NULL } }; /* = = = = = = = = = = = = = = = = = = = = */ /* ** ensure the filename ends with '.xhb' */ void homebank_file_ensure_xhb(gchar *filename) { DB( g_print("\n[homebank] file_ensure_xhb\n") ); filename = (filename == NULL) ? g_strdup(GLOBALS->xhb_filepath) : filename; if( g_str_has_suffix (filename, ".xhb") == FALSE ) { gchar *newfilename; newfilename = hb_filename_new_with_extension(filename, "xhb"); hbfile_change_filepath(newfilename); DB( g_print(" - changed to: '%s'\n", GLOBALS->xhb_filepath) ); } //#1460390 else { hbfile_change_filepath(filename); } } static gboolean homebank_file_copy(gchar *srcfile, gchar *dstfile) { gchar *buffer; gsize length; //GError *error = NULL; gboolean retval = FALSE; DB( g_print("\n[homebank] file copy\n") ); if (g_file_get_contents (srcfile, &buffer, &length, NULL)) { if(g_file_set_contents(dstfile, buffer, length, NULL)) { retval = TRUE; } g_free(buffer); } DB( g_print(" - copied '%s' => '%s' :: %d\n", srcfile, dstfile, retval) ); return retval; } static gboolean homebank_file_delete_existing(gchar *filepath) { gboolean retval = FALSE; DB( g_print("\n[homebank] file delete existing\n") ); if( g_file_test(filepath, G_FILE_TEST_EXISTS) ) { DB( g_print(" - deleting: '%s'\n", filepath) ); g_remove(filepath); retval = TRUE; } else { DB( g_print(" - cannot delete: '%s'\n", filepath) ); } return retval; } void homebank_backup_current_file(void) { gchar *bakfilename; GPtrArray *array; gint i; DB( g_print("\n[homebank] backup_current_file\n") ); //do normal linux backup file DB( g_print(" normal backup with ~\n") ); bakfilename = hb_filename_new_with_extension (GLOBALS->xhb_filepath, "xhb~"); homebank_file_delete_existing(bakfilename); //#512046 copy file not to broke potential links //retval = g_rename(pathname, newname); homebank_file_copy (GLOBALS->xhb_filepath, bakfilename); g_free(bakfilename); //do safe backup according to user preferences DB( g_print(" user pref backup\n") ); if( PREFS->bak_is_automatic == TRUE ) { bakfilename = hb_filename_new_for_backup(GLOBALS->xhb_filepath); if( g_file_test(bakfilename, G_FILE_TEST_EXISTS) == FALSE ) { homebank_file_copy (GLOBALS->xhb_filepath, bakfilename); } g_free(bakfilename); //delete any offscale backup DB( g_print(" clean old backup\n") ); array = hb_filename_backup_list(GLOBALS->xhb_filepath); DB( g_print(" found %d match\n", array->len) ); //#1847645 //gchar *dirname = g_path_get_dirname(GLOBALS->xhb_filepath); gchar *dirname = PREFS->path_hbbak; for(i=0;i<(gint)array->len;i++) { gchar *offscalefilename = g_ptr_array_index(array, i); DB( g_print(" %d : '%s'\n", i, offscalefilename) ); if( i >= PREFS->bak_max_num_copies ) { gchar *bakdelfilepath = g_build_filename(dirname, offscalefilename, NULL); DB( g_print(" - should delete '%s'\n", bakdelfilepath) ); homebank_file_delete_existing(bakdelfilepath); g_free(bakdelfilepath); } } g_ptr_array_free(array, TRUE); //g_free(dirname); } } /* = = = = = = = = = = = = = = = = = = = = */ /* url open */ #ifdef G_OS_WIN32 #define SW_NORMAL 1 static gboolean homebank_util_url_show_win32 (const gchar *url) { int retval; gchar *errmsg; /* win32 API call */ retval = ShellExecuteA (NULL, "open", url, NULL, NULL, SW_NORMAL); if (retval < 0 || retval > 32) return TRUE; errmsg = g_win32_error_message(retval); DB( g_print ("%s\n", errmsg) ); g_free(errmsg); return FALSE; } #else static gboolean homebank_util_url_show_unix (const gchar *url) { gboolean retval; GError *err = NULL; #if( (GTK_MAJOR_VERSION == 3) && (GTK_MINOR_VERSION >= 22) ) retval = gtk_show_uri_on_window (GTK_WINDOW(GLOBALS->mainwindow), url, GDK_CURRENT_TIME, &err); #else retval = gtk_show_uri (gtk_widget_get_screen (GTK_WIDGET (GLOBALS->mainwindow)), url, GDK_CURRENT_TIME, &err); #endif if (!retval) { ui_dialog_msg_infoerror(GTK_WINDOW(GLOBALS->mainwindow), GTK_MESSAGE_ERROR, _("Browser error."), _("Could not display the URL '%s'"), url ); } if(err != NULL) { g_print ("%s\n", err->message); g_error_free (err); } return retval; } #endif gboolean homebank_util_url_show (const gchar *url) { if(url == NULL) return FALSE; #ifdef G_OS_WIN32 return homebank_util_url_show_win32 (url); #else return homebank_util_url_show_unix (url); #endif } /* = = = = = = = = = = = = = = = = = = = = */ /* lastopenedfiles */ /* ** load lastopenedfiles from homedir/.homebank */ gchar *homebank_lastopenedfiles_load(void) { GKeyFile *keyfile; gchar *group, *filename, *tmpfilename; gchar *lastfilename = NULL; GError *error = NULL; DB( g_print("\n[homebank] lastopenedfiles load\n") ); keyfile = g_key_file_new(); if(keyfile) { filename = g_build_filename(homebank_app_get_config_dir(), "lastopenedfiles", NULL ); if(g_key_file_load_from_file (keyfile, filename, G_KEY_FILE_NONE, &error)) { group = "HomeBank"; if(g_key_file_has_key(keyfile, group, "LastOpenedFile", NULL)) { tmpfilename = g_key_file_get_string (keyfile, group, "LastOpenedFile", NULL); // #593082 if (g_file_test (tmpfilename, G_FILE_TEST_EXISTS) != FALSE) { lastfilename = tmpfilename; } } } if( error ) { g_print("failed: %s\n", error->message); g_error_free (error); } g_free(filename); g_key_file_free (keyfile); } return lastfilename; } /* ** save lastopenedfiles to homedir/.homebank (HB_DATA_PATH) */ gboolean homebank_lastopenedfiles_save(void) { GKeyFile *keyfile; gboolean retval = FALSE; gchar *group, *filename; gsize length; GError *error = NULL; DB( g_print("\n[homebank] lastopenedfiles save\n") ); if( GLOBALS->xhb_filepath != NULL ) { //don't save bakup files if( hbfile_file_isbackup(GLOBALS->xhb_filepath) == FALSE ) { keyfile = g_key_file_new(); if(keyfile ) { DB( g_print(" - saving '%s'\n", GLOBALS->xhb_filepath) ); group = "HomeBank"; g_key_file_set_string (keyfile, group, "LastOpenedFile", GLOBALS->xhb_filepath); gchar *contents = g_key_file_to_data( keyfile, &length, NULL); //DB( g_print(" keyfile:\n%s\nlen=%d\n", contents, length) ); filename = g_build_filename(homebank_app_get_config_dir(), "lastopenedfiles", NULL ); g_file_set_contents(filename, contents, length, &error); g_free(filename); if( error ) { g_print("failed: %s\n", error->message); g_error_free (error); } g_free(contents); g_key_file_free (keyfile); } } } return retval; } /* = = = = = = = = = = = = = = = = = = = = */ /* Main homebank */ #ifdef G_OS_WIN32 static GtkCssProvider *provider; static void homebank_theme_changed (GtkSettings *settings, GParamSpec *pspec, gpointer data) { if (pspec == NULL || g_str_equal (pspec->name, "gtk-theme-name")) { gchar *theme; GdkScreen *screen; g_object_get (settings, "gtk-theme-name", &theme, NULL); screen = gdk_screen_get_default (); DB( g_print("theme %s\n", theme) ); if (g_str_equal (theme, "gtk-win32")) { if (provider == NULL) { gchar *filename; filename = g_build_filename(homebank_app_get_datas_dir(), "homebank-gtk-win32.css", NULL ); DB( g_print("tweak file %s\n", filename) ); if( g_file_test(filename, G_FILE_TEST_EXISTS) ) { provider = gtk_css_provider_new (); gtk_css_provider_load_from_path (provider, filename, NULL); } g_free (filename); } if(provider != NULL) { DB( g_print(" assign provider %p to screen %p\n", provider, screen) ); gtk_style_context_add_provider_for_screen (screen, GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); } } else if (provider != NULL) { gtk_style_context_remove_provider_for_screen (screen, GTK_STYLE_PROVIDER (provider)); g_clear_object (&provider); } g_free (theme); } } static void homebank_setup_theme_extensions (void) { GtkSettings *settings; settings = gtk_settings_get_default (); provider = NULL; g_signal_connect (settings, "notify", G_CALLBACK (homebank_theme_changed), NULL); homebank_theme_changed (settings, NULL, NULL); } #endif static void homebank_icon_theme_setup() { DB( g_print("\n[homebank] icon_theme_setup\n") ); GLOBALS->icontheme = gtk_icon_theme_get_default(); DB( g_print(" - prepend theme search path: %s\n", homebank_app_get_pixmaps_dir()) ); gtk_icon_theme_prepend_search_path (GLOBALS->icontheme, homebank_app_get_pixmaps_dir()); //DB( g_print(" - append theme search path: %s\n", homebank_app_get_pixmaps_dir()) ); //gtk_icon_theme_append_search_path (GLOBALS->icontheme, homebank_app_get_pixmaps_dir()); #if MYDEBUG == 1 GtkIconTheme *ic = gtk_icon_theme_get_default(); guint i; gchar **paths; DB( g_print(" - get default icon theme\n") ); gtk_icon_theme_get_search_path(ic, &paths, NULL); for(i=0;itoday = g_date_get_julian(date); g_date_free(date); return GLOBALS->today; } static gboolean homebank_check_app_dir_migrate_file(gchar *srcdir, gchar *dstdir, gchar *filename) { gchar *srcpath; gchar *dstpath; gchar *buffer; gsize length; //GError *error = NULL; gboolean retval = FALSE; DB( g_print("\n[homebank] check_app_dir_migrate_file\n") ); srcpath = g_build_filename(srcdir, filename, NULL ); dstpath = g_build_filename(dstdir, filename, NULL ); if (g_file_get_contents (srcpath, &buffer, &length, NULL)) { if(g_file_set_contents(dstpath, buffer, length, NULL)) { //g_print("sould delete %s\n", srcpath); g_remove(srcpath); retval = TRUE; } } g_free(dstpath); g_free(srcpath); return retval; } /* * check/create user home directory for .homebank (HB_DATA_PATH) directory */ static void homebank_check_app_dir() { gchar *homedir; const gchar *configdir; gboolean exists; DB( g_print("\n[homebank] check_app_dir\n") ); /* check if /.config exist */ #ifndef G_OS_WIN32 configdir = g_get_user_config_dir(); DB( g_print(" - check '%s' exists\n", configdir) ); if(!g_file_test(configdir, G_FILE_TEST_IS_DIR)) { DB( g_print(" - creating dir\n") ); g_mkdir(configdir, 0755); } #endif /* check for XDG .config/homebank */ configdir = homebank_app_get_config_dir(); DB( g_print(" - config_dir is: '%s'\n", configdir) ); exists = g_file_test(configdir, G_FILE_TEST_IS_DIR); if(exists) { /* just update folder security */ DB( g_print(" - chmod 0700\n") ); g_chmod(configdir, 0700); GLOBALS->first_run = FALSE; } else { /* create the config dir */ DB( g_print(" - create config_dir\n") ); g_mkdir(configdir, 0755); g_chmod(configdir, 0700); /* any old homedir configuration out there ? */ homedir = g_build_filename(g_get_home_dir (), ".homebank", NULL ); DB( g_print(" - homedir is: '%s'\n", homedir) ); exists = g_file_test(homedir, G_FILE_TEST_IS_DIR); if(exists) { gboolean f1, f2; /* we must do the migration properly */ DB( g_print(" - migrate old 2 files\n") ); f1 = homebank_check_app_dir_migrate_file(homedir, config_dir, "preferences"); f2 = homebank_check_app_dir_migrate_file(homedir, config_dir, "lastopenedfiles"); if(f1 && f2) { DB( g_print(" - removing old dir\n") ); g_rmdir(homedir); } } g_free(homedir); GLOBALS->first_run = TRUE; } } /* ** application cleanup: icons, GList, memory */ static void homebank_cleanup() { DB( g_print("\n[homebank] cleanup\n") ); //v3.4 save windows size/position homebank_pref_save(); hbfile_cleanup(TRUE); /* free our global datas */ if( PREFS ) { homebank_pref_free(); g_free(PREFS); } if(GLOBALS) { g_free(GLOBALS); } g_free (config_dir); g_free (images_dir); g_free (pixmaps_dir); g_free (locale_dir); g_free (help_dir); } /* ** application setup: icons, GList, memory */ static gboolean homebank_setup() { DB( g_print("\n[homebank] setup\n") ); GLOBALS = g_malloc0(sizeof(struct HomeBank)); if(!GLOBALS) return FALSE; PREFS = g_malloc0(sizeof(struct Preferences)); if(!PREFS) return FALSE; // check homedir for .homebank dir homebank_check_app_dir(); homebank_pref_setdefault(); homebank_pref_load(); hbfile_setup(TRUE); homebank_icon_theme_setup(); #ifdef G_OS_WIN32 homebank_setup_theme_extensions(); #endif homebank_app_date_get_julian(); #if MYDEBUG == 1 g_print(" - user_name: %s\n", g_get_user_name ()); g_print(" - real_name: %s\n", g_get_real_name ()); g_print(" - user_cache_dir: %s\n", g_get_user_cache_dir()); g_print(" - user_data_dir: %s\n", g_get_user_data_dir ()); g_print(" - user_config_dir: %s\n", g_get_user_config_dir ()); //g_print(" - system_data_dirs: %s\n", g_get_system_data_dirs ()); //g_print(" - system_config_dirs: %s\n", g_get_system_config_dirs ()); g_print(" - home_dir: %s\n", g_get_home_dir ()); g_print(" - tmp_dir: %s\n", g_get_tmp_dir ()); g_print(" - current_dir: %s\n", g_get_current_dir ()); #endif return TRUE; } /* = = = = = = = = = = = = = = = = = = = = */ /* Main homebank */ static GtkWidget * homebank_construct_splash() { GtkWidget *window; GtkWidget *frame, *vbox, *image; //gchar *ver_string, *markup, *version; gchar *pathfilename; DB( g_print("\n[homebank_construct_splash]\n") ); window = gtk_window_new(GTK_WINDOW_POPUP); //TOPLEVEL DONT WORK gtk_window_set_type_hint (GTK_WINDOW (window), GDK_WINDOW_TYPE_HINT_SPLASHSCREEN); gtk_window_set_skip_taskbar_hint (GTK_WINDOW (window), TRUE); gtk_window_set_title (GTK_WINDOW (window), "HomeBank"); gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER); pathfilename = g_build_filename(homebank_app_get_images_dir(), "splash.png", NULL); image = gtk_image_new_from_file((const gchar *)pathfilename); g_free(pathfilename); frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT); gtk_container_add (GTK_CONTAINER (window), frame); vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (frame), vbox); /* ver_string = g_strdup_printf(_("Version: HomeBank-%s"), VERSION); version = gtk_label_new(NULL); markup = g_markup_printf_escaped(MARKUP_STRING, ver_string); gtk_label_set_markup(GTK_LABEL(version), markup); g_free(markup); g_free(ver_string); */ gtk_box_pack_start (GTK_BOX (vbox), image, FALSE, FALSE, 0); //gtk_box_pack_start (GTK_BOX (vbox), version, FALSE, FALSE, 0); return window; } static void homebank_init_i18n (void) { /* We may change the locale later if the user specifies a language * in the gimprc file. Here we are just initializing the locale * according to the environment variables and set up the paths to * the message catalogs. */ setlocale (LC_ALL, ""); //#1842292 as indicated in gtk+ win32 gtk_get_localedir [1], bindtextdomain() is not // UTF-8 aware on win32, so it needs a filename in locale encoding #ifdef G_OS_WIN32 gchar *localedir = g_win32_locale_filename_from_utf8 (homebank_app_get_locale_dir ()); bindtextdomain (GETTEXT_PACKAGE, localedir); g_free(localedir); #else bindtextdomain (GETTEXT_PACKAGE, homebank_app_get_locale_dir ()); #endif //#ifdef HAVE_BIND_TEXTDOMAIN_CODESET bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); //#endif textdomain (GETTEXT_PACKAGE); /*#ifdef G_OS_WIN32 gchar *wl = g_win32_getlocale (); DB( g_print(" - win32 locale is '%s'\n", wl) ); g_free(wl); #endif*/ } int main (int argc, char *argv[]) { GOptionContext *option_context; GOptionGroup *option_group; GError *error = NULL; GtkWidget *mainwin; GtkWidget *splash = NULL; gboolean openlast; DB( g_print("\n--------------------------------" ) ); DB( g_print("\nhomebank starting...\n" ) ); build_package_paths(); homebank_init_i18n (); /* Set up option groups */ option_context = g_option_context_new (NULL); //g_option_context_set_summary (option_context, _("")); option_group = g_option_group_new ("homebank", N_("HomeBank options"), N_("HomeBank options"), NULL, NULL); g_option_group_add_entries (option_group, option_entries); g_option_context_set_main_group (option_context, option_group); g_option_group_set_translation_domain (option_group, GETTEXT_PACKAGE); /* Add Gtk option group */ g_option_context_add_group (option_context, gtk_get_option_group (FALSE)); /* Parse command line */ if (!g_option_context_parse (option_context, &argc, &argv, &error)) { g_option_context_free (option_context); if (error) { g_print ("%s\n", error->message); g_error_free (error); } else g_print ("An unknown error occurred\n"); return -1; } g_option_context_free (option_context); option_context = NULL; if (arg_version != FALSE) { /* Print version information and exit */ g_print ("%s\n", PACKAGE " " VERSION); return 0; } /* Pass NULL here since we parsed the gtk+ args already... * from this point all we need a DISPLAY variable to be set. */ gtk_init (NULL, NULL); //todo: sanity check gtk version here ? g_set_application_name (APPLICATION_NAME); if( homebank_setup() ) { /* change the locale if a language is specified */ language_init (PREFS->language); if( PREFS->showsplash == TRUE ) { splash = homebank_construct_splash(); gtk_window_set_auto_startup_notification (FALSE); gtk_widget_show_all (splash); gtk_window_set_auto_startup_notification (TRUE); // make sure splash is up while (gtk_events_pending ()) gtk_main_iteration (); } gtk_window_set_default_icon_name ("homebank"); DB( g_print(" - creating window\n" ) ); mainwin = (GtkWidget *)create_hbfile_window (NULL); if(mainwin) { //todo: pause on splash if( PREFS->showsplash == TRUE ) { //g_usleep( G_USEC_PER_SEC * 1 ); gtk_widget_hide(splash); gtk_widget_destroy(splash); } #if HB_UNSTABLE == TRUE /* GtkWidget *dialog = gtk_message_dialog_new (GTK_WINDOW(mainwin), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_WARNING, GTK_BUTTONS_CLOSE, "This is a beta version of HomeBank (UNSTABLE)" ); gtk_message_dialog_format_secondary_markup (GTK_MESSAGE_DIALOG (dialog), "DO NOT USE with important files or do a backup first.\n" "This kind of release is for TESTING ONLY.\n" "It may be buggy, crash, or lose your data.\n\n" "For unstable bugs report, questions, suggestions:\n" " - DO NOT USE LaunchPad\n" " - direct email to: <homebank@free.fr>\n\n" "Thanks !" ); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog);*/ #endif if(GLOBALS->first_run) { ui_mainwindow_action_help_welcome(); } while (gtk_events_pending ()) /* make sure splash is gone */ gtk_main_iteration (); DB( g_print(" - open last file ?\n" ) ); // load a file ? /* load 1st file specified on commandline */ openlast = PREFS->loadlast; if (files != NULL) { if (g_file_test (files[0], G_FILE_TEST_EXISTS) != FALSE) { DB( g_print(" - should load %s\n", files[0] ) ); hbfile_change_filepath(g_strdup(files[0])); ui_mainwindow_open_internal(mainwin, NULL); openlast = FALSE; } else { g_warning (_("Unable to open '%s', the file does not exist.\n"), files[0]); } g_strfreev (files); } DB( g_print(" - GLOBALS->xhb_filepath: '%s'\n", GLOBALS->xhb_filepath ) ); if( openlast ) { gchar *lastfilepath; lastfilepath = homebank_lastopenedfiles_load(); if( lastfilepath != NULL ) { //#1710955 test for backup open if( hbfile_file_isbackup(lastfilepath) ) { if( ui_mainwindow_open_backup_check_confirm(lastfilepath) == TRUE ) { GLOBALS->hbfile_is_bak = TRUE; } else { g_free(lastfilepath); goto nobak; } } hbfile_change_filepath(lastfilepath); ui_mainwindow_open_internal(mainwin, NULL); } } /* -- hack to generate a big file -- */ nobak: /* update the mainwin display */ ui_mainwindow_update(mainwin, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE+UF_BALANCE+UF_VISUAL)); DB( g_print(" - gtk_main()\n" ) ); gtk_main (); DB( g_print(" - call destroy mainwin\n" ) ); gtk_widget_destroy(mainwin); } } homebank_cleanup(); return EXIT_SUCCESS; } #ifdef G_OS_WIN32 /* In case we build this as a windows application */ #ifdef __GNUC__ #define _stdcall __attribute__((stdcall)) #endif int _stdcall WinMain (struct HINSTANCE__ *hInstance, struct HINSTANCE__ *hPrevInstance, char *lpszCmdLine, int nCmdShow) { return main (__argc, __argv); } #endif homebank-5.3.2/src/rep-budget.c0000644000175000017500000013453613610632134013232 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "rep-budget.h" #include "list-operation.h" #include "gtk-chart-progress.h" #include "gtk-dateentry.h" #include "dsp-mainwindow.h" #include "ui-transaction.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; static void repbudget_date_change(GtkWidget *widget, gpointer user_data); static void repbudget_range_change(GtkWidget *widget, gpointer user_data); static void repbudget_toggle_detail(GtkWidget *widget, gpointer user_data); static void repbudget_detail(GtkWidget *widget, gpointer user_data); static void repbudget_compute(GtkWidget *widget, gpointer user_data); static void repbudget_update_total(GtkWidget *widget, gpointer user_data); static void repbudget_sensitive(GtkWidget *widget, gpointer user_data); static void repbudget_toggle(GtkWidget *widget, gpointer user_data); static GtkWidget *create_list_budget(void); static void repbudget_update_detail(GtkWidget *widget, gpointer user_data); static void repbudget_update_daterange(GtkWidget *widget, gpointer user_data); static GString *ui_list_repbudget_to_string(GtkTreeView *treeview, gboolean clipboard); extern gchar *CYA_CATSUBCAT[]; extern gchar *CYA_KIND[]; /* action functions -------------------- */ static void repbudget_action_viewlist(GtkToolButton *toolbutton, gpointer user_data) { struct repbudget_data *data = user_data; gtk_notebook_set_current_page(GTK_NOTEBOOK(data->GR_result), 0); repbudget_sensitive(data->window, NULL); } static void repbudget_action_viewstack(GtkToolButton *toolbutton, gpointer user_data) { struct repbudget_data *data = user_data; gtk_notebook_set_current_page(GTK_NOTEBOOK(data->GR_result), 1); repbudget_sensitive(data->window, NULL); } /* ======================== */ static gint getmonth(guint date) { GDate *date1; gint month; date1 = g_date_new_julian(date); month = g_date_get_month(date1); /*#if MYDEBUG == 1 g_print("\n[repbudget] getmonth\n"); gchar buffer1[128]; g_date_strftime (buffer1, 128-1, "%x", date1); g_print(" date is '%s', month=%d\n", buffer1, month); #endif*/ g_date_free(date1); return(month); } static gint countmonth(guint32 mindate, guint32 maxdate) { GDate *date1, *date2; gint nbmonth; date1 = g_date_new_julian(mindate); date2 = g_date_new_julian(maxdate); nbmonth = 0; while(g_date_compare(date1, date2) < 0) { nbmonth++; g_date_add_months(date1, 1); } g_date_free(date2); g_date_free(date1); return(nbmonth); } static gdouble budget_compute_result(gdouble budget, gdouble spent) { gdouble retval; //original formula //result = ABS(budget) - ABS(spent); retval = spent - budget; return retval; } static void repbudget_date_change(GtkWidget *widget, gpointer user_data) { struct repbudget_data *data; DB( g_print("\n[repbudget] date change\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); data->filter->mindate = gtk_date_entry_get_date(GTK_DATE_ENTRY(data->PO_mindate)); data->filter->maxdate = gtk_date_entry_get_date(GTK_DATE_ENTRY(data->PO_maxdate)); // set min/max date for both widget gtk_date_entry_set_maxdate(GTK_DATE_ENTRY(data->PO_mindate), data->filter->maxdate); gtk_date_entry_set_mindate(GTK_DATE_ENTRY(data->PO_maxdate), data->filter->mindate); g_signal_handler_block(data->CY_range, data->handler_id[HID_REPBUDGET_RANGE]); hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_range), FLT_RANGE_OTHER); g_signal_handler_unblock(data->CY_range, data->handler_id[HID_REPBUDGET_RANGE]); repbudget_compute(widget, NULL); repbudget_update_daterange(widget, NULL); } static void repbudget_range_change(GtkWidget *widget, gpointer user_data) { struct repbudget_data *data; gint range; DB( g_print("\n[repbudget] range change\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); range = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_range)); if(range != FLT_RANGE_OTHER) { filter_preset_daterange_set(data->filter, range, 0); g_signal_handler_block(data->PO_mindate, data->handler_id[HID_REPBUDGET_MINDATE]); g_signal_handler_block(data->PO_maxdate, data->handler_id[HID_REPBUDGET_MAXDATE]); gtk_date_entry_set_date(GTK_DATE_ENTRY(data->PO_mindate), data->filter->mindate); gtk_date_entry_set_date(GTK_DATE_ENTRY(data->PO_maxdate), data->filter->maxdate); g_signal_handler_unblock(data->PO_mindate, data->handler_id[HID_REPBUDGET_MINDATE]); g_signal_handler_unblock(data->PO_maxdate, data->handler_id[HID_REPBUDGET_MAXDATE]); repbudget_compute(widget, NULL); repbudget_update_daterange(widget, NULL); } } static void repbudget_update_daterange(GtkWidget *widget, gpointer user_data) { struct repbudget_data *data; gchar *daterange; DB( g_print("\n[repbudget] update daterange\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); daterange = filter_daterange_text_get(data->filter); gtk_label_set_markup(GTK_LABEL(data->TX_daterange), daterange); g_free(daterange); } static void repbudget_toggle_detail(GtkWidget *widget, gpointer user_data) { struct repbudget_data *data; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n[repbudget] toggle detail\n") ); data->detail ^= 1; repbudget_update_detail(widget, user_data); } static void repbudget_detail_onRowActivated (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *col, gpointer userdata) { struct repbudget_data *data; Transaction *active_txn; gboolean result; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(treeview), GTK_TYPE_WINDOW)), "inst_data"); DB( g_print ("\n[repbudget] A detail row has been double-clicked!\n") ); active_txn = list_txn_get_active_transaction(GTK_TREE_VIEW(data->LV_detail)); if(active_txn) { Transaction *old_txn, *new_txn; old_txn = da_transaction_clone (active_txn); new_txn = active_txn; result = deftransaction_external_edit(GTK_WINDOW(data->window), old_txn, new_txn); if(result == GTK_RESPONSE_ACCEPT) { //#1640885 GLOBALS->changes_count++; repbudget_compute(data->window, NULL); } da_transaction_free (old_txn); } } static void repbudget_update_detail(GtkWidget *widget, gpointer user_data) { struct repbudget_data *data; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n[repbudget] update detail\n") ); if(GTK_IS_TREE_VIEW(data->LV_report)) { if(data->detail) { GtkTreeSelection *treeselection; GtkTreeModel *model; GtkTreeIter iter; guint key; treeselection = gtk_tree_view_get_selection (GTK_TREE_VIEW(data->LV_report)); if (gtk_tree_selection_get_selected(treeselection, &model, &iter)) { gtk_tree_model_get(model, &iter, LST_BUDGET_KEY, &key, -1); //DB( g_print(" - active is %d\n", pos) ); repbudget_detail(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), GINT_TO_POINTER(key)); } gtk_widget_show(data->GR_detail); } else gtk_widget_hide(data->GR_detail); } } static void repbudget_export_result_clipboard(GtkWidget *widget, gpointer user_data) { struct repbudget_data *data; GtkClipboard *clipboard; GString *node; DB( g_print("\n[repbudget] export result clipboard\n") ); data = user_data; //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); node = ui_list_repbudget_to_string(GTK_TREE_VIEW(data->LV_report), TRUE); clipboard = gtk_clipboard_get_default(gdk_display_get_default()); gtk_clipboard_set_text(clipboard, node->str, node->len); g_string_free(node, TRUE); } static void repbudget_export_result_csv(GtkWidget *widget, gpointer user_data) { struct repbudget_data *data; gchar *filename = NULL; GString *node; GIOChannel *io; gchar *name; gint tmpfor; DB( g_print("\n[repbudget] export result csv\n") ); data = user_data; //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); tmpfor = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_for)); name = g_strdup_printf("hb-repbudget_%s.csv", CYA_CATSUBCAT[tmpfor]); if( ui_file_chooser_csv(GTK_WINDOW(data->window), GTK_FILE_CHOOSER_ACTION_SAVE, &filename, name) == TRUE ) { DB( g_print(" + filename is %s\n", filename) ); io = g_io_channel_new_file(filename, "w", NULL); if(io != NULL) { node = ui_list_repbudget_to_string(GTK_TREE_VIEW(data->LV_report), FALSE); g_io_channel_write_chars(io, node->str, -1, NULL, NULL); g_io_channel_unref (io); g_string_free(node, TRUE); } g_free( filename ); } g_free(name); } static void repbudget_export_detail_clipboard(GtkWidget *widget, gpointer user_data) { struct repbudget_data *data; GtkClipboard *clipboard; GString *node; DB( g_print("\n[repbudget] export detail clipboard\n") ); data = user_data; //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); node = list_txn_to_string(GTK_TREE_VIEW(data->LV_detail), TRUE); clipboard = gtk_clipboard_get_default(gdk_display_get_default()); gtk_clipboard_set_text(clipboard, node->str, node->len); g_string_free(node, TRUE); } static void repbudget_export_detail_csv(GtkWidget *widget, gpointer user_data) { struct repbudget_data *data; gchar *filename = NULL; GString *node; GIOChannel *io; gchar *name; gint tmpfor; DB( g_print("\n[repbudget] export detail csv\n") ); data = user_data; //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); tmpfor = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_for)); name = g_strdup_printf("hb-repstat-detail_%s.csv", CYA_CATSUBCAT[tmpfor]); if( ui_file_chooser_csv(GTK_WINDOW(data->window), GTK_FILE_CHOOSER_ACTION_SAVE, &filename, name) == TRUE ) { DB( g_print(" + filename is %s\n", filename) ); io = g_io_channel_new_file(filename, "w", NULL); if(io != NULL) { node = list_txn_to_string(GTK_TREE_VIEW(data->LV_detail), FALSE); g_io_channel_write_chars(io, node->str, -1, NULL, NULL); g_io_channel_unref (io); g_string_free(node, TRUE); } g_free( filename ); } g_free(name); } static void repbudget_detail(GtkWidget *widget, gpointer user_data) { struct repbudget_data *data; guint active = GPOINTER_TO_INT(user_data); GList *list; guint tmpfor; GtkTreeModel *model; GtkTreeIter iter; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n[repbudget] detail\n") ); if(data->detail) { /* clear and detach our model */ model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_detail)); gtk_list_store_clear (GTK_LIST_STORE(model)); g_object_ref(model); /* Make sure the model stays with us after the tree view unrefs it */ gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_detail), NULL); /* Detach model from view */ tmpfor = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_for)); /* fill in the model */ list = g_queue_peek_head_link(data->txn_queue); while (list != NULL) { Account *acc; Transaction *ope = list->data; gdouble dtlamt = ope->amount; guint pos = 0; gboolean insert = FALSE; //DB( g_print(" get %s\n", ope->ope_Word) ); acc = da_acc_get(ope->kacc); if(acc != NULL) { if((acc->flags & AF_NOBUDGET)) goto next1; } //filter here if( ope->flags & OF_SPLIT ) { guint nbsplit = da_splits_length(ope->splits); Split *split; guint i; dtlamt = 0.0; for(i=0;isplits, i); switch(tmpfor) { case BUDG_CATEGORY: { Category *catentry = da_cat_get(split->kcat); if(catentry) pos = (catentry->flags & GF_SUB) ? catentry->parent : catentry->key; } break; case BUDG_SUBCATEGORY: pos = split->kcat; break; } if( pos == active ) { insert = TRUE; dtlamt += split->amount; // no more break here as we need to compute split 4 cat //break; } } } else { switch(tmpfor) { case BUDG_CATEGORY: { Category *catentry = da_cat_get(ope->kcat); if(catentry) pos = (catentry->flags & GF_SUB) ? catentry->parent : catentry->key; } break; case BUDG_SUBCATEGORY: pos = ope->kcat; break; } if( pos == active ) insert = TRUE; } //insert if( insert == TRUE ) { gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, MODEL_TXN_POINTER, ope, MODEL_TXN_SPLITAMT, dtlamt, -1); } next1: list = g_list_next(list); } /* Re-attach model to view */ gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_detail), model); g_object_unref(model); gtk_tree_view_columns_autosize( GTK_TREE_VIEW(data->LV_detail) ); } } static void repbudget_compute_cat_spent(guint32 key, gdouble amount, gdouble *tmp_spent, gdouble *tmp_budget) { Category *cat; cat = da_cat_get(key); if(cat) { DB( g_print(" cat %02d:%02d (sub=%d), bud=%.2f\n", cat->parent, cat->key, (cat->flags & GF_SUB), tmp_budget[cat->key]) ); if( (cat->flags & GF_FORCED) || (cat->flags & GF_BUDGET) ) { DB( g_print(" + spend %.2f to cat %d\n", amount, cat->key) ); tmp_spent[cat->key] += amount; } //#1825653 subcat without budget must be computed if( (cat->flags & GF_SUB) ) { Category *pcat = da_cat_get(cat->parent); if(pcat) { if( (cat->flags & GF_FORCED) || (cat->flags & GF_BUDGET) || (pcat->flags & GF_FORCED) || (pcat->flags & GF_BUDGET) ) { DB( g_print(" + spend %.2f to parent %d\n", amount, cat->parent) ); tmp_spent[pcat->key] += amount; } } } } } static void repbudget_compute(GtkWidget *widget, gpointer user_data) { struct repbudget_data *data; gint tmpfor, tmpkind, tmponlyout; guint32 mindate, maxdate; GtkTreeModel *model; GtkTreeIter iter; GList *list; guint n_result, id; gdouble *tmp_spent, *tmp_budget; gboolean *tmp_hassub; gint nbmonth = 1; gchar *title; DB( g_print("\n[repbudget] compute\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); tmpfor = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_for)); tmpkind = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_kind)); tmponlyout = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_onlyout)); mindate = data->filter->mindate; maxdate = data->filter->maxdate; if(maxdate < mindate) return; g_queue_free (data->txn_queue); data->txn_queue = hbfile_transaction_get_partial_budget(data->filter->mindate, data->filter->maxdate); DB( g_print(" for=%d, kind=%d\n", tmpfor, tmpkind) ); nbmonth = countmonth(mindate, maxdate); DB( g_print(" date: min=%d max=%d nbmonth=%d\n", mindate, maxdate, nbmonth) ); n_result = da_cat_get_max_key(); DB( g_print(" nbcat=%d\n", n_result) ); /* allocate some memory */ tmp_spent = g_malloc0((n_result+1) * sizeof(gdouble)); tmp_budget = g_malloc0((n_result+1) * sizeof(gdouble)); tmp_hassub = g_malloc0((n_result+1) * sizeof(gboolean)); if(tmp_spent && tmp_budget && tmp_hassub) { guint i = 0; /* compute the results */ data->total_spent = 0.0; data->total_budget = 0.0; /* compute budget for each category */ DB( g_print("\n+ compute budget\n") ); //fixed #328034: here <=n_result for(i=1; i<=n_result; i++) { Category *entry; entry = da_cat_get(i); if( entry == NULL) continue; DB( g_print(" %d:'%s' issub=%d hasbudget=%d custom=%d\n", entry->key, entry->name, (entry->flags & GF_SUB), (entry->flags & GF_BUDGET), (entry->flags & GF_CUSTOM)) ); //debug /*#if MYDEBUG == 1 gint k; g_print(" budget vector: "); for(k=0;k<13;k++) g_print( " %d:[%.2f]", k, entry->budget[k]); g_print("\n"); #endif*/ // same value each month ? if(!(entry->flags & GF_CUSTOM)) { DB( g_print(" - monthly %.2f\n", entry->budget[0]) ); tmp_budget[entry->key] += entry->budget[0]*nbmonth; if( entry->flags & GF_SUB ) { tmp_budget[entry->parent] += entry->budget[0]*nbmonth; tmp_hassub[entry->parent] = TRUE; } } //otherwise sum each month from mindate month else { gint month = getmonth(mindate); gint j; DB( g_print(" - custom each month for %d months\n", nbmonth) ); for(j=0;jbudget[month]) ); tmp_budget[entry->key] += entry->budget[month]; if( entry->flags & GF_SUB ) { tmp_budget[entry->parent] += entry->budget[month]; tmp_hassub[entry->parent] = TRUE; } month++; if(month > 12) { month = 1; } } } } // compute spent for each transaction */ DB( g_print("\n+ compute spent from transactions\n") ); list = g_queue_peek_head_link(data->txn_queue); while (list != NULL) { Transaction *ope = list->data; DB( g_print("ope: %s :: acc=%d, cat=%d, mnt=%.2f\n", ope->memo, ope->kacc, ope->kcat, ope->amount) ); if( ope->flags & OF_SPLIT ) { guint nbsplit = da_splits_length(ope->splits); Split *split; for(i=0;isplits, i); repbudget_compute_cat_spent(split->kcat, hb_amount_base(split->amount, ope->kcur), tmp_spent, tmp_budget); } } else { repbudget_compute_cat_spent(ope->kcat, hb_amount_base(ope->amount, ope->kcur), tmp_spent, tmp_budget); } list = g_list_next(list); i++; } DB( g_print("\nclear and detach model\n") ); /* clear and detach our model */ model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_report)); gtk_list_store_clear (GTK_LIST_STORE(model)); g_object_ref(model); /* Make sure the model stays with us after the tree view unrefs it */ gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_report), NULL); /* Detach model from view */ for(i=1, id=0; i<=n_result; i++) { gchar *name; gboolean outofbudget; Category *entry; entry = da_cat_get(i); if( entry == NULL) continue; name = entry->key == 0 ? "(None)" : entry->fullname; //#1553862 //if( (tmpfor == BUDG_CATEGORY && !(entry->flags & GF_SUB)) || (tmpfor == BUDG_SUBCATEGORY) ) if( (tmpfor == BUDG_CATEGORY && !(entry->flags & GF_SUB)) || (tmpfor == BUDG_SUBCATEGORY && ((entry->flags & GF_SUB) || !tmp_hassub[i]) ) ) { guint pos; pos = 0; switch(tmpfor) { case BUDG_CATEGORY: { Category *catentry = da_cat_get(i); if(catentry) pos = (catentry->flags & GF_SUB) ? catentry->parent : catentry->key; } break; case BUDG_SUBCATEGORY: pos = i; break; } // display expense or income (filter on amount and not category hypothetical flag if( tmpkind == 1 && tmp_budget[pos] > 0) continue; if( tmpkind == 2 && tmp_budget[pos] < 0) continue; //DB( g_print(" eval %d '%s' : spen=%.2f bud=%.2f \n", i, name, tmp_spent[pos], tmp_budget[pos] ) ); if((entry->flags & (GF_BUDGET|GF_FORCED)) || tmp_budget[pos] /*|| tmp_spent[pos]*/) { gdouble result, rawrate; gchar *status; result = budget_compute_result(tmp_budget[pos], tmp_spent[pos]); rawrate = 0.0; if(ABS(tmp_budget[pos]) > 0) { rawrate = tmp_spent[pos] / tmp_budget[pos]; } else if(tmp_budget[pos] == 0.0) rawrate = ABS(tmp_spent[pos]); status = ""; outofbudget = FALSE; if( result ) { if(rawrate > 1.0) { status = _(" over"); outofbudget = TRUE; } else { if(tmp_budget[pos] < 0.0) status = _(" left"); else if(tmp_budget[pos] > 0.0) { status = _(" under"); outofbudget = TRUE; } } } if(tmponlyout == TRUE && outofbudget == FALSE) goto nextins; DB( g_print(" => insert '%s' s:%.2f b:%.2f r:%.2f (%%%.2f) '%s' '%d'\n\n", name, tmp_spent[pos], tmp_budget[pos], result, rawrate, status, outofbudget ) ); gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, LST_BUDGET_POS, id++, LST_BUDGET_KEY, pos, LST_BUDGET_NAME, name, LST_BUDGET_SPENT, tmp_spent[pos], LST_BUDGET_BUDGET, tmp_budget[pos], LST_BUDGET_RESULT, result, LST_BUDGET_STATUS, status, -1); nextins: data->total_spent += tmp_spent[pos]; data->total_budget += tmp_budget[pos]; } } } /* update column 0 title */ GtkTreeViewColumn *column = gtk_tree_view_get_column( GTK_TREE_VIEW(data->LV_report), 0); gtk_tree_view_column_set_title(column, _(CYA_CATSUBCAT[tmpfor])); gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_report)); /* Re-attach model to view */ gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_report), model); g_object_unref(model); repbudget_update_total(widget, NULL); /* update stack chart */ title = g_strdup_printf(_("Budget for %s"), _(CYA_CATSUBCAT[tmpfor]) ); ui_chart_progress_set_currency(GTK_CHARTPROGRESS(data->RE_stack), GLOBALS->kcur); /* set chart color scheme */ ui_chart_progress_set_color_scheme(GTK_CHARTPROGRESS(data->RE_stack), PREFS->report_color_scheme); ui_chart_progress_set_dualdatas(GTK_CHARTPROGRESS(data->RE_stack), model, _("Budget"), _("Result"), title, NULL); g_free(title); } //DB( g_print(" inserting %i, %f %f\n", i, total_expense, total_income) ); /* free our memory */ g_free(tmp_hassub); g_free(tmp_spent); g_free(tmp_budget); } static void repbudget_update_total(GtkWidget *widget, gpointer user_data) { struct repbudget_data *data; DB( g_print("\n[repbudget] update total\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); GLOBALS->minor = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_minor)); hb_label_set_colvalue(GTK_LABEL(data->TX_total[0]), data->total_spent, GLOBALS->kcur, GLOBALS->minor); hb_label_set_colvalue(GTK_LABEL(data->TX_total[1]), data->total_budget, GLOBALS->kcur, GLOBALS->minor); hb_label_set_colvalue(GTK_LABEL(data->TX_total[2]), budget_compute_result(data->total_budget, data->total_spent), GLOBALS->kcur, GLOBALS->minor); } /* ** update sensitivity */ static void repbudget_sensitive(GtkWidget *widget, gpointer user_data) { struct repbudget_data *data; gboolean visible, sensitive; gint page; DB( g_print("\n[repbudget] sensitive\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); page = gtk_notebook_get_current_page(GTK_NOTEBOOK(data->GR_result)); visible = (page == 0) ? TRUE : FALSE; hb_widget_visible (data->BT_detail, visible); hb_widget_visible (data->BT_export, visible); page = gtk_tree_model_iter_n_children(gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_detail)), NULL); sensitive = ((page > 0) && data->detail) ? TRUE : FALSE; gtk_widget_set_sensitive(data->MI_detailtoclip, sensitive); gtk_widget_set_sensitive(data->MI_detailtocsv, sensitive); } static void repbudget_toggle(GtkWidget *widget, gpointer user_data) { struct repbudget_data *data; gboolean minor; DB( g_print("\n[repbudget] toggle\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); repbudget_update_total(widget, NULL); //hbfile_update(data->LV_acc, (gpointer)4); gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_report)); minor = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_minor)); ui_chart_progress_show_minor(GTK_CHARTPROGRESS(data->RE_stack), minor); } static void repbudget_setup(struct repbudget_data *data) { DB( g_print("\n[repbudget] setup\n") ); data->txn_queue = g_queue_new (); data->filter = da_flt_malloc(); filter_reset(data->filter); data->detail = PREFS->budg_showdetail; data->legend = 1; /* 3.4 : make int transfer out of stats */ data->filter->option[FILTER_TYPE] = 2; data->filter->type = FLT_TYPE_INTXFER; filter_preset_daterange_set(data->filter, PREFS->date_range_rep, 0); g_signal_handler_block(data->PO_mindate, data->handler_id[HID_REPBUDGET_MINDATE]); g_signal_handler_block(data->PO_maxdate, data->handler_id[HID_REPBUDGET_MAXDATE]); gtk_date_entry_set_date(GTK_DATE_ENTRY(data->PO_mindate), data->filter->mindate); gtk_date_entry_set_date(GTK_DATE_ENTRY(data->PO_maxdate), data->filter->maxdate); g_signal_handler_unblock(data->PO_mindate, data->handler_id[HID_REPBUDGET_MINDATE]); g_signal_handler_unblock(data->PO_maxdate, data->handler_id[HID_REPBUDGET_MAXDATE]); } static void repbudget_selection(GtkTreeSelection *treeselection, gpointer user_data) { GtkTreeModel *model; GtkTreeIter iter; guint key = -1; DB( g_print("\n[repbudget] selection\n") ); if (gtk_tree_selection_get_selected(treeselection, &model, &iter)) { gtk_tree_model_get(model, &iter, LST_BUDGET_KEY, &key, -1); } DB( g_print(" - active is %d\n", key) ); repbudget_detail(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), GINT_TO_POINTER(key)); repbudget_sensitive(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), NULL); } static GtkWidget * repbudget_toolbar_create(struct repbudget_data *data) { GtkWidget *toolbar, *button; toolbar = gtk_toolbar_new(); button = (GtkWidget *)gtk_radio_tool_button_new(NULL); data->BT_list = button; g_object_set (button, "icon-name", ICONNAME_HB_VIEW_LIST, "label", _("List"), NULL); gtk_widget_set_tooltip_text(button, _("View results as list")); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(button), -1); button = (GtkWidget *)gtk_radio_tool_button_new_from_widget(GTK_RADIO_TOOL_BUTTON(button)); data->BT_stack = button; g_object_set (button, "icon-name", ICONNAME_HB_VIEW_STACK, "label", _("Stack"), NULL); gtk_widget_set_tooltip_text(button, _("View results as stack bars")); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(button), -1); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), gtk_separator_tool_item_new(), -1); button = gtk_widget_new(GTK_TYPE_TOGGLE_TOOL_BUTTON, "icon-name", ICONNAME_HB_OPE_SHOW, "label", _("Detail"), "tooltip-text", _("Toggle detail"), "active", PREFS->budg_showdetail, NULL); data->BT_detail = button; gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(button), -1); button = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_REFRESH, _("Refresh"), _("Refresh results")); data->BT_refresh = button; GtkWidget *menu, *menuitem; menu = gtk_menu_new (); //gtk_widget_set_halign (menu, GTK_ALIGN_END); menuitem = gtk_menu_item_new_with_mnemonic (_("_Result to clipboard")); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (repbudget_export_result_clipboard), data); menuitem = gtk_menu_item_new_with_mnemonic (_("_Result to CSV")); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (repbudget_export_result_csv), data); menuitem = gtk_menu_item_new_with_mnemonic (_("_Detail to clipboard")); data->MI_detailtoclip = menuitem; gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (repbudget_export_detail_clipboard), data); menuitem = gtk_menu_item_new_with_mnemonic (_("_Detail to CSV")); data->MI_detailtocsv = menuitem; gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (repbudget_export_detail_csv), data); gtk_widget_show_all (menu); button = gtk_menu_button_new(); data->BT_export = button; gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET(button)), GTK_STYLE_CLASS_FLAT); //gtk_menu_button_set_direction (GTK_MENU_BUTTON(widget), GTK_ARROW_DOWN); //gtk_widget_set_halign (widget, GTK_ALIGN_END); GtkWidget *image = gtk_image_new_from_icon_name (ICONNAME_HB_FILE_EXPORT, GTK_ICON_SIZE_LARGE_TOOLBAR); g_object_set (button, "image", image, "popup", GTK_MENU(menu), NULL); GtkToolItem *toolitem = gtk_tool_item_new(); gtk_container_add (GTK_CONTAINER(toolitem), button); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(toolitem), -1); return toolbar; } /* ** */ static gboolean repbudget_window_dispose(GtkWidget *widget, GdkEvent *event, gpointer user_data) { struct repbudget_data *data = user_data; struct WinGeometry *wg; DB( g_print("\n[repbudget] start dispose\n") ); g_queue_free (data->txn_queue); da_flt_free(data->filter); g_free(data); //store position and size wg = &PREFS->bud_wg; gtk_window_get_position(GTK_WINDOW(widget), &wg->l, &wg->t); gtk_window_get_size(GTK_WINDOW(widget), &wg->w, &wg->h); DB( g_print(" window: l=%d, t=%d, w=%d, h=%d\n", wg->l, wg->t, wg->w, wg->h) ); //enable define windows GLOBALS->define_off--; ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_SENSITIVE)); DB( g_print("\n[repbudget] end dispose\n") ); return FALSE; } // the window creation GtkWidget *repbudget_window_new(void) { struct repbudget_data *data; struct WinGeometry *wg; GtkWidget *window, *mainvbox, *hbox, *vbox, *notebook, *treeview; GtkWidget *label, *widget, *table, *entry; gint row; data = g_malloc0(sizeof(struct repbudget_data)); if(!data) return NULL; DB( g_print("\n[repbudget] new\n") ); //disable define windows GLOBALS->define_off++; ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_SENSITIVE)); /* create window, etc */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); data->window = window; //store our window private data g_object_set_data(G_OBJECT(window), "inst_data", (gpointer)data); DB( g_print(" - new window=%p, inst_data=%p\n", window, data) ); gtk_window_set_title (GTK_WINDOW (window), _("Budget report")); //set the window icon gtk_window_set_icon_name(GTK_WINDOW (window), ICONNAME_HB_REP_BUDGET); //window contents mainvbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), mainvbox); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (mainvbox), hbox, TRUE, TRUE, 0); //control part table = gtk_grid_new (); // gtk_alignment_new(xalign, yalign, xscale, yscale) //alignment = gtk_alignment_new(0.0, 0.0, 0.0, 0.0); //gtk_container_add(GTK_CONTAINER(alignment), table); gtk_box_pack_start (GTK_BOX (hbox), table, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (table), SPACING_SMALL); gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM); row = 0; label = make_label_group(_("Display")); gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); row++; label = make_label_widget(_("_View by:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); widget = make_cycle(label, CYA_CATSUBCAT); data->CY_for = widget; gtk_grid_attach (GTK_GRID (table), data->CY_for, 2, row, 1, 1); row++; label = make_label_widget(_("_Type:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); widget = make_cycle(label, CYA_KIND); data->CY_kind = widget; gtk_grid_attach (GTK_GRID (table), data->CY_kind, 2, row, 1, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Only out of budget")); data->CM_onlyout = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Euro _minor")); data->CM_minor = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; widget = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL); gtk_grid_attach (GTK_GRID (table), widget, 0, row, 3, 1); row++; label = make_label_group(_("Date filter")); gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); row++; label = make_label_widget(_("_Range:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); data->CY_range = make_daterange(label, DATE_RANGE_CUSTOM_DISABLE); gtk_grid_attach (GTK_GRID (table), data->CY_range, 2, row, 1, 1); row++; label = make_label_widget(_("_From:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); data->PO_mindate = gtk_date_entry_new(label); gtk_grid_attach (GTK_GRID (table), data->PO_mindate, 2, row, 1, 1); row++; label = make_label_widget(_("_To:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); data->PO_maxdate = gtk_date_entry_new(label); gtk_grid_attach (GTK_GRID (table), data->PO_maxdate, 2, row, 1, 1); //part: info + report vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0); //toolbar widget = repbudget_toolbar_create(data); data->TB_bar = widget; gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); //infos hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); gtk_container_set_border_width (GTK_CONTAINER(hbox), SPACING_SMALL); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); widget = make_label(NULL, 0.5, 0.5); gimp_label_set_attributes (GTK_LABEL (widget), PANGO_ATTR_SCALE, PANGO_SCALE_SMALL, -1); data->TX_daterange = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); entry = gtk_label_new(NULL); data->TX_total[2] = entry; gtk_box_pack_end (GTK_BOX (hbox), entry, FALSE, FALSE, 0); label = gtk_label_new(_("Result:")); gtk_box_pack_end (GTK_BOX (hbox), label, FALSE, FALSE, 0); entry = gtk_label_new(NULL); data->TX_total[1] = entry; gtk_box_pack_end (GTK_BOX (hbox), entry, FALSE, FALSE, 0); label = gtk_label_new(_("Budget:")); gtk_box_pack_end (GTK_BOX (hbox), label, FALSE, FALSE, 0); entry = gtk_label_new(NULL); data->TX_total[0] = entry; gtk_box_pack_end (GTK_BOX (hbox), entry, FALSE, FALSE, 0); label = gtk_label_new(_("Spent:")); gtk_box_pack_end (GTK_BOX (hbox), label, FALSE, FALSE, 0); notebook = gtk_notebook_new(); data->GR_result = notebook; gtk_widget_show(notebook); gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), FALSE); gtk_notebook_set_show_border(GTK_NOTEBOOK(notebook), FALSE); gtk_box_pack_start (GTK_BOX (vbox), notebook, TRUE, TRUE, 0); //page: list vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox, NULL); widget = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (widget), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (widget), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); treeview = create_list_budget(); data->LV_report = treeview; gtk_container_add (GTK_CONTAINER(widget), treeview); gtk_box_pack_start (GTK_BOX (vbox), widget, TRUE, TRUE, 0); //detail widget = gtk_scrolled_window_new (NULL, NULL); data->GR_detail = widget; gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (widget), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (widget), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); treeview = create_list_transaction(LIST_TXN_TYPE_DETAIL, PREFS->lst_ope_columns); data->LV_detail = treeview; gtk_container_add (GTK_CONTAINER(widget), treeview); gtk_box_pack_start (GTK_BOX (vbox), widget, TRUE, TRUE, 0); //page: 2d bar //widget = gtk_chart_new(CHART_TYPE_COL); widget = ui_chart_progress_new(); data->RE_stack = widget; gtk_notebook_append_page(GTK_NOTEBOOK(notebook), widget, NULL); //todo:should move this gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_minor),GLOBALS->minor); /* attach our minor to treeview */ g_object_set_data(G_OBJECT(gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_report))), "minor", (gpointer)data->CM_minor); g_object_set_data(G_OBJECT(gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_detail))), "minor", (gpointer)data->CM_minor); /* signal connect */ g_signal_connect (window, "delete-event", G_CALLBACK (repbudget_window_dispose), (gpointer)data); g_signal_connect (data->CM_onlyout, "toggled", G_CALLBACK (repbudget_compute), NULL); g_signal_connect (data->CM_minor, "toggled", G_CALLBACK (repbudget_toggle), NULL); data->handler_id[HID_REPBUDGET_RANGE] = g_signal_connect (data->CY_range, "changed", G_CALLBACK (repbudget_range_change), NULL); g_signal_connect (data->CY_for , "changed", G_CALLBACK (repbudget_compute), (gpointer)data); g_signal_connect (data->CY_kind, "changed", G_CALLBACK (repbudget_compute), (gpointer)data); data->handler_id[HID_REPBUDGET_MINDATE] = g_signal_connect (data->PO_mindate, "changed", G_CALLBACK (repbudget_date_change), (gpointer)data); data->handler_id[HID_REPBUDGET_MAXDATE] = g_signal_connect (data->PO_maxdate, "changed", G_CALLBACK (repbudget_date_change), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_list), "clicked", G_CALLBACK (repbudget_action_viewlist), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_stack), "clicked", G_CALLBACK (repbudget_action_viewstack), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_detail), "clicked", G_CALLBACK (repbudget_toggle_detail), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_refresh), "clicked", G_CALLBACK (repbudget_compute), (gpointer)data); //export is a menu g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_report)), "changed", G_CALLBACK (repbudget_selection), NULL); g_signal_connect (GTK_TREE_VIEW(data->LV_detail), "row-activated", G_CALLBACK (repbudget_detail_onRowActivated), NULL); //setup, init and show window repbudget_setup(data); /* toolbar */ if(PREFS->toolbar_style == 0) gtk_toolbar_unset_style(GTK_TOOLBAR(data->TB_bar)); else gtk_toolbar_set_style(GTK_TOOLBAR(data->TB_bar), PREFS->toolbar_style-1); //setup, init and show window wg = &PREFS->bud_wg; gtk_window_move(GTK_WINDOW(window), wg->l, wg->t); gtk_window_resize(GTK_WINDOW(window), wg->w, wg->h); gtk_widget_show_all (window); //minor ? if( PREFS->euro_active ) gtk_widget_show(data->CM_minor); else gtk_widget_hide(data->CM_minor); //check for any account included into the budget or warn { guint count =0; GList *lacc, *list; lacc = list = g_hash_table_get_values(GLOBALS->h_acc); while (list != NULL) { Account *acc; acc = list->data; //#1674045 ony rely on nosummary //if((acc->flags & (AF_CLOSED|AF_NOREPORT))) goto next1; if((acc->flags & (AF_NOREPORT))) goto next1; if(!(acc->flags & AF_NOBUDGET)) count++; next1: list = g_list_next(list); } g_list_free(lacc); if(count <= 0) { ui_dialog_msg_infoerror(GTK_WINDOW(data->window), GTK_MESSAGE_WARNING, _("No account is defined to be part of the budget."), _("You should include some accounts from the account dialog.") ); } } //gtk_widget_hide(data->GR_detail); repbudget_sensitive(window, NULL); repbudget_update_detail(window, NULL); if( PREFS->date_range_rep != 0) hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_range), PREFS->date_range_rep); else repbudget_compute(window, NULL); return(window); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static GString *ui_list_repbudget_to_string(GtkTreeView *treeview, gboolean clipboard) { GString *node; GtkTreeModel *model; GtkTreeIter iter; gboolean valid; const gchar *format; node = g_string_new(NULL); // header format = (clipboard == TRUE) ? "%s\t%s\t%s\t%s\t\n" : "%s;%s;%s;%s;\n"; g_string_append_printf(node, format, _("Category"), _("Spent"), _("Budget"), _("Result")); model = gtk_tree_view_get_model(treeview); valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { gchar *name, *status; gdouble spent, budget, result; gtk_tree_model_get (model, &iter, //LST_REPDIST_KEY, i, LST_BUDGET_NAME, &name, LST_BUDGET_SPENT, &spent, LST_BUDGET_BUDGET, &budget, LST_BUDGET_RESULT, &result, LST_BUDGET_STATUS, &status, -1); format = (clipboard == TRUE) ? "%s\t%.2f\t%.2f\t%.2f\t%s\n" : "%s;%.2f;%.2f;%.2f;%s\n"; g_string_append_printf(node, format, name, spent, budget, result, status); //leak g_free(name); g_free(status); valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } //DB( g_print("text is:\n%s", node->str) ); return node; } /* ** ** The function should return: ** a negative integer if the first value comes before the second, ** 0 if they are equal, ** or a positive integer if the first value comes after the second. */ static gint budget_listview_compare_funct (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { gint retval = 0; //Category *entry1, *entry2; gchar *entry1, *entry2; gtk_tree_model_get(model, a, LST_BUDGET_NAME, &entry1, -1); gtk_tree_model_get(model, b, LST_BUDGET_NAME, &entry2, -1); retval = hb_string_utf8_compare(entry1, entry2); g_free(entry2); g_free(entry1); return retval; } static void budget_amount_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gdouble value; gchar *color; gchar buf[G_ASCII_DTOSTR_BUF_SIZE]; gint column_id = GPOINTER_TO_INT(user_data); gtk_tree_model_get(model, iter, column_id, &value, -1); if( value ) { hb_strfmon(buf, G_ASCII_DTOSTR_BUF_SIZE-1, value, GLOBALS->kcur, GLOBALS->minor); if( column_id == LST_BUDGET_RESULT) color = get_minimum_color_amount (value, 0.0); else color = get_normal_color_amount(value); g_object_set(renderer, "foreground", color, "text", buf, NULL); } else { g_object_set(renderer, "text", "", NULL); } } static void budget_result_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gdouble value; gchar *color; gchar *status; gint column_id = GPOINTER_TO_INT(user_data); gtk_tree_model_get(model, iter, column_id, &value, LST_BUDGET_STATUS, &status, -1); if( value ) { color = get_minimum_color_amount (value, 0.0); g_object_set(renderer, "foreground", color, "text", status, NULL); } else { g_object_set(renderer, "text", "", NULL); } //leak g_free(status); } static GtkTreeViewColumn *amount_list_budget_column(gchar *name, gint id) { GtkTreeViewColumn *column; GtkCellRenderer *renderer; column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, name); renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 1.0, NULL); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, budget_amount_cell_data_function, GINT_TO_POINTER(id), NULL); gtk_tree_view_column_set_alignment (column, 0.5); //gtk_tree_view_column_set_sort_column_id (column, id); return column; } /* ** create our statistic list */ static GtkWidget *create_list_budget(void) { GtkListStore *store; GtkWidget *view; GtkCellRenderer *renderer; GtkTreeViewColumn *column; DB( g_print("\n[repbudget] create list\n") ); /* create list store */ store = gtk_list_store_new( NUM_LST_BUDGET, G_TYPE_INT, G_TYPE_INT, G_TYPE_STRING, G_TYPE_DOUBLE, //spent G_TYPE_DOUBLE, //budget G_TYPE_DOUBLE, //result G_TYPE_STRING //status ); //treeview view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); g_object_unref(store); gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (view), PREFS->grid_lines); /* column: Name */ column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Category")); renderer = gtk_cell_renderer_text_new (); gtk_tree_view_column_pack_start(column, renderer, TRUE); //gtk_tree_view_column_set_cell_data_func(column, renderer, ope_result_cell_data_function, NULL, NULL); gtk_tree_view_column_add_attribute(column, renderer, "text", LST_BUDGET_NAME); //gtk_tree_view_column_set_sort_column_id (column, LST_STAT_NAME); gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Expense */ column = amount_list_budget_column(_("Spent"), LST_BUDGET_SPENT); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Income */ column = amount_list_budget_column(_("Budget"), LST_BUDGET_BUDGET); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Result */ column = amount_list_budget_column(_("Result"), LST_BUDGET_RESULT); renderer = gtk_cell_renderer_text_new (); //g_object_set(renderer, "xalign", 0.0, NULL); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, budget_result_cell_data_function, GINT_TO_POINTER(LST_BUDGET_RESULT), NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column last: empty */ column = gtk_tree_view_column_new(); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* sort */ gtk_tree_sortable_set_default_sort_func(GTK_TREE_SORTABLE(store), budget_listview_compare_funct, NULL, NULL); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING); /* gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_BUDGET_POS , stat_list_compare_func, GINT_TO_POINTER(LST_BUDGET_POS), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_BUDGET_SPENT , stat_list_compare_func, GINT_TO_POINTER(LST_BUDGET_SPENT), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_BUDGET_BUDGET, stat_list_compare_func, GINT_TO_POINTER(LST_BUDGET_BUDGET), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_BUDGET_RESULT , stat_list_compare_func, GINT_TO_POINTER(LST_BUDGET_RESULT), NULL); */ return(view); } homebank-5.3.2/src/rep-time.h0000644000175000017500000000452413604720371012720 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HOMEBANK_REPTIME_H__ #define __HOMEBANK_REPTIME_H__ enum { LST_REPTIME_POS, LST_REPTIME_KEY, LST_REPTIME_TITLE, LST_REPTIME_AMOUNT, NUM_LST_REPTIME }; /* for choose options */ enum { FOR_REPTIME_ACCOUNT, FOR_REPTIME_CATEGORY, FOR_REPTIME_PAYEE, NUM_FOR_REPTIME }; /* view by choose options */ enum { GROUPBY_REPTIME_DAY, GROUPBY_REPTIME_WEEK, GROUPBY_REPTIME_MONTH, GROUPBY_REPTIME_QUARTER, GROUPBY_REPTIME_YEAR, }; enum { HID_REPTIME_MINDATE, HID_REPTIME_MAXDATE, HID_REPTIME_RANGE, HID_REPTIME_VIEW, MAX_REPTIME_HID }; struct ui_reptime_data { GQueue *txn_queue; Filter *filter; gboolean detail; gint charttype; guint32 accnum; GtkWidget *window; GtkWidget *TB_bar; GtkWidget *BT_list; GtkWidget *BT_line; GtkWidget *BT_column; GtkWidget *BT_detail; GtkWidget *BT_refresh; GtkWidget *BT_export; GtkWidget *MI_detailtoclip; GtkWidget *MI_detailtocsv; GtkWidget *TX_info; GtkWidget *TX_daterange; GtkWidget *CY_src; GtkWidget *CY_intvl; GtkWidget *RG_zoomx, *LB_zoomx; GtkWidget *CM_minor; GtkWidget *CM_cumul; GtkWidget *RA_mode; GtkWidget *LV_report; //GtkWidget *GR_select; GtkWidget *CM_all; GtkWidget *LB_acc, *PO_acc; GtkWidget *LB_cat, *PO_cat; GtkWidget *LB_pay, *PO_pay; GtkWidget *LB_tag, *PO_tag; GtkWidget *CM_showempty; GtkWidget *PO_mindate, *PO_maxdate; GtkWidget *CY_range; GtkWidget *GR_result; GtkWidget *RE_line; GtkWidget *GR_detail; GtkWidget *LV_detail; gulong handler_id[MAX_REPTIME_HID]; gdouble average; }; GtkWidget *ui_reptime_window_new(guint32 accnum); #endif homebank-5.3.2/src/ui-pref.h0000644000175000017500000000752113604720371012545 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_PREFERENCE_GTK_H__ #define __HB_PREFERENCE_GTK_H__ struct defpref_data { // common GtkWidget *dialog; GtkWidget *LV_page; GtkWidget *GR_page; GtkWidget *label; GtkWidget *image; GtkWidget *BT_clear; // general GtkWidget *CM_show_splash; GtkWidget *CM_load_last; GtkWidget *CM_append_scheduled; GtkWidget *CM_do_update_currency; GtkWidget *ST_path_hbfile, *BT_path_hbfile; GtkWidget *ST_path_hbbak, *BT_path_hbbak; GtkWidget *CM_bak_is_automatic; GtkWidget *GR_bak_freq; GtkWidget *LB_bak_max_num_copies, *NB_bak_max_num_copies; GtkWidget *CY_daterange_wal; GtkWidget *NB_fiscyearday; GtkWidget *CY_fiscyearmonth; GtkWidget *CY_language; GtkWidget *CY_toolbar; GtkWidget *LB_colors, *CY_colors; GtkWidget *GR_colors; GtkWidget *CM_custom_colors; GtkWidget *LB_exp_color, *CP_exp_color; GtkWidget *CP_inc_color; GtkWidget *CP_warn_color; //GtkWidget *CM_ruleshint; GtkWidget *CY_gridlines; //GtkWidget *LV_opecolumns; GtkWidget *BT_go_up; GtkWidget *BT_go_down; GtkWidget *CM_runwizard; GtkWidget *ST_path_import, *BT_path_import; GtkWidget *ST_path_export, *BT_path_export; GtkWidget *CM_herit_date; GtkWidget *CM_show_confirm; GtkWidget *CM_hide_reconciled; GtkWidget *CM_show_remind; GtkWidget *CM_show_void; GtkWidget *CM_include_remind; GtkWidget *CM_memoacp; GtkWidget *ST_memoacp_days; GtkWidget *ST_datefmt; GtkWidget *LB_date; GtkWidget *CM_unitismile; GtkWidget *CM_unitisgal; GtkWidget *CY_daterange_txn; GtkWidget *ST_datefuture_nbdays; GtkWidget *CY_daterange_rep; /* currencies */ GtkWidget *LB_default; GtkWidget *BT_default; GtkWidget *CM_euro_enable; GtkWidget *GRP_currency; GtkWidget *GRP_rate; GtkWidget *GRP_format; GtkWidget *CY_euro_preset; GtkWidget *ST_euro_country; GtkWidget *NB_euro_value; GtkWidget *ST_euro_symbol; GtkWidget *CM_euro_isprefix; GtkWidget *ST_euro_decimalchar; GtkWidget *ST_euro_groupingchar; GtkWidget *NB_euro_fracdigits; GtkWidget *LB_numbereuro; //GtkWidget *ST_euro_symbol; //GtkWidget *NB_euro_nbdec; //GtkWidget *CM_euro_thsep; GtkWidget *CM_stat_byamount; GtkWidget *CM_stat_showdetail; GtkWidget *CM_stat_showrate; GtkWidget *CM_budg_showdetail; GtkWidget *CY_color_scheme; GtkWidget *DA_colors; GtkWidget *CM_chartlegend; GtkWidget *CY_dtex_datefmt; GtkWidget *CY_dtex_ofxname; GtkWidget *CY_dtex_ofxmemo; GtkWidget *CM_dtex_qifmemo; GtkWidget *CM_dtex_qifswap; GtkWidget *CM_dtex_ucfirst; GtkWidget *CY_dtex_csvsep; gint country; }; typedef struct { gchar *locale; gchar *name; } LangName; typedef struct { gshort id; gchar *iso; gchar *name; gdouble value; //gchar *prefix_symbol; /* max symbol is 3 digits in unicode */ //gchar *suffix_symbol; /* but mostly is 1 digit */ gchar *symbol; gboolean sym_prefix; gchar *decimal_char; gchar *grouping_char; gshort frac_digits; } EuroParams; enum { PRF_PATH_WALLET, PRF_PATH_BACKUP, PRF_PATH_IMPORT, PRF_PATH_EXPORT, }; void free_pref_icons(void); void load_pref_icons(void); GtkWidget *defpref_dialog_new (void); #endif homebank-5.3.2/src/hb-split.c0000664000175000017500000001342013604720365012713 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hb-transaction.h" #include "hb-split.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ void da_split_free(Split *item) { if(item != NULL) { if(item->memo != NULL) g_free(item->memo); g_free(item); } } Split *da_split_malloc(void) { return g_malloc0(sizeof(Split)); } void da_split_destroy(GPtrArray *splits) { DB( g_print("da_split_destroy\n") ); if(splits != NULL) g_ptr_array_free(splits, TRUE); } GPtrArray *da_split_new(void) { DB( g_print("da_split_new\n") ); return g_ptr_array_new_with_free_func((GDestroyNotify)da_split_free); } static GPtrArray *da_split_new_full(guint size) { DB( g_print("da_split_new\n") ); return g_ptr_array_new_full(size, (GDestroyNotify)da_split_free); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static gint da_splits_compare_func(gpointer a, gpointer b) { Split *sa = *(Split **)a; Split *sb = *(Split **)b; DB( g_print(" sort %d %s - %d %s\n", sa->pos, sa->memo, sb->pos, sb->memo) ); return sa->pos - sb->pos; } void da_splits_sort(GPtrArray *splits) { DB( g_print("da_splits_sort\n") ); if(splits == NULL) { //g_warning("NULL splits"); return; } g_ptr_array_sort(splits, (GCompareFunc) da_splits_compare_func); } guint da_splits_length(GPtrArray *splits) { DB( g_print("da_splits_length\n") ); if(splits == NULL) { //g_warning("NULL splits"); return 0; } return splits->len; } gboolean da_splits_delete(GPtrArray *splits, Split *item) { DB( g_print("da_splits_remove\n") ); if(splits == NULL) { g_warning("NULL splits"); return FALSE; } return g_ptr_array_remove(splits, item); } void da_splits_append(GPtrArray *splits, Split *item) { DB( g_print("da_splits_append\n") ); if(splits == NULL) { g_warning("NULL splits"); return; } if(splits->len <= TXN_MAX_SPLIT) g_ptr_array_add (splits, item); } Split *da_splits_get(GPtrArray *splits, guint index) { return g_ptr_array_index(splits, index); } GPtrArray *da_splits_clone(GPtrArray *src_splits) { GPtrArray *new_splits; guint i; DB( g_print("da_splits_clone\n") ); if(src_splits == NULL) { //g_warning("NULL splits"); return NULL; } new_splits = da_split_new_full (src_splits->len); for(i=0;ilen;i++) { Split *src, *new; src = g_ptr_array_index(src_splits, i); new = da_split_malloc (); new->kcat = src->kcat; new->memo = g_strdup(src->memo); new->amount = src->amount; da_splits_append (new_splits, new); } return new_splits; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ guint da_splits_parse(GPtrArray *splits, gchar *cats, gchar *amounts, gchar *memos) { gchar **cat_a, **amt_a, **mem_a; guint count, i; Split *split; if(splits == NULL) return 0; DB( g_print(" split parse %s :: %s :: %s\n", cats, amounts, memos) ); cat_a = g_strsplit (cats, "||", 0); amt_a = g_strsplit (amounts, "||", 0); mem_a = g_strsplit (memos, "||", 0); count = g_strv_length(amt_a); if( (count == g_strv_length(cat_a)) && (count == g_strv_length(mem_a)) ) { for(i=0;ikcat = atoi(cat_a[i]); split->memo = g_strdup(mem_a[i]); split->amount = g_ascii_strtod(amt_a[i], NULL); da_splits_append (splits, split); } } else { g_warning("invalid split parse"); } g_strfreev (mem_a); g_strfreev (amt_a); g_strfreev (cat_a); return count; } guint da_splits_tostring(GPtrArray *splits, gchar **cats, gchar **amounts, gchar **memos) { guint i; Split *split; char buf[G_ASCII_DTOSTR_BUF_SIZE]; GString *cat_a, *amt_a , *mem_a; if(splits == NULL) return 0; DB( g_print(" splits tostring\n") ); cat_a = g_string_new (NULL); amt_a = g_string_new (NULL); mem_a = g_string_new (NULL); for(i=0;ilen;i++) { split = g_ptr_array_index(splits, i); g_string_append_printf (cat_a, "%d", split->kcat); g_string_append(amt_a, g_ascii_dtostr (buf, sizeof (buf), split->amount) ); g_string_append(mem_a, split->memo); if((i+1) < splits->len) { g_string_append(cat_a, "||"); g_string_append(amt_a, "||"); g_string_append(mem_a, "||"); } } *cats = g_string_free(cat_a, FALSE); *amounts = g_string_free(amt_a, FALSE); *memos = g_string_free(mem_a, FALSE); return i; } guint da_splits_consistency (GPtrArray *splits) { Split *split; guint i; if(splits == NULL) return 0; // check split category #1340142 for(i=0;ilen;i++) { split = g_ptr_array_index(splits, i); if(da_cat_get(split->kcat) == NULL) { g_warning("split consistency: fixed invalid split cat %d", split->kcat); split->kcat = 0; } } return splits->len; } homebank-5.3.2/src/ui-assign.c0000644000175000017500000010010413604720365013062 00000000000000/* HomeBank -- Free, easy, personal ruleing for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "ui-assign.h" #include "ui-category.h" #include "ui-payee.h" #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; extern gchar *CYA_ASG_FIELD[]; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void ui_asg_listview_toggled_cb (GtkCellRendererToggle *cell, gchar *path_str, gpointer data) { GtkTreeModel *model = (GtkTreeModel *)data; GtkTreeIter iter; GtkTreePath *path = gtk_tree_path_new_from_string (path_str); gboolean fixed; /* get toggled iter */ gtk_tree_model_get_iter (model, &iter, path); gtk_tree_model_get (model, &iter, LST_DEFASG_TOGGLE, &fixed, -1); /* do something with the value */ fixed ^= 1; /* set new value */ gtk_list_store_set (GTK_LIST_STORE (model), &iter, LST_DEFASG_TOGGLE, fixed, -1); /* clean up */ gtk_tree_path_free (path); } static gint ui_asg_listview_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { Assign *entry1, *entry2; gtk_tree_model_get(model, a, LST_DEFASG_DATAS, &entry1, -1); gtk_tree_model_get(model, b, LST_DEFASG_DATAS, &entry2, -1); return entry1->pos - entry2->pos; //return hb_string_utf8_compare(entry1->search, entry2->search); } static void ui_asg_listview_pos_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Assign *entry; gchar buffer[256]; gtk_tree_model_get(model, iter, LST_DEFASG_DATAS, &entry, -1); g_snprintf(buffer, 256-1, "%d", entry->pos); g_object_set(renderer, "text", buffer, NULL); } static void ui_asg_listview_search_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Assign *entry; gchar *name; #if MYDEBUG gchar *string; #endif gtk_tree_model_get(model, iter, LST_DEFASG_DATAS, &entry, -1); if(entry->search == NULL) name = _("(none)"); // can never occurs also else name = entry->search; #if MYDEBUG string = g_strdup_printf ("[%d] %s", entry->key, name ); g_object_set(renderer, "text", string, NULL); g_free(string); #else g_object_set(renderer, "text", name, NULL); #endif } static void ui_asg_listview_notes_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Assign *entry; gtk_tree_model_get(model, iter, LST_DEFASG_DATAS, &entry, -1); g_object_set(renderer, "text", entry->notes != NULL ? entry->notes : "", NULL); } /* = = = = = = = = = = = = = = = = */ /** * rul_list_add: * * Add a single element (useful for dynamics add) * * Return value: -- * */ void ui_asg_listview_add(GtkTreeView *treeview, Assign *item) { if( item->search != NULL ) { GtkTreeModel *model; GtkTreeIter iter; model = gtk_tree_view_get_model(treeview); gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, LST_DEFASG_TOGGLE, FALSE, LST_DEFASG_DATAS, item, -1); gtk_tree_selection_select_iter (gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)), &iter); } } guint32 ui_asg_listview_get_selected_key(GtkTreeView *treeview) { GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; selection = gtk_tree_view_get_selection(treeview); if (gtk_tree_selection_get_selected(selection, &model, &iter)) { Assign *item; gtk_tree_model_get(model, &iter, LST_DEFASG_DATAS, &item, -1); if( item!= NULL ) return item->key; } return 0; } void ui_asg_listview_remove_selected(GtkTreeView *treeview) { GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; selection = gtk_tree_view_get_selection(treeview); if (gtk_tree_selection_get_selected(selection, &model, &iter)) { gtk_list_store_remove(GTK_LIST_STORE(model), &iter); } } /* static gint ui_asg_glist_compare_func(Assign *a, Assign *b) { return 0; //((gint)a->pos - b->pos); } */ void ui_asg_listview_populate(GtkWidget *view) { GtkTreeModel *model; GtkTreeIter iter; GList *lrul, *list; model = gtk_tree_view_get_model(GTK_TREE_VIEW(view)); gtk_list_store_clear (GTK_LIST_STORE(model)); g_object_ref(model); /* Make sure the model stays with us after the tree view unrefs it */ gtk_tree_view_set_model(GTK_TREE_VIEW(view), NULL); /* Detach model from view */ /* populate */ //g_hash_table_foreach(GLOBALS->h_rul, (GHFunc)ui_asg_listview_populate_ghfunc, model); //lrul = list = g_hash_table_get_values(GLOBALS->h_rul); lrul = list = assign_glist_sorted(HB_GLIST_SORT_POS); while (list != NULL) { Assign *item = list->data; DB( g_print(" populate: %d\n", item->key) ); gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, LST_DEFASG_TOGGLE , FALSE, LST_DEFASG_DATAS, item, -1); list = g_list_next(list); } g_list_free(lrul); gtk_tree_view_set_model(GTK_TREE_VIEW(view), model); /* Re-attach model to view */ g_object_unref(model); } GtkWidget * ui_asg_listview_new(gboolean withtoggle) { GtkListStore *store; GtkWidget *treeview; GtkCellRenderer *renderer; GtkTreeViewColumn *column; // create list store store = gtk_list_store_new(NUM_LST_DEFASG, G_TYPE_BOOLEAN, G_TYPE_POINTER ); // treeview treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); g_object_unref(store); gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (treeview), PREFS->grid_lines); // column 1: toggle if( withtoggle == TRUE ) { renderer = gtk_cell_renderer_toggle_new (); column = gtk_tree_view_column_new_with_attributes (_("Visible"), renderer, "active", LST_DEFASG_TOGGLE, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); g_signal_connect (renderer, "toggled", G_CALLBACK (ui_asg_listview_toggled_cb), store); } // column: position renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 0.5, NULL); column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, "#"); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_asg_listview_pos_cell_data_function, GINT_TO_POINTER(LST_DEFASG_DATAS), NULL); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // column : Search renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "ellipsize", PANGO_ELLIPSIZE_END, "ellipsize-set", TRUE, //taken from nemo, not exactly a resize to content, but good compromise "width-chars", 40, NULL); column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Search")); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_asg_listview_search_cell_data_function, GINT_TO_POINTER(LST_DEFASG_DATAS), NULL); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // column : name renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "ellipsize", PANGO_ELLIPSIZE_END, "ellipsize-set", TRUE, //taken from nemo, not exactly a resize to content, but good compromise "width-chars", 40, NULL); column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Notes")); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_asg_listview_notes_cell_data_function, GINT_TO_POINTER(LST_DEFASG_DATAS), NULL); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // treeviewattribute //gtk_tree_view_set_headers_visible (GTK_TREE_VIEW(treeview), FALSE); gtk_tree_view_set_reorderable (GTK_TREE_VIEW(treeview), TRUE); gtk_tree_sortable_set_default_sort_func(GTK_TREE_SORTABLE(store), ui_asg_listview_compare_func, NULL, NULL); //gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING); return treeview; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ //todo move this static gboolean assign_rename(Assign *item, gchar *newname) { Assign *existitem; existitem = da_asg_get_by_name(newname); if( existitem == NULL ) { g_free(item->search); item->search = g_strdup(newname); return TRUE; } return FALSE; } static void ui_asg_manage_getlast(struct ui_asg_manage_data *data) { Assign *item; gint active; DB( g_print("\n(ui_asg_manage_getlast)\n") ); DB( g_print(" -> for assign id=%d\n", data->lastkey) ); item = da_asg_get(data->lastkey); if(item != NULL) { data->change++; item->field = hbtk_radio_button_get_active(GTK_CONTAINER(data->CY_field)); /*txt = (gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_text)); if (txt && *txt) { bool = assign_rename(item, txt); if(bool) { gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_rul)); } else { hbtk_entry_set_text(GTK_ENTRY(data->ST_text), item->search); } }*/ item->flags = 0; active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_exact)); if(active == 1) item->flags |= ASGF_EXACT; active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_re)); if(active == 1) item->flags |= ASGF_REGEX; active = hbtk_radio_button_get_active (GTK_CONTAINER(data->RA_pay)); if(active == 1) item->flags |= ASGF_DOPAY; else if(active == 2) item->flags |= ASGF_OVWPAY; active = hbtk_radio_button_get_active (GTK_CONTAINER(data->RA_cat)); if(active == 1) item->flags |= ASGF_DOCAT; else if(active == 2) item->flags |= ASGF_OVWCAT; active = hbtk_radio_button_get_active (GTK_CONTAINER(data->RA_mod)); if(active == 1) item->flags |= ASGF_DOMOD; else if(active == 2) item->flags |= ASGF_OVWMOD; item->kcat = ui_cat_comboboxentry_get_key_add_new(GTK_COMBO_BOX(data->PO_cat)); item->kpay = ui_pay_comboboxentry_get_key_add_new(GTK_COMBO_BOX(data->PO_pay)); item->paymode = paymode_combo_box_get_active(GTK_COMBO_BOX(data->NU_mod)); hbtk_entry_replace_text(GTK_ENTRY(data->ST_notes), &item->notes); } } /* ** set widgets contents from the selected assign */ static void ui_asg_manage_set(GtkWidget *widget, gpointer user_data) { struct ui_asg_manage_data *data; GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; Assign *item; gint active; DB( g_print("\n(ui_asg_manage_set)\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_rul)); //if true there is a selected node if (gtk_tree_selection_get_selected(selection, &model, &iter)) { gtk_tree_model_get(model, &iter, LST_DEFASG_DATAS, &item, -1); DB( g_print(" -> set rul id=%d\n", item->key) ); hbtk_entry_set_text(GTK_ENTRY(data->ST_search), item->search); hbtk_radio_button_set_active(GTK_CONTAINER(data->CY_field), item->field); hbtk_entry_set_text(GTK_ENTRY(data->ST_notes), item->notes); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_exact), (item->flags & ASGF_EXACT) ? 1 : 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_re), (item->flags & ASGF_REGEX) ? 1 : 0); active = 0; if(item->flags & ASGF_DOPAY) active = 1; else if(item->flags & ASGF_OVWPAY) active = 2; hbtk_radio_button_set_active(GTK_CONTAINER(data->RA_pay), active); ui_pay_comboboxentry_set_active(GTK_COMBO_BOX(data->PO_pay), item->kpay); active = 0; if(item->flags & ASGF_DOCAT) active = 1; else if(item->flags & ASGF_OVWCAT) active = 2; hbtk_radio_button_set_active(GTK_CONTAINER(data->RA_cat), active); ui_cat_comboboxentry_set_active(GTK_COMBO_BOX(data->PO_cat), item->kcat); active = 0; if(item->flags & ASGF_DOMOD) active = 1; else if(item->flags & ASGF_OVWMOD) active = 2; hbtk_radio_button_set_active(GTK_CONTAINER(data->RA_mod), active); paymode_combo_box_set_active(GTK_COMBO_BOX(data->NU_mod), item->paymode); hbtk_entry_set_text(GTK_ENTRY(data->ST_notes), item->notes); } } /* static gboolean ui_asg_manage_focus_out(GtkWidget *widget, GdkEventFocus *event, gpointer user_data) { ui_asg_manage_get(widget, user_data); return FALSE; } */ static void ui_asg_manage_update_assignments(GtkWidget *widget, gpointer user_data) { struct ui_asg_manage_data *data; gboolean sensitive; DB( g_print("\n(ui_asg_manage_update_assignments)\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); sensitive = (hbtk_radio_button_get_active (GTK_CONTAINER(data->RA_pay)) > 0) ? TRUE : FALSE; gtk_widget_set_sensitive(data->LB_pay, sensitive); gtk_widget_set_sensitive(data->PO_pay, sensitive); sensitive = (hbtk_radio_button_get_active (GTK_CONTAINER(data->RA_cat)) > 0) ? TRUE : FALSE; gtk_widget_set_sensitive(data->LB_cat, sensitive); gtk_widget_set_sensitive(data->PO_cat, sensitive); sensitive = (hbtk_radio_button_get_active (GTK_CONTAINER(data->RA_mod)) > 0) ? TRUE : FALSE; gtk_widget_set_sensitive(data->LB_mod, sensitive); gtk_widget_set_sensitive(data->NU_mod, sensitive); } /* ** update the widgets status and contents from action/selection value */ static void ui_asg_manage_update(GtkWidget *widget, gpointer user_data) { struct ui_asg_manage_data *data; GtkTreeModel *model; GtkTreeIter iter; gboolean selected, sensitive; guint32 key; //gboolean is_new; DB( g_print("\n(ui_asg_manage_update)\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); //window = gtk_widget_get_ancestor(GTK_WIDGET(treeview), GTK_TYPE_WINDOW); //DB( g_print("(defpayee) widget=%08lx, window=%08lx, inst_data=%08lx\n", treeview, window, data) ); //if true there is a selected node selected = gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_rul)), &model, &iter); key = ui_asg_listview_get_selected_key(GTK_TREE_VIEW(data->LV_rul)); DB( g_print(" -> selected = %d action = %d key = %d\n", selected, data->action, key) ); sensitive = (selected == TRUE) ? TRUE : FALSE; gtk_widget_set_sensitive(data->GR_condition, sensitive); gtk_widget_set_sensitive(data->GR_assignment, sensitive); gtk_widget_set_sensitive(data->GR_misc, sensitive); //sensitive = (data->action == 0) ? TRUE : FALSE; //gtk_widget_set_sensitive(data->LV_rul, sensitive); //gtk_widget_set_sensitive(data->BT_add, sensitive); sensitive = (selected == TRUE && data->action == 0) ? TRUE : FALSE; //gtk_widget_set_sensitive(data->BT_mod, sensitive); gtk_widget_set_sensitive(data->BT_rem, sensitive); if(selected) { if(key != data->lastkey) { DB( g_print(" -> should first do a get for assign %d\n", data->lastkey) ); ui_asg_manage_getlast(data); } ui_asg_manage_set(widget, NULL); ui_asg_manage_update_assignments(widget, NULL); } data->lastkey = key; } /* ** add an empty new assign to our temp GList and treeview */ static void ui_asg_manage_add(GtkWidget *widget, gpointer user_data) { struct ui_asg_manage_data *data; Assign *item; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n(ui_asg_manage_add) (data=%x)\n", (guint)data) ); item = da_asg_malloc(); item->search = g_strdup_printf( _("(rule %d)"), da_asg_length()+1); da_asg_append(item); ui_asg_listview_add(GTK_TREE_VIEW(data->LV_rul), item); data->change++; } /* ** delete the selected assign to our treeview and temp GList */ static void ui_asg_manage_delete(GtkWidget *widget, gpointer user_data) { struct ui_asg_manage_data *data; guint32 key; gint result; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n(ui_asg_manage_delete) (data=%x)\n", (guint)data) ); key = ui_asg_listview_get_selected_key(GTK_TREE_VIEW(data->LV_rul)); if( key > 0 ) { Assign *item = da_asg_get(key); gchar *title = NULL; gchar *secondtext; title = g_strdup_printf ( _("Are you sure you want to permanently delete '%s'?"), item->search); secondtext = _("If you delete an assignment, it will be permanently lost."); result = ui_dialog_msg_confirm_alert( GTK_WINDOW(data->dialog), title, secondtext, _("_Delete") ); g_free(title); if( result == GTK_RESPONSE_OK ) { da_asg_remove(key); ui_asg_listview_remove_selected(GTK_TREE_VIEW(data->LV_rul)); data->change++; } } } /* ** rename the selected assign to our treeview and temp GList */ static void ui_asg_manage_rename(GtkWidget *widget, gpointer user_data) { struct ui_asg_manage_data *data; guint32 key; gboolean error; gchar *txt; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n(ui_asg_manage_rename) (data=%x)\n", (guint)data) ); error = FALSE; key = ui_asg_listview_get_selected_key(GTK_TREE_VIEW(data->LV_rul)); if( key > 0 ) { Assign *item = da_asg_get(key); txt = (gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_search)); if( txt == NULL || *txt == '\0' ) { error = TRUE; goto end; } if( strcmp(txt, item->search) ) { if( assign_rename(item, txt) == TRUE ) { //todo: review this count data->change++; gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_rul)); } else error = TRUE; } //#1842897 tail/trail visible if detected if( txt != NULL && hb_string_has_leading_trailing(txt) == TRUE ) { gchar *wrntxt; gchar **split; split = g_strsplit(txt, " ", -1); wrntxt = g_strjoinv("\xE2\x90\xA3", split); gtk_label_set_text(GTK_LABEL(data->LB_wrntxt), wrntxt); gtk_widget_show(data->GR_wrntxt); g_free(wrntxt); g_strfreev(split); } else { gtk_label_set_text(GTK_LABEL(data->LB_wrntxt), ""); gtk_widget_hide(data->GR_wrntxt); } } end: gtk_style_context_remove_class (gtk_widget_get_style_context (GTK_WIDGET(data->ST_search)), GTK_STYLE_CLASS_ERROR); gtk_widget_set_tooltip_text(data->ST_search, ""); if( error == TRUE ) { gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET(data->ST_search)), GTK_STYLE_CLASS_ERROR); gtk_widget_set_tooltip_text(data->ST_search, _("This search text already exists")); } } static gint ui_asg_manage_persist_position(GtkTreeModel *tree_model) { GtkTreeIter iter; gboolean valid; guint32 i; gint count = 0; // test for change & store new position i=1; valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(tree_model), &iter); while (valid) { Assign *item; gtk_tree_model_get(GTK_TREE_MODEL(tree_model), &iter, LST_DEFASG_DATAS, &item, -1); DB( g_print(" -> check rul %d, pos is %d, %s\n", i, item->pos, item->search) ); if(item->pos != i) count++; item->pos = i; // Make iter point to the next row in the list store i++; valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(tree_model), &iter); } return count; } static void ui_asg_manage_row_deleted (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter, gpointer user_data) { DB( g_print("\n(ui_asg_manage_row_deleted)\n") ); ui_asg_manage_persist_position(tree_model); } static void ui_asg_manage_selection(GtkTreeSelection *treeselection, gpointer user_data) { ui_asg_manage_update(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), NULL); } static gboolean ui_asg_manage_cleanup(struct ui_asg_manage_data *data, gint result) { GtkTreeModel *tree_model; guint32 key; gboolean doupdate = FALSE; DB( g_print("\n(ui_asg_manage_cleanup) %x\n", (guint)data) ); key = ui_asg_listview_get_selected_key(GTK_TREE_VIEW(data->LV_rul)); if(key > 0) { data->lastkey = key; DB( g_print(" -> should first do a get for assign %d\n", data->lastkey) ); ui_asg_manage_getlast(data); } tree_model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_rul)); data->change += ui_asg_manage_persist_position(tree_model); GLOBALS->changes_count += data->change; return doupdate; } /* ** */ static void ui_asg_manage_setup(struct ui_asg_manage_data *data) { DB( g_print("\n(ui_asg_manage_setup)\n") ); //init GList data->tmp_list = NULL; //hb-glist_clone_list(GLOBALS->rul_list, sizeof(struct _Assign)); data->action = 0; data->change = 0; data->lastkey = 0; ui_asg_listview_populate(data->LV_rul); ui_pay_comboboxentry_populate(GTK_COMBO_BOX(data->PO_pay), GLOBALS->h_pay); ui_cat_comboboxentry_populate(GTK_COMBO_BOX(data->PO_cat), GLOBALS->h_cat); } static gchar *CYA_ASG_ACTION[] = { N_("Disabled"), N_("If empty"), N_("Overwrite"), NULL }; /* ** */ GtkWidget *ui_asg_manage_dialog (void) { struct ui_asg_manage_data *data; GtkWidget *dialog, *content, *mainbox; GtkWidget *content_grid, *group_grid; GtkWidget *table, *label, *entry1; GtkWidget *scrollwin, *vbox, *bbox, *tbar; GtkWidget *widget, *hpaned; GtkToolItem *toolitem; gint w, h, crow, row; data = g_malloc0(sizeof(struct ui_asg_manage_data)); if(!data) return NULL; dialog = gtk_dialog_new_with_buttons (_("Manage Assignments"), GTK_WINDOW(GLOBALS->mainwindow), 0, _("_Close"), GTK_RESPONSE_ACCEPT, NULL); data->dialog = dialog; //set the window icon gtk_window_set_icon_name(GTK_WINDOW (dialog), ICONNAME_HB_ASSIGN); //set a nice dialog size gtk_window_get_size(GTK_WINDOW(GLOBALS->mainwindow), &w, &h); gtk_window_set_default_size (GTK_WINDOW(dialog), -1, h/PHI); //store our window private data g_object_set_data(G_OBJECT(dialog), "inst_data", (gpointer)data); DB( g_print("(ui_asg_manage_) window=%x, inst_data=%x\n", (guint)dialog, (guint)data) ); //window contents content = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); // return a vbox mainbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); gtk_box_pack_start (GTK_BOX (content), mainbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER(mainbox), SPACING_MEDIUM); hpaned = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (mainbox), hpaned, TRUE, TRUE, 0); /* left area */ table = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_SMALL); //gtk_box_pack_start (GTK_BOX (mainbox), table, FALSE, FALSE, 0); gtk_widget_set_margin_end(table, SPACING_SMALL); gtk_paned_pack1 (GTK_PANED(hpaned), table, FALSE, FALSE); // list row = 0; vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_grid_attach (GTK_GRID (table), vbox, 0, row, 2, 1); scrollwin = gtk_scrolled_window_new(NULL,NULL); gtk_container_add(GTK_CONTAINER(vbox), scrollwin); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN); data->LV_rul = ui_asg_listview_new(FALSE); gtk_widget_set_size_request(data->LV_rul, HB_MINWIDTH_LIST, -1); gtk_container_add(GTK_CONTAINER(scrollwin), data->LV_rul); gtk_widget_set_vexpand (scrollwin, TRUE); gtk_widget_set_hexpand (scrollwin, TRUE); tbar = gtk_toolbar_new(); gtk_toolbar_set_icon_size (GTK_TOOLBAR(tbar), GTK_ICON_SIZE_MENU); gtk_toolbar_set_style(GTK_TOOLBAR(tbar), GTK_TOOLBAR_ICONS); gtk_style_context_add_class (gtk_widget_get_style_context (tbar), GTK_STYLE_CLASS_INLINE_TOOLBAR); gtk_box_pack_start (GTK_BOX (vbox), tbar, FALSE, FALSE, 0); bbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); toolitem = gtk_tool_item_new(); gtk_container_add (GTK_CONTAINER(toolitem), bbox); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); row++; widget = make_image_button(ICONNAME_LIST_ADD, _("Add")); data->BT_add = widget; gtk_container_add (GTK_CONTAINER (bbox), widget); widget = make_image_button(ICONNAME_LIST_DELETE, _("Delete")); data->BT_rem = widget; gtk_container_add (GTK_CONTAINER (bbox), widget); toolitem = gtk_separator_tool_item_new (); gtk_tool_item_set_expand (toolitem, TRUE); gtk_separator_tool_item_set_draw(GTK_SEPARATOR_TOOL_ITEM(toolitem), FALSE); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); toolitem = gtk_tool_item_new (); widget = gtk_image_new_from_icon_name (ICONNAME_INFO, GTK_ICON_SIZE_BUTTON); gtk_widget_set_tooltip_text(widget, _("Drag & drop to change the order")); gtk_container_add (GTK_CONTAINER(toolitem), widget); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); /* right area */ content_grid = gtk_grid_new(); gtk_grid_set_row_spacing (GTK_GRID (content_grid), SPACING_LARGE); gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL); //gtk_container_set_border_width (GTK_CONTAINER(content_grid), SPACING_MEDIUM); gtk_widget_set_margin_start(content_grid, SPACING_SMALL); gtk_paned_pack2 (GTK_PANED(hpaned), content_grid, FALSE, FALSE); // group :: Rule crow = 0; group_grid = gtk_grid_new (); data->GR_condition = group_grid; gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow, 1, 1); row = 0; label = make_label_group(_("Condition")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 3, 1); row++; //label = make_label_widget(_("Con_tains:")); label = make_label_widget(_("_Search:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); bbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET(bbox)), GTK_STYLE_CLASS_LINKED); gtk_grid_attach (GTK_GRID (group_grid), bbox, 2, row, 2, 1); entry1 = make_string(label); data->ST_search = entry1; gtk_widget_set_hexpand(entry1, TRUE); gtk_box_pack_start(GTK_BOX(bbox), entry1, TRUE, TRUE, 0); widget = make_image_toggle_button(ICONNAME_HB_TEXT_CASE, _("Case sensitive")); //widget = gtk_toggle_button_new_with_label("Aa"); //gtk_widget_set_tooltip_text(widget, _("Case sensitive")); data->CM_exact = widget; gtk_box_pack_start(GTK_BOX(bbox), widget, FALSE, FALSE, 0); widget = make_image_toggle_button(ICONNAME_HB_TEXT_REGEX, _("Regular expression")); //widget = gtk_toggle_button_new_with_label(".*"); //gtk_widget_set_tooltip_text(widget, _("Regular expression")); data->CM_re = widget; gtk_box_pack_start(GTK_BOX(bbox), widget, FALSE, FALSE, 0); row++; bbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); data->GR_wrntxt = bbox; gtk_grid_attach (GTK_GRID (group_grid), bbox, 2, row, 2, 1); widget = gtk_image_new_from_icon_name (ICONNAME_WARNING, GTK_ICON_SIZE_BUTTON); gtk_box_pack_start(GTK_BOX(bbox), widget, FALSE, FALSE, 0); widget = make_label(NULL, 0.0, 0.5); data->LB_wrntxt = widget; gtk_box_pack_start(GTK_BOX(bbox), widget, TRUE, TRUE, 0); row++; label = make_label_widget(_("_In:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = hbtk_radio_button_new(CYA_ASG_FIELD, FALSE); data->CY_field = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 2, 1); /*row++; widget = gtk_check_button_new_with_mnemonic (_("Match _case")); data->CM_exact = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 2, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Use _regular expressions")); data->CM_re = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 2, 1); */ // group :: Assignments crow++; group_grid = gtk_grid_new (); data->GR_assignment = group_grid; gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow, 1, 1); row = 0; //label = make_label_group(_("Assign payee")); label = make_label_group(_("Assignments")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 3, 1); //payee row++; widget = hbtk_radio_button_new(CYA_ASG_ACTION, FALSE); data->RA_pay = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; label = make_label_widget (_("_Payee:")); data->LB_pay = label; gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = ui_pay_comboboxentry_new(label); data->PO_pay = widget; gtk_widget_set_hexpand(widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); //category row++; widget = hbtk_radio_button_new(CYA_ASG_ACTION, FALSE); data->RA_cat = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); gtk_widget_set_margin_top(widget, SPACING_MEDIUM); row++; label = make_label_widget (_("_Category:")); data->LB_cat = label; gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = ui_cat_comboboxentry_new(label); data->PO_cat = widget; gtk_widget_set_hexpand(widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); //payment row++; widget = hbtk_radio_button_new (CYA_ASG_ACTION, FALSE); data->RA_mod = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); gtk_widget_set_margin_top(widget, SPACING_MEDIUM); row++; label = make_label_widget (_("Pay_ment:")); data->LB_mod = label; gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_paymode_nointxfer (label); data->NU_mod = widget; gtk_widget_set_hexpand(widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); crow++; group_grid = gtk_grid_new (); data->GR_misc = group_grid; gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow, 1, 1); gtk_widget_set_margin_top(group_grid, SPACING_MEDIUM); row = 0; label = make_label_widget(_("Notes:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); entry1 = make_string(label); data->ST_notes = entry1; gtk_widget_set_hexpand(entry1, TRUE); gtk_grid_attach (GTK_GRID (group_grid), entry1, 2, row, 2, 1); //connect all our signals g_signal_connect (dialog, "destroy", G_CALLBACK (gtk_widget_destroyed), &dialog); g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_rul)), "changed", G_CALLBACK (ui_asg_manage_selection), NULL); g_signal_connect (gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_rul)), "row-deleted", G_CALLBACK (ui_asg_manage_row_deleted), NULL); g_signal_connect (G_OBJECT (data->ST_search), "changed", G_CALLBACK (ui_asg_manage_rename), NULL); hbtk_radio_button_connect (GTK_CONTAINER(data->RA_pay), "toggled", G_CALLBACK (ui_asg_manage_update_assignments), NULL); hbtk_radio_button_connect (GTK_CONTAINER(data->RA_cat), "toggled", G_CALLBACK (ui_asg_manage_update_assignments), NULL); hbtk_radio_button_connect (GTK_CONTAINER(data->RA_mod), "toggled", G_CALLBACK (ui_asg_manage_update_assignments), NULL); g_signal_connect (G_OBJECT (data->BT_add), "clicked", G_CALLBACK (ui_asg_manage_add), NULL); g_signal_connect (G_OBJECT (data->BT_rem), "clicked", G_CALLBACK (ui_asg_manage_delete), NULL); //setup, init and show window ui_asg_manage_setup(data); ui_asg_manage_update(data->LV_rul, NULL); // gtk_window_set_default_size (GTK_WINDOW (window), 640, 480); gtk_widget_show_all (dialog); gtk_widget_hide(data->GR_wrntxt); //wait for the user gint result = gtk_dialog_run (GTK_DIALOG (dialog)); // cleanup and destroy ui_asg_manage_cleanup(data, result); gtk_widget_destroy (dialog); g_free(data); return NULL; } homebank-5.3.2/src/hb-preferences.c0000644000175000017500000011572113604720365014066 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hb-preferences.h" #include "hb-filter.h" #include "gtk-chart-colors.h" #ifdef G_OS_WIN32 #include #endif /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void homebank_pref_init_monetary(void) { DB( g_print("\n[system] get currency code\n") ); #ifdef G_OS_UNIX struct lconv *lc = localeconv(); g_stpcpy (PREFS->IntCurrSymbol, lc->int_curr_symbol); g_strstrip(PREFS->IntCurrSymbol); DB( g_print("- stored '%s' from linux system\n", PREFS->IntCurrSymbol) ); #else #ifdef G_OS_WIN32 #define BUFFER_SIZE 512 char buffer[BUFFER_SIZE]; //LPWSTR wcBuffer = buffer; LPSTR wcBuffer = buffer; int iResult; //https://msdn.microsoft.com/en-us/library/windows/desktop/dd464799%28v=vs.85%29.aspx //LOCALE_SINTLSYMBOL iResult = GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SINTLSYMBOL, wcBuffer, BUFFER_SIZE); if(iResult > 0) { DB( g_print("LOCALE_SINTLSYMBOL='%s'\n", buffer) ); g_stpcpy (PREFS->IntCurrSymbol, buffer); g_strstrip(PREFS->IntCurrSymbol); DB( g_print("- stored '%s' from windows system\n", PREFS->IntCurrSymbol) ); } #else g_stpcpy (PREFS->IntCurrSymbol, "USD"); DB( g_print("- stored '%s' as default\n", PREFS->IntCurrSymbol) ); #endif #endif } /* static void homebank_pref_init_monetary(void) { DB( g_print("\n[preferences] monetary\n") ); #ifdef G_OS_UNIX struct lconv *lc = localeconv(); DB( g_print("\n[preferences] monetary unix\n") ); DB( g_print("int_curr_symbol '%s'\n", lc->int_curr_symbol) ); DB( g_print("mon_decimal_point is utf8: %d\n", g_utf8_validate(lc->mon_decimal_point, -1, NULL)) ); DB( g_print("mon_decimal_point '%s'\n", lc->mon_decimal_point) ); DB( g_print("mon_decimal_point %x %x %x %x\n", lc->mon_decimal_point[0], lc->mon_decimal_point[1], lc->mon_decimal_point[2], lc->mon_decimal_point[3]) ); DB( g_print("mon_thousands_sep is utf8: %d\n", g_utf8_validate(lc->mon_thousands_sep, -1, NULL)) ); DB( g_print("mon_thousands_sep '%s'\n", lc->mon_thousands_sep) ); DB( g_print("mon_thousands_sep %x %x %x %x\n", lc->mon_thousands_sep[0], lc->mon_thousands_sep[1], lc->mon_thousands_sep[2], lc->mon_thousands_sep[3]) ); DB( g_print("frac_digits '%d'\n", (gint)lc->frac_digits) ); DB( g_print("currency_symbol '%s'\n", lc->currency_symbol) ); DB( g_print("p_cs_precedes '%d'\n", lc->p_cs_precedes) ); DB( g_print("n_cs_precedes '%d'\n", lc->n_cs_precedes) ); //PREFS->base_cur.iso_code = g_strdup(g_strstrip(lc->int_curr_symbol)); if( lc->p_cs_precedes || lc->n_cs_precedes ) { PREFS->base_cur.symbol = g_strdup(lc->currency_symbol); PREFS->base_cur.sym_prefix = TRUE; DB( g_print("locale mon cs is a prefix\n") ); } else { PREFS->base_cur.symbol = g_strdup(lc->currency_symbol); PREFS->base_cur.sym_prefix = FALSE; } PREFS->base_cur.decimal_char = g_strdup(lc->mon_decimal_point); PREFS->base_cur.grouping_char = g_strdup(lc->mon_thousands_sep); //todo:fix //PREFS->base_cur.grouping_char = g_locale_to_utf8(lc->mon_thousands_sep, -1, NULL, NULL, NULL); //PREFS->base_cur.grouping_char = g_convert (lc->mon_thousands_sep, -1, "UTF-8", "ISO-8859-1", NULL, NULL, NULL); DB( g_print(" -> grouping_char: '%s'\n", PREFS->base_cur.grouping_char) ); PREFS->base_cur.frac_digits = lc->frac_digits; //fix 378992/421228 if( PREFS->base_cur.frac_digits > MAX_FRAC_DIGIT ) { PREFS->base_cur.frac_digits = 2; g_free(PREFS->base_cur.decimal_char); PREFS->base_cur.decimal_char = g_strdup("."); } #else #ifdef G_OS_WIN32 #define BUFFER_SIZE 512 char buffer[BUFFER_SIZE]; //LPWSTR wcBuffer = buffer; LPSTR wcBuffer = buffer; int iResult; gsize toto; //https://msdn.microsoft.com/en-us/library/windows/desktop/dd464799%28v=vs.85%29.aspx //LOCALE_SINTLSYMBOL //see g_locale_to_utf8 here iResult = GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SCURRENCY, wcBuffer, BUFFER_SIZE); if(iResult > 0) { DB( g_print("LOCALE_SCURRENCY='%s'\n", buffer) ); PREFS->base_cur.symbol = g_locale_to_utf8(buffer, -1, NULL, &toto, NULL); } // LOCALE_ICURRENCY //PREFS->base_cur.sym_prefix = iResult = GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, wcBuffer, BUFFER_SIZE); if(iResult > 0) { DB( g_print("LOCALE_SDECIMAL='%s'\n", buffer) ); PREFS->base_cur.decimal_char = g_locale_to_utf8(buffer, -1, NULL, &toto, NULL); } iResult = GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_STHOUSAND, wcBuffer, BUFFER_SIZE); if(iResult > 0) { DB( g_print("LOCALE_STHOUSAND='%s'\n", buffer) ); PREFS->base_cur.grouping_char = g_locale_to_utf8(buffer, -1, NULL, &toto, NULL); } // LOCALE_ICURRDIGITS PREFS->base_cur.frac_digits = 2; #else PREFS->base_cur.iso_code = g_strdup("USD"); PREFS->base_cur.symbol = NULL; //g_strdup(""); PREFS->base_cur.sym_prefix = FALSE; PREFS->base_cur.decimal_char = g_strdup("."); PREFS->base_cur.grouping_char = NULL; //g_strdup(""); PREFS->base_cur.frac_digits = 2; #endif #endif } */ static void homebank_pref_init_wingeometry(struct WinGeometry *wg, gint l, gint t, gint w, gint h) { wg->l = l; wg->t = t; wg->w = w; wg->h = h; wg->s = 0; } //vehicle_unit_100 //vehicle_unit_distbyvol //=> used for column title static void _homebank_pref_init_measurement_units(void) { // unit is kilometer if(!PREFS->vehicle_unit_ismile) { PREFS->vehicle_unit_dist = "%d km"; PREFS->vehicle_unit_100 = "100 km"; } // unit is miles else { PREFS->vehicle_unit_dist = "%d mi."; PREFS->vehicle_unit_100 = "100 mi."; } // unit is Liters if(!PREFS->vehicle_unit_isgal) { //TRANSLATORS: format a liter number with l/L as abbreviation PREFS->vehicle_unit_vol = _("%.2f l"); if(!PREFS->vehicle_unit_ismile) //TRANSLATORS: kilometer per liter PREFS->vehicle_unit_distbyvol = _("km/l"); else //TRANSLATORS: miles per liter PREFS->vehicle_unit_distbyvol = _("mi./l"); } // unit is gallon else { PREFS->vehicle_unit_vol = "%.2f gal."; if(!PREFS->vehicle_unit_ismile) PREFS->vehicle_unit_distbyvol = "km/gal."; else PREFS->vehicle_unit_distbyvol = "mi./gal."; } } void homebank_pref_free(void) { DB( g_print("\n[preferences] free\n") ); g_free(PREFS->date_format); g_free(PREFS->color_exp); g_free(PREFS->color_inc); g_free(PREFS->color_warn); g_free(PREFS->path_hbfile); g_free(PREFS->path_import); g_free(PREFS->path_export); //g_free(PREFS->path_navigator); g_free(PREFS->language); g_free(PREFS->pnl_list_tab); g_free(PREFS->minor_cur.symbol); g_free(PREFS->minor_cur.decimal_char); g_free(PREFS->minor_cur.grouping_char); memset(PREFS, 0, sizeof(struct Preferences)); } void homebank_pref_setdefault(void) { gint i; DB( g_print("\n[preferences] pref init\n") ); homebank_pref_free(); PREFS->language = NULL; PREFS->date_format = g_strdup(DEFAULT_FORMAT_DATE); PREFS->path_hbfile = g_strdup_printf("%s", g_get_home_dir ()); PREFS->path_hbbak = g_strdup_printf("%s", g_get_home_dir ()); PREFS->path_import = g_strdup_printf("%s", g_get_home_dir ()); PREFS->path_export = g_strdup_printf("%s", g_get_home_dir ()); //PREFS->path_navigator = g_strdup(DEFAULT_PATH_NAVIGATOR); PREFS->showsplash = TRUE; PREFS->loadlast = TRUE; PREFS->appendscheduled = FALSE; PREFS->do_update_currency = FALSE; PREFS->bak_is_automatic = TRUE; PREFS->bak_max_num_copies = 5; PREFS->heritdate = FALSE; PREFS->txn_showconfirm = FALSE; PREFS->hidereconciled = FALSE; PREFS->showremind = TRUE; PREFS->showvoid = TRUE; PREFS->includeremind = FALSE; //#1673048 PREFS->txn_memoacp = TRUE; PREFS->txn_memoacp_days = 365; PREFS->toolbar_style = 4; //text beside icons PREFS->custom_colors = TRUE; PREFS->color_exp = g_strdup(DEFAULT_EXP_COLOR); PREFS->color_inc = g_strdup(DEFAULT_INC_COLOR); PREFS->color_warn = g_strdup(DEFAULT_WARN_COLOR); PREFS->grid_lines = GTK_TREE_VIEW_GRID_LINES_NONE; /* fiscal year */ PREFS->fisc_year_day = 1; PREFS->fisc_year_month = 1; /* windows position/size */ homebank_pref_init_wingeometry(&PREFS->wal_wg, 0, 0, 1024, 600); homebank_pref_init_wingeometry(&PREFS->acc_wg, 0, 0, 1024, 600); homebank_pref_init_wingeometry(&PREFS->sta_wg, 0, 0, 800, 494); homebank_pref_init_wingeometry(&PREFS->tme_wg, 0, 0, 800, 494); homebank_pref_init_wingeometry(&PREFS->ove_wg, 0, 0, 800, 494); homebank_pref_init_wingeometry(&PREFS->bud_wg, 0, 0, 800, 494); homebank_pref_init_wingeometry(&PREFS->cst_wg, 0, 0, 800, 494); homebank_pref_init_wingeometry(&PREFS->txn_wg, 0, 0, -1, -1); homebank_pref_init_monetary(); PREFS->wal_toolbar = TRUE; PREFS->wal_spending = TRUE; PREFS->wal_upcoming = TRUE; PREFS->wal_vpaned = 600/2; PREFS->wal_hpaned = 1024/2; PREFS->pnl_acc_col_acc_width = -1; PREFS->pnl_acc_show_by = 0; PREFS->pnl_upc_col_pay_width = -1; PREFS->pnl_upc_col_mem_width = -1; i = 0; PREFS->lst_impope_columns[i++] = LST_DSPOPE_DATE; //always displayed PREFS->lst_impope_columns[i++] = LST_DSPOPE_MEMO; PREFS->lst_impope_columns[i++] = LST_DSPOPE_AMOUNT; PREFS->lst_impope_columns[i++] = LST_DSPOPE_INFO; PREFS->lst_impope_columns[i++] = LST_DSPOPE_PAYEE; PREFS->lst_impope_columns[i++] = LST_DSPOPE_CATEGORY; PREFS->lst_impope_columns[i++] = -LST_DSPOPE_TAGS; PREFS->lst_impope_columns[i++] = -LST_DSPOPE_CLR; PREFS->lst_impope_columns[i++] = -LST_DSPOPE_STATUS; //always displayed PREFS->lst_impope_columns[i++] = -LST_DSPOPE_EXPENSE; PREFS->lst_impope_columns[i++] = -LST_DSPOPE_INCOME; PREFS->lst_impope_columns[i++] = -LST_DSPOPE_BALANCE; PREFS->lst_impope_columns[i++] = -LST_DSPOPE_ACCOUNT; i = 0; PREFS->lst_ope_columns[i++] = LST_DSPOPE_STATUS; //always displayed PREFS->lst_ope_columns[i++] = LST_DSPOPE_DATE; //always displayed PREFS->lst_ope_columns[i++] = LST_DSPOPE_INFO; PREFS->lst_ope_columns[i++] = LST_DSPOPE_PAYEE; PREFS->lst_ope_columns[i++] = LST_DSPOPE_CATEGORY; PREFS->lst_ope_columns[i++] = LST_DSPOPE_TAGS; PREFS->lst_ope_columns[i++] = LST_DSPOPE_CLR; PREFS->lst_ope_columns[i++] = -LST_DSPOPE_AMOUNT; PREFS->lst_ope_columns[i++] = LST_DSPOPE_EXPENSE; PREFS->lst_ope_columns[i++] = LST_DSPOPE_INCOME; PREFS->lst_ope_columns[i++] = LST_DSPOPE_BALANCE; PREFS->lst_ope_columns[i++] = LST_DSPOPE_MEMO; PREFS->lst_ope_columns[i++] = -LST_DSPOPE_ACCOUNT; PREFS->lst_ope_sort_id = LST_DSPOPE_DATE; PREFS->lst_ope_sort_order = GTK_SORT_ASCENDING; for( i=0;ilst_ope_col_width[i] = -1; //PREFS->base_cur.nbdecimal = 2; //PREFS->base_cur.separator = TRUE; //PREFS->date_range_wal = FLT_RANGE_LASTMONTH; //PREFS->date_range_txn = FLT_RANGE_LAST12MONTHS; //PREFS->date_range_rep = FLT_RANGE_THISYEAR; //v5.2 change to let the example file show things PREFS->date_range_wal = FLT_RANGE_ALLDATE; PREFS->date_range_txn = FLT_RANGE_ALLDATE; PREFS->date_range_rep = FLT_RANGE_ALLDATE; PREFS->date_future_nbdays = 0; //import/export PREFS->dtex_nointro = TRUE; PREFS->dtex_dodefpayee = FALSE; PREFS->dtex_doautoassign = FALSE; PREFS->dtex_ucfirst = FALSE; //PREFS->dtex_datefmt PREFS->dtex_ofxname = 1; PREFS->dtex_ofxmemo = 2; PREFS->dtex_qifmemo = TRUE; PREFS->dtex_qifswap = FALSE; PREFS->dtex_csvsep = PRF_DTEX_CSVSEP_SEMICOLON; //todo: add intelligence here PREFS->euro_active = FALSE; PREFS->euro_country = 0; PREFS->euro_value = 1.0; da_cur_initformat(&PREFS->minor_cur); //PREFS->euro_nbdec = 2; //PREFS->euro_thsep = TRUE; //PREFS->euro_symbol = g_strdup("??"); PREFS->stat_byamount = FALSE; PREFS->stat_showdetail = FALSE; PREFS->stat_showrate = FALSE; PREFS->budg_showdetail = FALSE; PREFS->report_color_scheme = CHART_COLMAP_HOMEBANK; //PREFS->chart_legend = FALSE; PREFS->vehicle_unit_ismile = FALSE; PREFS->vehicle_unit_isgal = FALSE; _homebank_pref_init_measurement_units(); } /* ** load preference from homedir/.homebank (HB_DATA_PATH) */ static void homebank_pref_get_wingeometry( GKeyFile *key_file, const gchar *group_name, const gchar *key, struct WinGeometry *storage) { if( g_key_file_has_key(key_file, group_name, key, NULL) ) { gint *wg; gsize length; wg = g_key_file_get_integer_list(key_file, group_name, key, &length, NULL); memcpy(storage, wg, 5*sizeof(gint)); g_free(wg); // #606613 ensure left/top to be > 0 if(storage->l < 0) storage->l = 0; if(storage->t < 0) storage->t = 0; } } static void homebank_pref_get_boolean( GKeyFile *key_file, const gchar *group_name, const gchar *key, gboolean *storage) { DB( g_print(" search %s in %s\n", key, group_name) ); if( g_key_file_has_key(key_file, group_name, key, NULL) ) { *storage = g_key_file_get_boolean(key_file, group_name, key, NULL); DB( g_print(" stored boolean %d for %s at %x\n", *storage, key, *storage) ); } } static void homebank_pref_get_integer( GKeyFile *key_file, const gchar *group_name, const gchar *key, gint *storage) { DB( g_print(" search %s in %s\n", key, group_name) ); if( g_key_file_has_key(key_file, group_name, key, NULL) ) { *storage = g_key_file_get_integer(key_file, group_name, key, NULL); DB( g_print(" stored integer %d for %s at %x\n", *storage, key, *storage) ); } } static void homebank_pref_get_guint32( GKeyFile *key_file, const gchar *group_name, const gchar *key, guint32 *storage) { DB( g_print(" search %s in %s\n", key, group_name) ); if( g_key_file_has_key(key_file, group_name, key, NULL) ) { *storage = g_key_file_get_integer(key_file, group_name, key, NULL); DB( g_print(" stored guint32 %d for %s at %x\n", *storage, key, *storage) ); } } static void homebank_pref_get_short( GKeyFile *key_file, const gchar *group_name, const gchar *key, gshort *storage) { DB( g_print(" search %s in %s\n", key, group_name) ); if( g_key_file_has_key(key_file, group_name, key, NULL) ) { *storage = (gshort)g_key_file_get_integer(key_file, group_name, key, NULL); DB( g_print(" stored short %d for %s at %x\n", *storage, key, *storage) ); } } static void homebank_pref_get_string( GKeyFile *key_file, const gchar *group_name, const gchar *key, gchar **storage) { gchar *string; if( g_key_file_has_key(key_file, group_name, key, NULL) ) { /* free any previous string */ if( *storage != NULL ) { //DB( g_print(" storage was not null, freeing\n") ); g_free(*storage); } *storage = NULL; string = g_key_file_get_string(key_file, group_name, key, NULL); if( string != NULL ) { //*storage = g_strdup(string); //leak *storage = string; //already a new allocated string //DB( g_print(" store '%s' for %s at %x\n", string, key, *storage) ); } } /* if (error) { g_warning ("error: %s\n", error->message); g_error_free(error); error = NULL; } */ } static void homebank_pref_currfmt_convert(Currency *cur, gchar *prefix, gchar *suffix) { if( (prefix != NULL) && (strlen(prefix) > 0) ) { cur->symbol = g_strdup(prefix); cur->sym_prefix = TRUE; } else if( (suffix != NULL) ) { cur->symbol = g_strdup(suffix); cur->sym_prefix = FALSE; } } gboolean homebank_pref_load(void) { GKeyFile *keyfile; gboolean retval = FALSE; gchar *group, *filename; guint32 version; gboolean loaded; GError *error = NULL; DB( g_print("\n[preferences] pref load\n") ); keyfile = g_key_file_new(); if(keyfile) { filename = g_build_filename(homebank_app_get_config_dir(), "preferences", NULL ); DB( g_print(" - filename: %s\n", filename) ); error = NULL; loaded = g_key_file_load_from_file (keyfile, filename, G_KEY_FILE_NONE, &error); if( error ) { g_warning("unable to load file %s: %s", filename, error->message); g_error_free (error); } if( loaded == TRUE ) { group = "General"; DB( g_print(" -> ** General\n") ); //since 4.51 version is integer homebank_pref_get_guint32 (keyfile, group, "Version", &version); if(version == 0) // old double number { gdouble v = g_key_file_get_double (keyfile, group, "Version", NULL); version = (guint32)(v * 10); } DB( g_print(" - version: %d\n", version) ); homebank_pref_get_string(keyfile, group, "Language", &PREFS->language); homebank_pref_get_short(keyfile, group, "BarStyle" , &PREFS->toolbar_style); if(version <= 6 && PREFS->toolbar_style == 0) // force system to text beside { PREFS->toolbar_style = 4; } if(version <= 2) // retrieve old settings { guint32 color; homebank_pref_get_guint32(keyfile, group, "ColorExp" , &color); g_free(PREFS->color_exp); PREFS->color_exp = g_strdup_printf("#%06x", color); homebank_pref_get_guint32(keyfile, group, "ColorInc" , &color); g_free(PREFS->color_inc); PREFS->color_inc = g_strdup_printf("#%06x", color); homebank_pref_get_guint32(keyfile, group, "ColorWarn", &color); g_free(PREFS->color_warn); PREFS->color_warn = g_strdup_printf("#%06x", color); } else { homebank_pref_get_boolean(keyfile, group, "CustomColors", &PREFS->custom_colors); homebank_pref_get_string(keyfile, group, "ColorExp" , &PREFS->color_exp); homebank_pref_get_string(keyfile, group, "ColorInc" , &PREFS->color_inc); homebank_pref_get_string(keyfile, group, "ColorWarn", &PREFS->color_warn); if( version <= 500 ) { gboolean rules_hint; homebank_pref_get_boolean(keyfile, group, "RulesHint", &rules_hint); if( rules_hint == TRUE ) PREFS->grid_lines = GTK_TREE_VIEW_GRID_LINES_HORIZONTAL; } else homebank_pref_get_short(keyfile, group, "GridLines", &PREFS->grid_lines); } DB( g_print(" - color exp: %s\n", PREFS->color_exp) ); DB( g_print(" - color inc: %s\n", PREFS->color_inc) ); DB( g_print(" - color wrn: %s\n", PREFS->color_warn) ); homebank_pref_get_string(keyfile, group, "WalletPath", &PREFS->path_hbfile); homebank_pref_get_string(keyfile, group, "BackupPath", &PREFS->path_hbbak); homebank_pref_get_string(keyfile, group, "ImportPath", &PREFS->path_import); homebank_pref_get_string(keyfile, group, "ExportPath", &PREFS->path_export); homebank_pref_get_boolean(keyfile, group, "ShowSplash", &PREFS->showsplash); homebank_pref_get_boolean(keyfile, group, "LoadLast", &PREFS->loadlast); homebank_pref_get_boolean(keyfile, group, "AppendScheduled", &PREFS->appendscheduled); homebank_pref_get_boolean(keyfile, group, "UpdateCurrency", &PREFS->do_update_currency); homebank_pref_get_boolean(keyfile, group, "BakIsAutomatic", &PREFS->bak_is_automatic); homebank_pref_get_short(keyfile, group, "BakMaxNumCopies", &PREFS->bak_max_num_copies); homebank_pref_get_boolean(keyfile, group, "HeritDate", &PREFS->heritdate); homebank_pref_get_boolean(keyfile, group, "ShowConfirm", &PREFS->txn_showconfirm); homebank_pref_get_boolean(keyfile, group, "HideReconciled", &PREFS->hidereconciled); homebank_pref_get_boolean(keyfile, group, "ShowRemind", &PREFS->showremind); homebank_pref_get_boolean(keyfile, group, "ShowVoid", &PREFS->showvoid); homebank_pref_get_boolean(keyfile, group, "IncludeRemind", &PREFS->includeremind); homebank_pref_get_boolean(keyfile, group, "TxnMemoAcp", &PREFS->txn_memoacp); homebank_pref_get_short(keyfile, group, "TxnMemoAcpDays", &PREFS->txn_memoacp_days); if( g_key_file_has_key(keyfile, group, "ColumnsOpe", NULL) ) { gboolean *bsrc; gint *src, i, j; gsize length; if(version <= 2) //retrieve old 0.1 or 0.2 visibility boolean { bsrc = g_key_file_get_boolean_list(keyfile, group, "ColumnsOpe", &length, NULL); if( length == NUM_LST_DSPOPE-1 ) { //and convert for(i=0; ilst_ope_columns[i] = (bsrc[i] == TRUE) ? i+1 : -(i+1); } } g_free(bsrc); } else { src = g_key_file_get_integer_list(keyfile, group, "ColumnsOpe", &length, NULL); DB( g_print(" - length %d (max=%d)\n", length, NUM_LST_DSPOPE) ); if( length == NUM_LST_DSPOPE ) { DB( g_print(" - copying column order from pref file\n") ); memcpy(PREFS->lst_ope_columns, src, length*sizeof(gint)); } else { if(version <= 7) { if( length == NUM_LST_DSPOPE-2 ) //1 less column before v4.5.1 { DB( g_print(" - upgrade from v7\n") ); DB( g_print(" - copying column order from pref file\n") ); memcpy(PREFS->lst_ope_columns, src, length*sizeof(gint)); //append balance column PREFS->lst_ope_columns[10] = LST_DSPOPE_BALANCE; } } if(version < 500) { if( length == NUM_LST_DSPOPE-2 ) //1 less column before v4.5.1 { DB( g_print(" - upgrade prior v5.0\n") ); DB( g_print(" - copying column order from pref file\n") ); gboolean added = FALSE; for(i=0,j=0; ilst_ope_columns[j++] = LST_DSPOPE_CLR; added = TRUE; } PREFS->lst_ope_columns[j++] = src[i]; } } } } g_free(src); } } if( g_key_file_has_key(keyfile, group, "ColumnsOpeWidth", NULL) ) { gint *src; gsize length; src = g_key_file_get_integer_list(keyfile, group, "ColumnsOpeWidth", &length, NULL); DB( g_print(" - length %d (max=%d)\n", length, NUM_LST_DSPOPE) ); if( length == NUM_LST_DSPOPE ) { DB( g_print(" - copying column width from pref file\n") ); memcpy(PREFS->lst_ope_col_width, src, length*sizeof(gint)); } //leak g_free(src); } homebank_pref_get_integer(keyfile, group, "OpeSortId", &PREFS->lst_ope_sort_id); homebank_pref_get_integer(keyfile, group, "OpeSortOrder", &PREFS->lst_ope_sort_order); DB( g_print(" - set sort to %d %d\n", PREFS->lst_ope_sort_id, PREFS->lst_ope_sort_order) ); homebank_pref_get_short(keyfile, group, "FiscYearDay", &PREFS->fisc_year_day); homebank_pref_get_short(keyfile, group, "FiscYearMonth", &PREFS->fisc_year_month); group = "Windows"; DB( g_print(" -> ** Windows\n") ); homebank_pref_get_wingeometry(keyfile, group, "Wal", &PREFS->wal_wg); homebank_pref_get_wingeometry(keyfile, group, "Acc", &PREFS->acc_wg); homebank_pref_get_wingeometry(keyfile, group, "Sta", &PREFS->sta_wg); homebank_pref_get_wingeometry(keyfile, group, "Tme", &PREFS->tme_wg); homebank_pref_get_wingeometry(keyfile, group, "Ove", &PREFS->ove_wg); homebank_pref_get_wingeometry(keyfile, group, "Bud", &PREFS->bud_wg); homebank_pref_get_wingeometry(keyfile, group, "Car", &PREFS->cst_wg); homebank_pref_get_wingeometry(keyfile, group, "Txn", &PREFS->txn_wg); if(version <= 7) //set maximize to 0 { PREFS->wal_wg.s = 0; PREFS->acc_wg.s = 0; PREFS->txn_wg.s = 0; PREFS->sta_wg.s = 0; PREFS->tme_wg.s = 0; PREFS->ove_wg.s = 0; PREFS->bud_wg.s = 0; PREFS->cst_wg.s = 0; } homebank_pref_get_integer(keyfile, group, "WalVPaned", &PREFS->wal_vpaned); homebank_pref_get_integer(keyfile, group, "WalHPaned", &PREFS->wal_hpaned); homebank_pref_get_boolean(keyfile, group, "WalToolbar", &PREFS->wal_toolbar); homebank_pref_get_boolean(keyfile, group, "WalSpending", &PREFS->wal_spending); homebank_pref_get_boolean(keyfile, group, "WalUpcoming", &PREFS->wal_upcoming); //since 5.1.3 group = "Panels"; DB( g_print(" -> ** Panels\n") ); homebank_pref_get_short(keyfile, group, "AccColAccW", &PREFS->pnl_acc_col_acc_width); homebank_pref_get_short(keyfile, group, "AccShowBy" , &PREFS->pnl_acc_show_by); homebank_pref_get_short(keyfile, group, "UpcColPayW", &PREFS->pnl_upc_col_pay_width); homebank_pref_get_short(keyfile, group, "UpcColMemW", &PREFS->pnl_upc_col_mem_width); homebank_pref_get_string(keyfile, group, "PnlLstTab", &PREFS->pnl_list_tab); group = "Format"; DB( g_print(" -> ** Format\n") ); homebank_pref_get_string(keyfile, group, "DateFmt", &PREFS->date_format); if(version < 460) { gboolean useimperial; homebank_pref_get_boolean(keyfile, group, "UKUnits", &useimperial); if(useimperial) { PREFS->vehicle_unit_ismile = TRUE; PREFS->vehicle_unit_isgal = TRUE; } } homebank_pref_get_boolean(keyfile, group, "UnitIsMile", &PREFS->vehicle_unit_ismile); homebank_pref_get_boolean(keyfile, group, "UnitIsGal", &PREFS->vehicle_unit_isgal); group = "Filter"; DB( g_print(" -> ** Filter\n") ); homebank_pref_get_integer(keyfile, group, "DateRangeWal", &PREFS->date_range_wal); homebank_pref_get_integer(keyfile, group, "DateRangeTxn", &PREFS->date_range_txn); homebank_pref_get_integer(keyfile, group, "DateFutureNbDays", &PREFS->date_future_nbdays); homebank_pref_get_integer(keyfile, group, "DateRangeRep", &PREFS->date_range_rep); if(version <= 7) { // shift date range >= 5, since we inserted a new one at position 5 if(PREFS->date_range_wal >= FLT_RANGE_LASTYEAR) PREFS->date_range_wal++; if(PREFS->date_range_txn >= FLT_RANGE_LASTYEAR) PREFS->date_range_txn++; if(PREFS->date_range_rep >= FLT_RANGE_LASTYEAR) PREFS->date_range_rep++; } group = "Euro"; DB( g_print(" -> ** Euro\n") ); //homebank_pref_get_string(keyfile, group, "DefCurrency" , &PREFS->curr_default); homebank_pref_get_boolean(keyfile, group, "Active", &PREFS->euro_active); homebank_pref_get_integer(keyfile, group, "Country", &PREFS->euro_country); gchar *ratestr = g_key_file_get_string (keyfile, group, "ChangeRate", NULL); if(ratestr != NULL) PREFS->euro_value = g_ascii_strtod(ratestr, NULL); if(version <= 1) { homebank_pref_get_string(keyfile, group, "Symbol", &PREFS->minor_cur.symbol); PREFS->minor_cur.frac_digits = g_key_file_get_integer (keyfile, group, "NBDec", NULL); //PREFS->euro_nbdec = g_key_file_get_integer (keyfile, group, "NBDec", NULL); //PREFS->euro_thsep = g_key_file_get_boolean (keyfile, group, "Sep", NULL); //gchar *tmpstr = g_key_file_get_string (keyfile, group, "Symbol", &error); } else { if(version < 460) { gchar *prefix = NULL; gchar *suffix = NULL; homebank_pref_get_string(keyfile, group, "PreSymbol", &prefix); homebank_pref_get_string(keyfile, group, "SufSymbol", &suffix); homebank_pref_currfmt_convert(&PREFS->minor_cur, prefix, suffix); g_free(prefix); g_free(suffix); } else { homebank_pref_get_string(keyfile, group, "Symbol", &PREFS->minor_cur.symbol); homebank_pref_get_boolean(keyfile, group, "IsPrefix", &PREFS->minor_cur.sym_prefix); } homebank_pref_get_string(keyfile, group, "DecChar" , &PREFS->minor_cur.decimal_char); homebank_pref_get_string(keyfile, group, "GroupChar", &PREFS->minor_cur.grouping_char); homebank_pref_get_short(keyfile, group, "FracDigits", &PREFS->minor_cur.frac_digits); //fix 378992/421228 if( PREFS->minor_cur.frac_digits > MAX_FRAC_DIGIT ) PREFS->minor_cur.frac_digits = MAX_FRAC_DIGIT; da_cur_initformat(&PREFS->minor_cur); } //PREFS->euro_symbol = g_locale_to_utf8(tmpstr, -1, NULL, NULL, NULL); group = "Report"; DB( g_print(" -> ** Report\n") ); homebank_pref_get_boolean(keyfile, group, "StatByAmount", &PREFS->stat_byamount); homebank_pref_get_boolean(keyfile, group, "StatDetail", &PREFS->stat_showdetail); homebank_pref_get_boolean(keyfile, group, "StatRate", &PREFS->stat_showrate); homebank_pref_get_boolean(keyfile, group, "BudgDetail", &PREFS->budg_showdetail); homebank_pref_get_integer(keyfile, group, "ColorScheme", &PREFS->report_color_scheme); group = "Exchange"; DB( g_print(" -> ** Exchange\n") ); homebank_pref_get_boolean(keyfile, group, "DoIntro", &PREFS->dtex_nointro); homebank_pref_get_boolean(keyfile, group, "UcFirst", &PREFS->dtex_ucfirst); homebank_pref_get_integer(keyfile, group, "DateFmt", &PREFS->dtex_datefmt); homebank_pref_get_integer(keyfile, group, "OfxName", &PREFS->dtex_ofxname); homebank_pref_get_integer(keyfile, group, "OfxMemo", &PREFS->dtex_ofxmemo); homebank_pref_get_boolean(keyfile, group, "QifMemo", &PREFS->dtex_qifmemo); homebank_pref_get_boolean(keyfile, group, "QifSwap", &PREFS->dtex_qifswap); homebank_pref_get_integer(keyfile, group, "CsvSep", &PREFS->dtex_csvsep); homebank_pref_get_boolean(keyfile, group, "DoDefPayee", &PREFS->dtex_dodefpayee); homebank_pref_get_boolean(keyfile, group, "DoAutoAssign", &PREFS->dtex_doautoassign); //group = "Chart"; //PREFS->chart_legend = g_key_file_get_boolean (keyfile, group, "Legend", NULL); /* #if MYDEBUG == 1 gsize length; gchar *contents = g_key_file_to_data (keyfile, &length, NULL); //g_print(" keyfile:\n%s\n len=%d\n", contents, length); g_free(contents); #endif */ } g_free(filename); g_key_file_free (keyfile); _homebank_pref_init_measurement_units(); } return retval; } static void homebank_pref_set_string( GKeyFile *key_file, const gchar *group_name, const gchar *key, gchar *string) { DB( g_print(" - homebank_pref_set_string :: group='%s' key='%s' value='%s'\n", group_name, key, string) ); if( string != NULL && *string != '\0') g_key_file_set_string (key_file, group_name, key, string); else g_key_file_set_string (key_file, group_name, key, ""); } /* ** save preference to homedir/.homebank (HB_DATA_PATH) */ gboolean homebank_pref_save(void) { GKeyFile *keyfile; gboolean retval = FALSE; gchar *group, *filename; gsize length; GError *error = NULL; DB( g_print("\n[preferences] pref save\n") ); keyfile = g_key_file_new(); if(keyfile ) { DB( g_print(" -> ** general\n") ); group = "General"; g_key_file_set_integer (keyfile, group, "Version", PREF_VERSION); homebank_pref_set_string (keyfile, group, "Language", PREFS->language); g_key_file_set_integer (keyfile, group, "BarStyle", PREFS->toolbar_style); //g_key_file_set_integer (keyfile, group, "BarImageSize", PREFS->image_size); g_key_file_set_boolean (keyfile, group, "CustomColors", PREFS->custom_colors); g_key_file_set_string (keyfile, group, "ColorExp" , PREFS->color_exp); g_key_file_set_string (keyfile, group, "ColorInc" , PREFS->color_inc); g_key_file_set_string (keyfile, group, "ColorWarn", PREFS->color_warn); g_key_file_set_integer (keyfile, group, "GridLines", PREFS->grid_lines); homebank_pref_set_string (keyfile, group, "WalletPath" , PREFS->path_hbfile); homebank_pref_set_string (keyfile, group, "BackupPath" , PREFS->path_hbbak); homebank_pref_set_string (keyfile, group, "ImportPath" , PREFS->path_import); homebank_pref_set_string (keyfile, group, "ExportPath" , PREFS->path_export); //g_key_file_set_string (keyfile, group, "NavigatorPath", PREFS->path_navigator); g_key_file_set_boolean (keyfile, group, "BakIsAutomatic", PREFS->bak_is_automatic); g_key_file_set_integer (keyfile, group, "BakMaxNumCopies", PREFS->bak_max_num_copies); g_key_file_set_boolean (keyfile, group, "ShowSplash", PREFS->showsplash); g_key_file_set_boolean (keyfile, group, "LoadLast", PREFS->loadlast); g_key_file_set_boolean (keyfile, group, "AppendScheduled", PREFS->appendscheduled); g_key_file_set_boolean (keyfile, group, "UpdateCurrency", PREFS->do_update_currency); g_key_file_set_boolean (keyfile, group, "HeritDate", PREFS->heritdate); g_key_file_set_boolean (keyfile, group, "ShowConfirm", PREFS->txn_showconfirm); g_key_file_set_boolean (keyfile, group, "HideReconciled", PREFS->hidereconciled); g_key_file_set_boolean (keyfile, group, "ShowRemind", PREFS->showremind); g_key_file_set_boolean (keyfile, group, "ShowVoid", PREFS->showvoid); g_key_file_set_boolean (keyfile, group, "IncludeRemind", PREFS->includeremind); g_key_file_set_boolean (keyfile, group, "TxnMemoAcp", PREFS->txn_memoacp); g_key_file_set_integer (keyfile, group, "TxnMemoAcpDays" , PREFS->txn_memoacp_days); g_key_file_set_integer_list(keyfile, group, "ColumnsOpe", PREFS->lst_ope_columns, NUM_LST_DSPOPE); g_key_file_set_integer_list(keyfile, group, "ColumnsOpeWidth", PREFS->lst_ope_col_width, NUM_LST_DSPOPE); g_key_file_set_integer (keyfile, group, "OpeSortId" , PREFS->lst_ope_sort_id); g_key_file_set_integer (keyfile, group, "OpeSortOrder" , PREFS->lst_ope_sort_order); g_key_file_set_integer (keyfile, group, "FiscYearDay" , PREFS->fisc_year_day); g_key_file_set_integer (keyfile, group, "FiscYearMonth" , PREFS->fisc_year_month); // added v3.4 DB( g_print(" -> ** windows\n") ); group = "Windows"; g_key_file_set_integer_list(keyfile, group, "Wal", (gint *)&PREFS->wal_wg, 5); g_key_file_set_integer_list(keyfile, group, "Acc", (gint *)&PREFS->acc_wg, 5); g_key_file_set_integer_list(keyfile, group, "Sta", (gint *)&PREFS->sta_wg, 5); g_key_file_set_integer_list(keyfile, group, "Tme", (gint *)&PREFS->tme_wg, 5); g_key_file_set_integer_list(keyfile, group, "Ove", (gint *)&PREFS->ove_wg, 5); g_key_file_set_integer_list(keyfile, group, "Bud", (gint *)&PREFS->bud_wg, 5); g_key_file_set_integer_list(keyfile, group, "Car", (gint *)&PREFS->cst_wg, 5); g_key_file_set_integer_list(keyfile, group, "Txn", (gint *)&PREFS->txn_wg, 5); g_key_file_set_integer (keyfile, group, "WalVPaned" , PREFS->wal_vpaned); g_key_file_set_integer (keyfile, group, "WalHPaned" , PREFS->wal_hpaned); g_key_file_set_boolean (keyfile, group, "WalToolbar", PREFS->wal_toolbar); g_key_file_set_boolean (keyfile, group, "WalSpending", PREFS->wal_spending); g_key_file_set_boolean (keyfile, group, "WalUpcoming", PREFS->wal_upcoming); //since 5.1.3 DB( g_print(" -> ** Panels\n") ); group = "Panels"; g_key_file_set_integer(keyfile, group, "AccColAccW", PREFS->pnl_acc_col_acc_width); g_key_file_set_integer(keyfile, group, "AccShowBy" , PREFS->pnl_acc_show_by); g_key_file_set_integer(keyfile, group, "UpcColPayW", PREFS->pnl_upc_col_pay_width); g_key_file_set_integer(keyfile, group, "UpcColMemW", PREFS->pnl_upc_col_mem_width); homebank_pref_set_string (keyfile, group, "PnlLstTab", PREFS->pnl_list_tab); DB( g_print(" -> ** format\n") ); group = "Format"; homebank_pref_set_string (keyfile, group, "DateFmt" , PREFS->date_format); //g_key_file_set_boolean (keyfile, group, "UKUnits" , PREFS->imperial_unit); g_key_file_set_boolean (keyfile, group, "UnitIsMile" , PREFS->vehicle_unit_ismile); g_key_file_set_boolean (keyfile, group, "UnitIsGal" , PREFS->vehicle_unit_isgal); DB( g_print(" -> ** filter\n") ); group = "Filter"; g_key_file_set_integer (keyfile, group, "DateRangeWal", PREFS->date_range_wal); g_key_file_set_integer (keyfile, group, "DateRangeTxn", PREFS->date_range_txn); g_key_file_set_integer (keyfile, group, "DateFutureNbDays", PREFS->date_future_nbdays); g_key_file_set_integer (keyfile, group, "DateRangeRep", PREFS->date_range_rep); DB( g_print(" -> ** euro\n") ); //euro options group = "Euro"; //homebank_pref_set_string(keyfile, group, "DefCurrency" , PREFS->curr_default); g_key_file_set_boolean (keyfile, group, "Active" , PREFS->euro_active); if( PREFS->euro_active ) { g_key_file_set_integer (keyfile, group, "Country", PREFS->euro_country); gchar ratestr[64]; g_ascii_dtostr(ratestr, 63, PREFS->euro_value); homebank_pref_set_string (keyfile, group, "ChangeRate", ratestr); homebank_pref_set_string (keyfile, group, "Symbol" , PREFS->minor_cur.symbol); g_key_file_set_boolean (keyfile, group, "IsPrefix" , PREFS->minor_cur.sym_prefix); homebank_pref_set_string (keyfile, group, "DecChar" , PREFS->minor_cur.decimal_char); homebank_pref_set_string (keyfile, group, "GroupChar" , PREFS->minor_cur.grouping_char); g_key_file_set_integer (keyfile, group, "FracDigits", PREFS->minor_cur.frac_digits); } //report options DB( g_print(" -> ** report\n") ); group = "Report"; g_key_file_set_boolean (keyfile, group, "StatByAmount", PREFS->stat_byamount); g_key_file_set_boolean (keyfile, group, "StatDetail" , PREFS->stat_showdetail); g_key_file_set_boolean (keyfile, group, "StatRate" , PREFS->stat_showrate); g_key_file_set_boolean (keyfile, group, "BudgDetail" , PREFS->budg_showdetail); g_key_file_set_integer (keyfile, group, "ColorScheme" , PREFS->report_color_scheme); group = "Exchange"; g_key_file_set_boolean (keyfile, group, "DoIntro", PREFS->dtex_nointro); g_key_file_set_boolean (keyfile, group, "UcFirst", PREFS->dtex_ucfirst); g_key_file_set_integer (keyfile, group, "DateFmt", PREFS->dtex_datefmt); g_key_file_set_integer (keyfile, group, "OfxName", PREFS->dtex_ofxname); g_key_file_set_integer (keyfile, group, "OfxMemo", PREFS->dtex_ofxmemo); g_key_file_set_boolean (keyfile, group, "QifMemo", PREFS->dtex_qifmemo); g_key_file_set_boolean (keyfile, group, "QifSwap", PREFS->dtex_qifswap); g_key_file_set_integer (keyfile, group, "CsvSep", PREFS->dtex_csvsep); g_key_file_set_boolean (keyfile, group, "DoDefPayee", PREFS->dtex_dodefpayee); g_key_file_set_boolean (keyfile, group, "DoAutoAssign", PREFS->dtex_doautoassign); //group = "Chart"; //g_key_file_set_boolean (keyfile, group, "Legend", PREFS->chart_legend); //g_key_file_set_string (keyfile, group, "", PREFS->); //g_key_file_set_boolean (keyfile, group, "", PREFS->); //g_key_file_set_integer (keyfile, group, "", PREFS->); DB( g_print(" -> ** g_key_file_to_data\n") ); gchar *contents = g_key_file_to_data (keyfile, &length, NULL); //DB( g_print(" keyfile:\n%s\nlen=%d\n", contents, length) ); filename = g_build_filename(homebank_app_get_config_dir(), "preferences", NULL ); DB( g_print(" -> filename: %s\n", filename) ); g_file_set_contents(filename, contents, length, &error); if( error ) { g_warning("unable to save file %s: %s", filename, error->message); g_error_free (error); error = NULL; } DB( g_print(" -> contents: %s\n", contents) ); DB( g_print(" -> freeing filename\n") ); g_free(filename); DB( g_print(" -> freeing buffer\n") ); g_free(contents); DB( g_print(" -> freeing keyfile\n") ); g_key_file_free (keyfile); } _homebank_pref_init_measurement_units(); return retval; } homebank-5.3.2/src/ui-txn-multi.h0000664000175000017500000000304513604720371013551 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __UI_TXN_MULTI_H__ #define __UI_TXN_MULTI_H__ struct ui_multipleedit_dialog_data { GtkWidget *dialog; GtkWidget *CM_date, *PO_date; GtkWidget *CM_amount, *ST_amount; GtkWidget *LB_acc, *CM_acc, *PO_acc; GtkWidget *LB_mode, *CM_mode, *NU_mode; GtkWidget *CM_info, *ST_info; GtkWidget *CM_pay, *PO_pay; GtkWidget *CM_cat, *PO_cat; GtkWidget *CM_memo, *ST_memo; GtkWidget *CM_tags, *ST_tags; GtkWidget *CM_xfer, *PO_accto; GtkTreeView *treeview; guint32 kacc; gboolean has_xfer; }; void ui_multipleedit_dialog_prefill( GtkWidget *widget, Transaction *ope, gint column_id ); gint ui_multipleedit_dialog_apply( GtkWidget *widget, gboolean *do_sort ); GtkWidget *ui_multipleedit_dialog_new(GtkWindow *parent, GtkTreeView *treeview); #endif /* __UI_TXN_MULTI_H__ */ homebank-5.3.2/src/ui-assist-import.h0000644000175000017500000000524213604720371014425 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HOMEBANK_IMPORT_H__ #define __HOMEBANK_IMPORT_H__ #define PAGE_WELCOME 0 #define PAGE_FILES 1 #define PAGE_IMPORT 2 enum { LST_GENFILE_POINTER, LST_GENFILE_NAME, NUM_LST_FILE }; enum { LST_GENACC_NAME, LST_GENACC_KEY, NUM_LST_GENACC }; enum { LST_GENTXN_POINTER, NUM_LST_GENTXN }; enum { LST_SELECT_UNSET, LST_SELECT_ALL, LST_SELECT_NONE, LST_SELECT_INVERT, LST_SELECT_VALID }; typedef struct _import_txndata ImpTxnData; struct _import_txndata { // account page GtkWidget *IM_txn, *LB_txn; GtkWidget *LB_acc_title; //GtkWidget *LB_acc_count; GtkWidget *LB_txn_title; GtkWidget *BT_all, *BT_non, *BT_inv, *BT_val; GtkWidget *CY_acc; GtkWidget *IM_unamed; GtkWidget *LV_gentxn; GtkWidget *EX_duptxn; GtkWidget *LV_duptxn; GtkWidget *ST_stack; GtkWidget *GR_misc; GtkWidget *GR_msg; GtkWidget *GR_date; GtkWidget *GR_ofx; GtkWidget *GR_qif; GtkWidget *GR_select; GtkWidget *CY_txn_dateorder; GtkWidget *NB_txn_daygap; GtkWidget *CM_txn_ucfirst; GtkWidget *CY_txn_ofxname; GtkWidget *CY_txn_ofxmemo; GtkWidget *CM_txn_qifmemo; GtkWidget *CM_txn_qifswap; }; struct import_data { GtkWidget *assistant; //intro GtkWidget *CM_dsta; // filechooser GtkWidget *filechooser; GtkWidget *LV_file; GtkWidget *BT_file_add; GtkWidget *BT_file_delete; //struct import_txndata txndata[TXN_MAX_ACCOUNT]; GArray *txndata; //summary GtkWidget *TX_summary; GtkWidget *CM_do_auto_payee; GtkWidget *CM_do_auto_assign; // import context ImportContext ictx; }; struct import_target_data { GtkWidget *label1, *label2; GtkWidget *getwidget1; GtkWidget *getwidget2; GtkWidget *radio[2]; }; GtkWidget *ui_import_assistant_new (gchar **paths); Account *import_create_account(gchar *name, gchar *number); const gchar *homebank_file_getencoding(gchar *filename); gchar *homebank_utf8_ensure(gchar *buffer); #endif homebank-5.3.2/src/ui-widgets.c0000644000175000017500000010127413611600025013241 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "gtk-chart.h" #include "ui-widgets.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ extern HbKvData CYA_FLT_RANGE[]; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ //TODO: only WEIGHT & SCALE are used for now void gimp_label_set_attributes (GtkLabel *label, ...) { PangoAttribute *attr = NULL; PangoAttrList *attrs; va_list args; g_return_if_fail (GTK_IS_LABEL (label)); attrs = pango_attr_list_new (); va_start (args, label); do { PangoAttrType attr_type = va_arg (args, PangoAttrType); if (attr_type <= 0) attr_type = PANGO_ATTR_INVALID; switch (attr_type) { case PANGO_ATTR_LANGUAGE: attr = pango_attr_language_new (va_arg (args, PangoLanguage *)); break; case PANGO_ATTR_FAMILY: attr = pango_attr_family_new (va_arg (args, const gchar *)); break; case PANGO_ATTR_STYLE: attr = pango_attr_style_new (va_arg (args, PangoStyle)); break; case PANGO_ATTR_WEIGHT: attr = pango_attr_weight_new (va_arg (args, PangoWeight)); break; case PANGO_ATTR_VARIANT: attr = pango_attr_variant_new (va_arg (args, PangoVariant)); break; case PANGO_ATTR_STRETCH: attr = pango_attr_stretch_new (va_arg (args, PangoStretch)); break; case PANGO_ATTR_SIZE: attr = pango_attr_size_new (va_arg (args, gint)); break; case PANGO_ATTR_FONT_DESC: attr = pango_attr_font_desc_new (va_arg (args, const PangoFontDescription *)); break; case PANGO_ATTR_FOREGROUND: { const PangoColor *color = va_arg (args, const PangoColor *); attr = pango_attr_foreground_new (color->red, color->green, color->blue); } break; case PANGO_ATTR_BACKGROUND: { const PangoColor *color = va_arg (args, const PangoColor *); attr = pango_attr_background_new (color->red, color->green, color->blue); } break; case PANGO_ATTR_UNDERLINE: attr = pango_attr_underline_new (va_arg (args, PangoUnderline)); break; case PANGO_ATTR_STRIKETHROUGH: attr = pango_attr_strikethrough_new (va_arg (args, gboolean)); break; case PANGO_ATTR_RISE: attr = pango_attr_rise_new (va_arg (args, gint)); break; case PANGO_ATTR_SCALE: attr = pango_attr_scale_new (va_arg (args, gdouble)); break; default: //g_warning ("%s: invalid PangoAttribute type %d", G_STRFUNC, attr_type); case PANGO_ATTR_INVALID: attr = NULL; break; } if (attr) { attr->start_index = 0; attr->end_index = -1; pango_attr_list_insert (attrs, attr); } } while (attr); va_end (args); gtk_label_set_attributes (label, attrs); pango_attr_list_unref (attrs); } void hb_widget_visible(GtkWidget *widget, gboolean visible) { if(!GTK_IS_WIDGET(widget)) return; if(visible) { gtk_widget_show(widget); } else { gtk_widget_hide(widget); } } void ui_label_set_integer(GtkLabel *label, gint value) { gchar buf[16]; g_snprintf(buf, 16, "%d", value); gtk_label_set_text (label, buf); } void hbtk_entry_tag_name_append(GtkEntry *entry, gchar *tagname) { GtkEntryBuffer *buffer; const gchar *text; guint len; text = gtk_entry_get_text(entry); if( g_strstr_len(text, -1, tagname) == NULL ) { DB( g_print(" gtkentry append tagname '%s'\n", tagname) ); buffer = gtk_entry_get_buffer(GTK_ENTRY(entry)); if(buffer) { len = gtk_entry_buffer_get_length(buffer); DB( g_print("- add ' %s' %p %d\n", tagname, buffer, len) ); if(len > 0) gtk_entry_buffer_insert_text(buffer, len, " ", 1); gtk_entry_buffer_insert_text(buffer, len+1, tagname, -1); } } } void hbtk_entry_set_text(GtkEntry *entry, gchar *text) { //DB( g_print(" set text to '%s'\n", text) ); gtk_entry_set_text(GTK_ENTRY(entry), ( text != NULL ) ? text : ""); } void hbtk_entry_replace_text(GtkEntry *entry, gchar **storage) { const gchar *text; DB( g_print(" storage is '%p' at '%p'\n", *storage, storage) ); /* free any previous string */ if( *storage != NULL ) { g_free(*storage); } *storage = NULL; text = gtk_entry_get_text(GTK_ENTRY(entry)); *storage = g_strdup(text); } // redraw a single row of a listview (not work with GTK_SELECTION_MULTIPLE) void hbtk_listview_redraw_selected_row(GtkTreeView *treeview) { GtkTreeModel *model; GtkTreeSelection *selection; GtkTreeIter iter; GtkTreePath *path; selection = gtk_tree_view_get_selection(treeview); if( gtk_tree_selection_get_selected(selection, &model, &iter) ) { path = gtk_tree_model_get_path(model, &iter); gtk_tree_model_row_changed(model, path, &iter); gtk_tree_path_free (path); } } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ GtkWidget *make_clicklabel(gchar *id, gchar *str) { GtkWidget *label; gchar buffer[255]; g_snprintf(buffer, 254, "%s", id, str); label = gtk_label_new(buffer); gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_SMALL, -1); gtk_label_set_use_markup (GTK_LABEL (label), TRUE); gtk_label_set_track_visited_links(GTK_LABEL(label), FALSE); gtk_widget_set_halign(label, GTK_ALIGN_START); return GTK_WIDGET(label); } GtkWidget *make_label_group(gchar *str) { GtkWidget *label = gtk_label_new (str); gtk_widget_set_valign (label, GTK_ALIGN_CENTER); gtk_widget_set_halign (label, GTK_ALIGN_START); gimp_label_set_attributes(GTK_LABEL(label), PANGO_ATTR_WEIGHT, PANGO_WEIGHT_BOLD, -1); return label; } GtkWidget *make_label_widget(char *str) { GtkWidget *label = gtk_label_new_with_mnemonic (str); gtk_widget_set_valign (label, GTK_ALIGN_CENTER); gtk_widget_set_halign (label, GTK_ALIGN_END); return label; } GtkWidget *make_label(char *str, gfloat xalign, gfloat yalign) { GtkWidget *label = gtk_label_new_with_mnemonic (str); #if( (GTK_MAJOR_VERSION == 3) && (GTK_MINOR_VERSION < 16) ) gtk_misc_set_alignment (GTK_MISC (label), xalign, yalign); #else gtk_label_set_xalign(GTK_LABEL(label), xalign); gtk_label_set_yalign(GTK_LABEL(label), yalign); #endif return label; } /* ** */ GtkWidget *make_text(gfloat xalign) { GtkWidget *entry; entry = gtk_entry_new (); gtk_editable_set_editable (GTK_EDITABLE(entry), FALSE); g_object_set(entry, "xalign", xalign, NULL); return entry; } GtkWidget *make_search(void) { GtkWidget *search; search = gtk_search_entry_new(); gtk_entry_set_placeholder_text(GTK_ENTRY(search), _("Search...") ); return search; } /* ** */ GtkWidget *make_string(GtkWidget *label) { GtkWidget *entry; entry = gtk_entry_new (); if(label) gtk_label_set_mnemonic_widget (GTK_LABEL(label), entry); return entry; } GtkWidget * hbtk_menubar_add_menu(GtkWidget *menubar, gchar *label, GtkWidget **menuitem_ptr) { GtkWidget *menu, *menuitem; menu = gtk_menu_new(); menuitem = gtk_menu_item_new_with_mnemonic(label); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), menu); gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem); if(menuitem_ptr) *menuitem_ptr = menuitem; return menu; } GtkWidget * hbtk_menu_add_menuitem(GtkWidget *menu, gchar *label) { GtkWidget *menuitem = gtk_menu_item_new_with_mnemonic(label); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); return menuitem; } GtkWidget * hbtk_toolbar_add_toolbutton(GtkToolbar *toolbar, gchar *icon_name, gchar *label, gchar *tooltip_text) { GtkWidget *button = gtk_widget_new(GTK_TYPE_TOOL_BUTTON, "icon-name", icon_name, "label", label, NULL); if(tooltip_text != NULL) gtk_widget_set_tooltip_text(button, tooltip_text); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(button), -1); return button; } GtkWidget *make_image_toggle_button(gchar *icon_name, gchar *tooltip_text) { GtkWidget *button, *image; //todo 3.10 use gtk_button_new_from_icon_name button = gtk_toggle_button_new(); image = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_BUTTON); g_object_set (button, "image", image, NULL); if(tooltip_text != NULL) gtk_widget_set_tooltip_text(button, tooltip_text); return button; } GtkWidget *make_image_button(gchar *icon_name, gchar *tooltip_text) { GtkWidget *button, *image; //todo 3.10 use gtk_button_new_from_icon_name button = gtk_button_new(); image = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_BUTTON); g_object_set (button, "image", image, NULL); if(tooltip_text != NULL) gtk_widget_set_tooltip_text(button, tooltip_text); return button; } /* ** */ GtkWidget *make_memo_entry(GtkWidget *label) { GtkListStore *store; GtkWidget *entry; GtkEntryCompletion *completion; GList *lmem, *list; store = gtk_list_store_new (1, G_TYPE_STRING); completion = gtk_entry_completion_new (); gtk_entry_completion_set_model (completion, GTK_TREE_MODEL(store)); gtk_entry_completion_set_text_column (completion, 0); entry = gtk_entry_new (); gtk_entry_set_completion (GTK_ENTRY (entry), completion); g_object_unref(store); //populate //gtk_list_store_clear (GTK_LIST_STORE(store)); lmem = list = g_hash_table_get_keys(GLOBALS->h_memo); while (list != NULL) { GtkTreeIter iter; //gtk_list_store_append (GTK_LIST_STORE(store), &iter); //gtk_list_store_set (GTK_LIST_STORE(store), &iter, 0, list->data, -1); gtk_list_store_insert_with_values(GTK_LIST_STORE(store), &iter, -1, 0, list->data, -1); list = g_list_next(list); } g_list_free(lmem); if(label) gtk_label_set_mnemonic_widget (GTK_LABEL(label), entry); return entry; } /* ** */ GtkWidget *make_string_maxlength(GtkWidget *label, guint max_length) { GtkWidget *entry; entry = make_string(label); gtk_entry_set_width_chars(GTK_ENTRY(entry), max_length+2); gtk_entry_set_max_length(GTK_ENTRY(entry), max_length); return entry; } /* static void make_entry_numeric_insert_text_handler (GtkEntry *entry, const gchar *text, gint length, gint *position, gpointer data) { GtkEditable *editable = GTK_EDITABLE(entry); int i, count=0; gchar *result = g_new (gchar, length); for (i=0; i < length; i++) { if (!g_ascii_isdigit(text[i])) continue; result[count++] = text[i]; } if (count > 0) { g_signal_handlers_block_by_func (G_OBJECT (editable), G_CALLBACK (make_entry_numeric_insert_text_handler), data); gtk_editable_insert_text (editable, result, count, position); g_signal_handlers_unblock_by_func (G_OBJECT (editable), G_CALLBACK (make_entry_numeric_insert_text_handler), data); } g_signal_stop_emission_by_name (G_OBJECT (editable), "insert_text"); g_free (result); } GtkWidget *make_entry_numeric(GtkWidget *label, gint min, gint max) { GtkWidget *entry; entry = make_string(label); gtk_entry_set_text(GTK_ENTRY(entry), "1"); g_signal_connect(G_OBJECT(entry), "insert-text", G_CALLBACK(make_entry_numeric_insert_text_handler), NULL); return entry; }*/ static void hb_amount_insert_text_handler (GtkEntry *entry, const gchar *text, gint length, gint *position, gpointer data) { GtkEditable *editable = GTK_EDITABLE(entry); gint i, digits, count=0, dcpos=-1; gchar *clntxt; DB( g_print("-----\ninsert_text-handler: instxt:%s pos:%d len:%d\n", text, *position, length) ); digits = gtk_spin_button_get_digits(GTK_SPIN_BUTTON(entry)); // most common : only 1 char to be inserted if( length == 1 ) { const gchar *curtxt = gtk_entry_get_text(entry); for (i=0 ; curtxt[i]!='\0' ; i++) { if(curtxt[i]==',' || curtxt[i]=='.') dcpos = i; } DB( g_print(" dcpos:'%d'\n", dcpos) ); clntxt = g_new0 (gchar, length+1); for (i=0 ; i < length ; i++) { if( g_ascii_isdigit(text[i]) && ( (*position <= dcpos + digits) || dcpos < 0) ) goto doinsert; if( text[i]=='-' && *position==0 ) /* minus sign only at position 0 */ goto doinsert; if( dcpos < 0 && (text[i]=='.' || text[i]==',') ) /* decimal separator if not in previous string */ clntxt[count++] = '.'; continue; doinsert: clntxt[count++] = text[i]; } } // less common: paste a full text else { clntxt = hb_string_dup_raw_amount_clean(text, digits); count = strlen(clntxt); } if (count > 0) { DB( g_print(" insert %d char '%s' at %d\n", count, clntxt, *position) ); g_signal_handlers_block_by_func (G_OBJECT (editable), G_CALLBACK (hb_amount_insert_text_handler), data); gtk_editable_insert_text (editable, clntxt, count, position); g_signal_handlers_unblock_by_func (G_OBJECT (editable), G_CALLBACK (hb_amount_insert_text_handler), data); } g_free (clntxt); g_signal_stop_emission_by_name (G_OBJECT (editable), "insert-text"); } GtkWidget *make_amount(GtkWidget *label) { GtkWidget *spinner; GtkAdjustment *adj; //adj = (GtkAdjustment *) gtk_adjustment_new (0.0, -G_MAXDOUBLE, G_MAXDOUBLE, 0.01, 1.0, 0.0); adj = (GtkAdjustment *) gtk_adjustment_new (0.0, -8589934588, 8589934588, 0.01, 1.0, 0.0); spinner = gtk_spin_button_new (adj, 1.0, 2); g_object_set(spinner, "xalign", 1.0, NULL); if(label) gtk_label_set_mnemonic_widget (GTK_LABEL(label), spinner); g_signal_connect(G_OBJECT(spinner), "insert-text", G_CALLBACK(hb_amount_insert_text_handler), NULL); return spinner; } GtkWidget *make_exchange_rate(GtkWidget *label) { GtkWidget *spinner; GtkAdjustment *adj; adj = (GtkAdjustment *) gtk_adjustment_new (0.0, 0.0, 99999, 0.01, 1.0, 0.0); spinner = gtk_spin_button_new (adj, 1.0, 8); //gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner), TRUE); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinner), TRUE); g_object_set(spinner, "xalign", 1.0, NULL); if(label) gtk_label_set_mnemonic_widget (GTK_LABEL(label), spinner); return spinner; } /* ** */ GtkWidget *make_numeric(GtkWidget *label, gdouble min, gdouble max) { GtkWidget *spinner; GtkAdjustment *adj; adj = (GtkAdjustment *) gtk_adjustment_new (0.0, min, max, 1.0, 10.0, 0.0); spinner = gtk_spin_button_new (adj, 0, 0); //gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner), TRUE); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinner), TRUE); g_object_set(spinner, "xalign", 1.0, NULL); if(label) gtk_label_set_mnemonic_widget (GTK_LABEL(label), spinner); return spinner; } /* ** */ GtkWidget *make_scale(GtkWidget *label) { GtkWidget *scale; scale = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, GTK_CHART_MINBARW, GTK_CHART_SPANBARW, 1.0); gtk_scale_set_draw_value(GTK_SCALE(scale), FALSE); gtk_range_set_value(GTK_RANGE(scale), GTK_CHART_BARW); if(label) gtk_label_set_mnemonic_widget (GTK_LABEL(label), scale); return scale; } /* ** */ GtkWidget *make_long(GtkWidget *label) { GtkWidget *spinner; spinner = make_numeric(label, 0.0, G_MAXINT); return spinner; } GtkWidget *make_year(GtkWidget *label) { GtkWidget *spinner; GtkAdjustment *adj; adj = (GtkAdjustment *) gtk_adjustment_new (0.0, 1900, 2200, 1.0, 10.0, 0.0); spinner = gtk_spin_button_new (adj, 0, 0); gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner), TRUE); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinner), TRUE); g_object_set(spinner, "xalign", 1.0, NULL); if(label) gtk_label_set_mnemonic_widget (GTK_LABEL(label), spinner); return spinner; } GtkWidget * create_popover (GtkWidget *parent, GtkWidget *child, GtkPositionType pos) { GtkWidget *popover; popover = gtk_popover_new (parent); gtk_popover_set_position (GTK_POPOVER (popover), pos); gtk_container_add (GTK_CONTAINER (popover), child); gtk_widget_show (child); gtk_widget_set_margin_start (child, SPACING_POPOVER); gtk_widget_set_margin_end (child, SPACING_POPOVER); gtk_widget_set_margin_top (child, SPACING_POPOVER); gtk_widget_set_margin_bottom (child, SPACING_POPOVER); return popover; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ gint hbtk_radio_button_get_active (GtkContainer *container) { GList *lchild, *list; GtkWidget *radio; gint i, retval = 0; if(!GTK_IS_CONTAINER(container)) return -1; lchild = list = gtk_container_get_children (container); for(i=0;list != NULL;i++) { radio = list->data; if(GTK_IS_TOGGLE_BUTTON(radio)) { if( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(radio)) == TRUE ) { retval = i; break; } } list = g_list_next(list); } g_list_free(lchild); return retval; } void hbtk_radio_button_set_active (GtkContainer *container, gint active) { GList *lchild, *list; GtkWidget *radio; if(!GTK_IS_CONTAINER(container)) return; lchild = list = gtk_container_get_children (container); radio = g_list_nth_data (list, active); if(radio != NULL && GTK_IS_TOGGLE_BUTTON(radio)) { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(radio), TRUE); } g_list_free(lchild); } GtkWidget *hbtk_radio_button_get_nth (GtkContainer *container, gint nth) { GList *lchild, *list; GtkWidget *radio; if(!GTK_IS_CONTAINER(container)) return NULL; lchild = list = gtk_container_get_children (container); radio = g_list_nth_data (list, nth); g_list_free(lchild); return radio; //may return NULL } void hbtk_radio_button_unblock_by_func(GtkContainer *container, GCallback c_handler, gpointer data) { GList *lchild, *list; GtkWidget *radio; gint i; if(!GTK_IS_CONTAINER(container)) return; lchild = list = gtk_container_get_children (container); for(i=0;list != NULL;i++) { radio = list->data; if(GTK_IS_TOGGLE_BUTTON(radio)) { g_signal_handlers_unblock_by_func (radio, c_handler, data); } list = g_list_next(list); } g_list_free(lchild); } void hbtk_radio_button_block_by_func(GtkContainer *container, GCallback c_handler, gpointer data) { GList *lchild, *list; GtkWidget *radio; gint i; if(!GTK_IS_CONTAINER(container)) return; lchild = list = gtk_container_get_children (container); for(i=0;list != NULL;i++) { radio = list->data; if(GTK_IS_TOGGLE_BUTTON(radio)) { g_signal_handlers_block_by_func (radio, c_handler, data); } list = g_list_next(list); } g_list_free(lchild); } void hbtk_radio_button_connect(GtkContainer *container, const gchar *detailed_signal, GCallback c_handler, gpointer data) { GList *lchild, *list; GtkWidget *radio; gint i; if(!GTK_IS_CONTAINER(container)) return; lchild = list = gtk_container_get_children (container); for(i=0;list != NULL;i++) { radio = list->data; if(GTK_IS_TOGGLE_BUTTON(radio)) { g_signal_connect (radio, "toggled", c_handler, data); } list = g_list_next(list); } g_list_free(lchild); } GtkWidget *hbtk_radio_button_new (gchar **items, gboolean buttonstyle) { GtkWidget *box, *button, *newbutton; guint i; box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); button = gtk_radio_button_new_with_label (NULL, _(items[0])); gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (button), !buttonstyle); gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0); for (i = 1; items[i] != NULL; i++) { newbutton = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), _(items[i])); gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (newbutton), !buttonstyle); gtk_box_pack_start (GTK_BOX (box), newbutton, FALSE, FALSE, 0); } if(buttonstyle) { gtk_style_context_add_class (gtk_widget_get_style_context (box), GTK_STYLE_CLASS_LINKED); gtk_style_context_add_class (gtk_widget_get_style_context (box), GTK_STYLE_CLASS_RAISED); } return box; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static gboolean is_separator (GtkTreeModel *model, GtkTreeIter *iter, gpointer data) { //GtkTreePath *path; gboolean retval; gchar *txt; gtk_tree_model_get (model, iter, 0, &txt, -1); retval = *txt == 0 ? TRUE : FALSE; //path = gtk_tree_model_get_path (model, iter); //result = gtk_tree_path_get_indices (path)[0] == 4; //gtk_tree_path_free (path); //leak g_free(txt); return retval; } GtkWidget *make_cycle(GtkWidget *label, gchar **items) { GtkWidget *combobox; guint i; combobox = gtk_combo_box_text_new (); for (i = 0; items[i] != NULL; i++) { if(*items[i] != 0) gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT(combobox), _(items[i])); else gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT(combobox), ""); } gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), 0); gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (combobox), is_separator, NULL, NULL); if(label) gtk_label_set_mnemonic_widget (GTK_LABEL(label), combobox); return combobox; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ #define HB_KV_BUFFER_MAX_LEN 8 #define HB_KV_ITEMS_MAX_LEN 32 gchar *hbtk_get_label(HbKvData *kvdata, guint32 key) { gchar *retval = NULL; guint32 i; for(i=0;iname == NULL ) break; if( tmp->key == key ) { //#1820372 retval = (gchar *)_(tmp->name); break; } } return retval; } static gboolean hbtk_combo_box_is_separator (GtkTreeModel *model, GtkTreeIter *iter, gpointer data) { //GtkTreePath *path; gboolean retval; gchar *txt; gtk_tree_model_get (model, iter, 0, &txt, -1); retval = *txt == 0 ? TRUE : FALSE; //leak g_free(txt); return retval; } guint32 hbtk_combo_box_get_active_id (GtkComboBoxText *combobox) { const gchar* buf; guint32 retval; buf = gtk_combo_box_get_active_id(GTK_COMBO_BOX(combobox)); retval = buf != NULL ? atoi(buf) : 0; return retval; } void hbtk_combo_box_set_active_id (GtkComboBoxText *combobox, guint32 key) { gchar buf[HB_KV_BUFFER_MAX_LEN]; g_snprintf(buf, HB_KV_BUFFER_MAX_LEN-1, "%d", key); gtk_combo_box_set_active_id(GTK_COMBO_BOX(combobox), buf); } void hbtk_combo_box_text_append (GtkComboBoxText *combobox, guint32 key, gchar *text) { gchar buf[HB_KV_BUFFER_MAX_LEN]; g_snprintf(buf, HB_KV_BUFFER_MAX_LEN-1, "%d", key); gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(combobox), buf, text); } GtkWidget *hbtk_combo_box_new (GtkWidget *label) { GtkWidget *combobox; combobox = gtk_combo_box_text_new(); if(label) gtk_label_set_mnemonic_widget (GTK_LABEL(label), combobox); return combobox; } GtkWidget *hbtk_combo_box_new_with_data (GtkWidget *label, HbKvData *kvdata) { GtkWidget *combobox = hbtk_combo_box_new(label); HbKvData *tmp; gboolean hassep; guint32 i; hassep = FALSE; for(i=0;iname == NULL ) break; if( *tmp->name != 0 ) { hbtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(combobox), tmp->key, (gchar *)_(tmp->name)); } else { hbtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(combobox), tmp->key, (gchar *)""); hassep = TRUE; } } gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), 0); if(hassep) gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (combobox), hbtk_combo_box_is_separator, NULL, NULL); return combobox; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void set_sensitive (GtkCellLayout *cell_layout, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data) { GtkTreePath *path; gint *indices; gboolean sensitive; path = gtk_tree_model_get_path (tree_model, iter); indices = gtk_tree_path_get_indices (path); sensitive = indices[0] != FLT_RANGE_OTHER; gtk_tree_path_free (path); g_object_set (cell, "sensitive", sensitive, NULL); } GtkWidget *make_daterange(GtkWidget *label, guint dspmode) { GtkWidget *combobox = hbtk_combo_box_new(label); GList *renderers, *list; HbKvData *tmp, *kvdata = CYA_FLT_RANGE; guint32 i; for(i=0;iname == NULL ) break; if( (tmp->key == FLT_RANGE_OTHER) ) { if( dspmode == DATE_RANGE_CUSTOM_DISABLE ) { renderers = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT(combobox)); if(g_list_length(renderers) == 1) { list = g_list_first(renderers); gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (combobox), list->data, set_sensitive, NULL, NULL); } g_list_free(renderers); } else if( dspmode == DATE_RANGE_CUSTOM_HIDE ) { //if hide, we do not show it i++; continue; } } hbtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(combobox), tmp->key, (*tmp->name != 0) ? (gchar *)_(tmp->name) : (gchar *)""); } gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), 0); gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (combobox), hbtk_combo_box_is_separator, NULL, NULL); return combobox; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /* id ofx english french --------------------------------------------------------------------- 0 -------- (none) (aucun) 1 -------- credit card carte de crédit 2 OFX_CHECK Check cheque 3 OFX_CASH Cash withdrawal retrait espece 4 OFX_XFER Transfer virement 5 -------- internal transfer virement compte 6 -------- (debit card) (carte de paiement 7 OFX_REPEATPMT Repeating payment/standing order Paiement recurrent/Virement auto. 8 OFX_PAYMENT Electronic payment télépaiement 9 OFX_DEP Deposit dépôt 10 OFX_FEE FI fee frais bancaires OFX_DIRECTDEBIT Merchant initiated debit prelevement OFX_OTHER Somer other type of transaction autre other OFX values: OFX_CREDIT Generic credit OFX_DEBIT Generic debit OFX_INT Interest earned or paid (Note: Depends on signage of amount) OFX_DIV Dividend OFX_SRVCHG Service charge -OFX_DEP Deposit OFX_ATM ATM debit or credit (Note: Depends on signage of amount) OFX_POS Point of sale debit or credit (Note: Depends on signage of amount) -OFX_XFER Transfer -OFX_CHECK Check -OFX_PAYMENT Electronic payment -OFX_CASH Cash withdrawal OFX_DIRECTDEP Direct deposit OFX_DIRECTDEBIT Merchant initiated debit -OFX_REPEATPMT Repeating payment/standing order OFX_OTHER Somer other type of transaction */ enum { LST_PAYMODE_KEY, LST_PAYMODE_ICONNAME, LST_PAYMODE_LABEL, NUM_LST_PAYMODE }; HbKivData CYA_TXN_PAYMODE[NUM_PAYMODE_MAX] = { { PAYMODE_NONE, "pm-none", N_("(none)") }, { PAYMODE_CCARD, "pm-ccard", N_("Credit card") }, { PAYMODE_CHECK, "pm-check", N_("Check") }, { PAYMODE_CASH, "pm-cash" , N_("Cash") }, { PAYMODE_XFER, "pm-transfer", N_("Bank Transfer") }, { PAYMODE_DCARD, "pm-dcard", N_("Debit card") }, { PAYMODE_REPEATPMT, "pm-standingorder", N_("Standing order") }, { PAYMODE_EPAYMENT, "pm-epayment", N_("Electronic payment") }, { PAYMODE_DEPOSIT, "pm-deposit", N_("Deposit") }, //TRANSLATORS: Financial institution fee { PAYMODE_FEE, "pm-fifee", N_("FI fee") }, { PAYMODE_DIRECTDEBIT, "pm-directdebit", N_("Direct Debit") }, { 0, NULL , NULL } }; /* nota: used in ui-filter */ const gchar *get_paymode_icon_name(guint32 key) { const gchar *retval = NULL; HbKivData *kivdata = CYA_TXN_PAYMODE; guint32 i; for(i=0;iname == NULL ) break; if( tmp->key == key ) { retval = tmp->iconname; break; } } return retval; } guint32 paymode_combo_box_get_active (GtkComboBox *combo_box) { GtkTreeModel *model; GtkTreeIter iter; model = gtk_combo_box_get_model (combo_box); if (gtk_combo_box_get_active_iter (combo_box, &iter)) { gint key; gtk_tree_model_get (model, &iter, LST_PAYMODE_KEY, &key, -1); return (guint32)key; } return 0; } void paymode_combo_box_set_active (GtkComboBox *combo_box, guint32 active_key) { GtkTreeModel *model; GtkTreeIter iter; model = gtk_combo_box_get_model (combo_box); if (gtk_tree_model_get_iter_first (model, &iter)) do { gint key; gtk_tree_model_get (model, &iter, LST_PAYMODE_KEY, &key, -1); if (key == (gint)active_key) { gtk_combo_box_set_active_iter (combo_box, &iter); break; } } while (gtk_tree_model_iter_next (model, &iter)); } /* ** Make a paymode combobox widget */ static GtkWidget *make_paymode_internal(GtkWidget *label, gboolean intxfer) { GtkListStore *store; GtkTreeIter iter; GtkWidget *combobox; GtkCellRenderer *renderer, *r1, *r2; HbKivData *tmp, *kvdata = CYA_TXN_PAYMODE; guint i; store = gtk_list_store_new ( NUM_LST_PAYMODE, G_TYPE_INT, G_TYPE_STRING, G_TYPE_STRING ); combobox = gtk_combo_box_new_with_model(GTK_TREE_MODEL(store)); //leak g_object_unref(store); renderer = r1 = gtk_cell_renderer_pixbuf_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(combobox), renderer, FALSE); gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT(combobox), renderer, "icon-name", LST_PAYMODE_ICONNAME); renderer = r2 = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(combobox), renderer, FALSE); gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT(combobox), renderer, "text", LST_PAYMODE_LABEL); //populate our combobox model for(i=0;iname == NULL ) break; gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, LST_PAYMODE_KEY, tmp->key, LST_PAYMODE_ICONNAME, tmp->iconname, LST_PAYMODE_LABEL, _(tmp->name), -1); } gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), 0); if(label) gtk_label_set_mnemonic_widget (GTK_LABEL(label), combobox); return combobox; } GtkWidget *make_paymode(GtkWidget *label) { return make_paymode_internal(label, TRUE); } GtkWidget *make_paymode_nointxfer(GtkWidget *label) { return make_paymode_internal(label, FALSE); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ #define NUM_NAINEX_MAX 3 enum { LST_NAINEX_ICONNAME, LST_NAINEX_LABEL, NUM_LST_NAINEX }; char *nainex_iconnames[NUM_NAINEX_MAX] = { "flt-inactive", "flt-include", "flt-exclude", }; extern gchar *nainex_label_names[]; /* ** Make a nainex combobox widget */ GtkWidget *make_nainex(GtkWidget *label) { GtkListStore *store; GtkTreeIter iter; GtkWidget *combobox; GtkCellRenderer *renderer; guint i; //store store = gtk_list_store_new ( NUM_LST_NAINEX, G_TYPE_STRING, G_TYPE_STRING ); //combobox combobox = gtk_combo_box_new_with_model(GTK_TREE_MODEL(store)); //column 1 renderer = gtk_cell_renderer_pixbuf_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(combobox), renderer, FALSE); gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT(combobox), renderer, "icon-name", LST_NAINEX_ICONNAME); renderer = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(combobox), renderer, FALSE); gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT(combobox), renderer, "text", LST_NAINEX_LABEL); gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), 0); //populate our combobox model for(i=0;i. */ #ifndef __HB_DSPACCOUNT_H__ #define __HB_DSPACCOUNT_H__ /* official GTK_RESPONSE are negative */ #define HB_RESPONSE_REFRESH 1 enum { ACTION_ACCOUNT_ADD, ACTION_ACCOUNT_INHERIT, ACTION_ACCOUNT_EDIT, ACTION_ACCOUNT_MULTIEDIT, ACTION_ACCOUNT_NONE, ACTION_ACCOUNT_CLEAR, ACTION_ACCOUNT_RECONCILE, ACTION_ACCOUNT_DELETE, ACTION_ACCOUNT_FILTER, ACTION_ACCOUNT_CLOSE, MAX_ACTION_ACCOUNT }; enum { HID_RANGE, HID_TYPE, HID_STATUS, HID_SEARCH, MAX_HID }; struct register_panel_data { GtkWidget *window; GtkWidget *IB_duplicate; GtkWidget *LB_duplicate; GtkWidget *NB_txn_daygap; GtkWidget *ME_menuacc, *ME_menuedit, *ME_menutxn, *ME_menutools, *ME_menustatus; GtkWidget *MI_exportqif, *MI_exportcsv, *MI_exportpdf, *MI_close; GtkWidget *MI_copy, *MI_pasten, *MI_pastet; GtkWidget *MI_add, *MI_herit, *MI_edit; GtkWidget *MI_statnone, *MI_statclear, *MI_statrecon; GtkWidget *MI_multiedit, *MI_template, *MI_delete; GtkWidget *MI_find; GtkWidget *MI_markdup, *MI_chkintxfer, *MI_autoassign, *MI_autopayee, *MI_filter, *MI_conveuro; GtkWidget *TB_bar; GtkWidget *BT_add, *BT_herit, *BT_edit; GtkWidget *BT_clear, *BT_reconcile; GtkWidget *BT_multiedit, *BT_template, *BT_delete; GtkWidget *BT_up, *BT_down; GtkWidget *CY_range; GtkWidget *CM_future; GtkWidget *CY_type; GtkWidget *CY_status; // GtkWidget *CY_month, *NB_year; GtkWidget *BT_reset, *BT_filter; GtkWidget *TX_selection; GtkWidget *ST_search; GtkWidget *TX_daterange; //GtkWidget *IM_closed; //GtkWidget *LB_name; GtkWidget *CM_minor; GtkWidget *TX_balance[3]; GtkWidget *LV_ope; gint busy; gchar *wintitle; Account *acc; Transaction *cur_ope; GQueue *q_txn_clip; //txn clipboard copy/paste GPtrArray *gpatxn; //quickfilter gboolean showall; gboolean do_sort; /* status counters */ gint hidden, total, similar; gdouble totalsum; Filter *filter; guint timer_tag; gulong handler_id[MAX_HID]; //gint change; /* change shouldbe done directly */ }; #define DEFAULT_DELAY 750 /* Default delay in ms */ GtkWidget *register_panel_window_new(Account *acc); void register_panel_window_init(GtkWidget *widget, gpointer user_data); #endif /* __HOMEBANK_DSPACCOUNT_H__ */ homebank-5.3.2/src/hub-spending.c0000664000175000017500000002513113604720365013556 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "dsp-mainwindow.h" #include "hub-spending.h" #include "gtk-chart.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; extern gchar *CYA_CATSUBCAT[]; static GtkWidget *create_list_topspending(void) { GtkListStore *store; GtkWidget *view; /* create list store */ store = gtk_list_store_new( NUM_LST_TOPSPEND, G_TYPE_INT, G_TYPE_INT, G_TYPE_STRING, //category G_TYPE_DOUBLE, //amount G_TYPE_INT //rate ); //treeview view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); g_object_unref(store); return(view); } static gint tmptop_compare_func(struct tmptop *tt1, struct tmptop *tt2) { return tt1->value > tt2->value ? 1 : -1; } void ui_hub_spending_update(GtkWidget *widget, gpointer user_data) { struct hbfile_data *data; GtkTreeModel *model; gchar *title; gchar strbuffer[G_ASCII_DTOSTR_BUF_SIZE]; DB( g_print("\n[hub-spendings] update\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); hb_strfmon(strbuffer, G_ASCII_DTOSTR_BUF_SIZE-1, data->toptotal, GLOBALS->kcur, GLOBALS->minor); //hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); title = g_strdup_printf("%s %s", _("Top spending"), strbuffer); model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_top)); gtk_chart_set_color_scheme(GTK_CHART(data->RE_pie), PREFS->report_color_scheme); gtk_chart_set_currency(GTK_CHART(data->RE_pie), GLOBALS->kcur); gtk_chart_set_datas(GTK_CHART(data->RE_pie), model, LST_TOPSPEND_AMOUNT, title, NULL); g_free(title); //future usage gchar *fu = _("Top %d spending"); title = fu; } void ui_hub_spending_populate(GtkWidget *widget, gpointer user_data) { struct hbfile_data *data; GtkTreeModel *model; GtkTreeIter iter; GList *list; gint type, range; guint n_result, i, n_items; GArray *garray; gdouble total, other; Account *acc; DB( g_print("\n[hub-spendings] populate\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); type = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_type)); range = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_range)); DB( g_print(" - type=%d, range=%d\n", type, range) ); DB( g_print(" - pref range=%d\n", PREFS->date_range_wal) ); if(range == FLT_RANGE_OTHER) return; filter_preset_daterange_set(data->filter, range, 0); n_result = da_cat_get_max_key() + 1; total = 0.0; DB( g_print(" - max key is %d\n", n_result) ); /* allocate some memory */ garray = g_array_sized_new(FALSE, FALSE, sizeof(struct tmptop), n_result); if(garray) { struct tmptop zero = { .key=0, .value=0.0 }; GQueue *txn_queue; //DB( g_print(" - array length=%d\n", garray->len) ); for(i=0 ; ikey, tt->value) ); } //DB( g_print("\n - end array length=%d\n", garray->len) ); //todo: not ideal, has ot force to get_acc for each txn below txn_queue = hbfile_transaction_get_partial(data->filter->mindate, data->filter->maxdate); /* compute the results */ list = g_queue_peek_head_link(txn_queue); while (list != NULL) { Transaction *ope = list->data; //DB( g_print(" - eval txn: '%s', cat=%d ==> flt-test=%d\n", ope->memo, ope->kcat, filter_txn_match(data->filter, ope)) ); if( !(ope->flags & OF_INTXFER) ) { guint32 pos = 0; gdouble trn_amount; //todo: optimize here trn_amount = ope->amount; acc = da_acc_get(ope->kacc); if(acc) trn_amount = hb_amount_base(ope->amount, acc->kcur); if( ope->flags & OF_SPLIT ) { guint nbsplit = da_splits_length(ope->splits); Split *split; struct tmptop *item; for(i=0;isplits, i); pos = category_report_id(split->kcat, type); if( pos <= garray->len ) { trn_amount = hb_amount_base(split->amount, acc->kcur); //trn_amount = split->amount; //#1297054 if( trn_amount < 0 ) { item = &g_array_index (garray, struct tmptop, pos); item->key = pos; item->value += trn_amount; //DB( g_print(" - stored %.2f to item %d\n", trn_amount, pos) ); //} } } } else { struct tmptop *item; pos = category_report_id(ope->kcat, type); if( pos <= garray->len ) { //#1297054 if( trn_amount < 0 ) { item = &g_array_index (garray, struct tmptop, pos); item->key = pos; item->value += trn_amount; //DB( g_print(" - stored %.2f to item %d\n", trn_amount, pos) ); //} } } } list = g_list_next(list); } g_queue_free (txn_queue); // we need to sort this and limit before g_array_sort(garray, (GCompareFunc)tmptop_compare_func); n_items = MIN(garray->len,MAX_TOPSPENDING); other = 0; for(i=0 ; ilen ; i++) { struct tmptop *item; item = &g_array_index (garray, struct tmptop, i); if(item->value < 0) { total += item->value; if(i >= n_items) other += item->value; DB( g_print(" - %d : k='%d' v='%f' t='%f'\n", i, item->key, item->value, total) ); } } model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_top)); gtk_list_store_clear (GTK_LIST_STORE(model)); g_object_ref(model); /* Make sure the model stays with us after the tree view unrefs it */ gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_top), NULL); /* Detach model from view */ /* insert into the treeview */ for(i=0 ; ilen,MAX_TOPSPENDING) ; i++) { gchar *name; Category *entry; struct tmptop *item; gdouble value; item = &g_array_index (garray, struct tmptop, i); if(!item->value) continue; //#1767659 top spending should restrict to... spending if(item->value < 0) { value = hb_amount_round(item->value, 2); entry = da_cat_get(item->key); if(entry == NULL) continue; name = da_cat_get_name (entry); // append test gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, LST_TOPSPEND_ID, i, LST_TOPSPEND_KEY, 0, LST_TOPSPEND_NAME, name, LST_TOPSPEND_AMOUNT, value, //LST_TOPSPEND_RATE, (gint)(((ABS(value)*100)/ABS(total)) + 0.5), -1); } } // append test if(ABS(other) > 0) { gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, LST_TOPSPEND_ID, n_items, LST_TOPSPEND_KEY, 0, LST_TOPSPEND_NAME, _("Other"), LST_TOPSPEND_AMOUNT, other, //LST_TOPSPEND_RATE, (gint)(((ABS(other)*100)/ABS(total)) + 0.5), -1); } /* Re-attach model to view */ gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_top), model); g_object_unref(model); // update chart and widgets { gchar *daterange; data->toptotal = total; ui_hub_spending_update(widget, data); daterange = filter_daterange_text_get(data->filter); gtk_widget_set_tooltip_markup(GTK_WIDGET(data->CY_range), daterange); g_free(daterange); } } /* free our memory */ g_array_free (garray, TRUE); } GtkWidget *ui_hub_spending_create(struct hbfile_data *data) { GtkWidget *hub, *hbox, *tbar; GtkWidget *label, *widget; GtkToolItem *toolitem; DB( g_print("\n[hub-spendings] create\n") ); widget = (GtkWidget *)create_list_topspending(); data->LV_top = widget; hub = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width(GTK_CONTAINER(hub), SPACING_SMALL); data->GR_top = hub; /* chart + listview */ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (hub), hbox, TRUE, TRUE, 0); widget = gtk_chart_new(CHART_TYPE_PIE); data->RE_pie = widget; gtk_chart_set_minor_prefs(GTK_CHART(widget), PREFS->euro_value, PREFS->minor_cur.symbol); gtk_chart_show_legend(GTK_CHART(data->RE_pie), TRUE, TRUE); gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); //list toolbar tbar = gtk_toolbar_new(); gtk_toolbar_set_icon_size (GTK_TOOLBAR(tbar), GTK_ICON_SIZE_MENU); gtk_toolbar_set_style(GTK_TOOLBAR(tbar), GTK_TOOLBAR_ICONS); gtk_style_context_add_class (gtk_widget_get_style_context (tbar), GTK_STYLE_CLASS_INLINE_TOOLBAR); gtk_box_pack_start (GTK_BOX (hub), tbar, FALSE, FALSE, 0); label = make_label_group(_("Where your money goes")); toolitem = gtk_tool_item_new(); gtk_container_add (GTK_CONTAINER(toolitem), label); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); toolitem = gtk_separator_tool_item_new (); gtk_tool_item_set_expand (toolitem, TRUE); gtk_separator_tool_item_set_draw(GTK_SEPARATOR_TOOL_ITEM(toolitem), FALSE); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); /* total + date range */ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); toolitem = gtk_tool_item_new(); gtk_container_add (GTK_CONTAINER(toolitem), hbox); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); data->CY_range = make_daterange(label, DATE_RANGE_CUSTOM_HIDE); gtk_box_pack_end (GTK_BOX (hbox), data->CY_range, FALSE, FALSE, 0); widget = hbtk_radio_button_new(CYA_CATSUBCAT, TRUE); data->RA_type = widget; gtk_box_pack_end (GTK_BOX (hbox), widget, FALSE, FALSE, 0); hbtk_radio_button_connect (GTK_CONTAINER(data->RA_type), "toggled", G_CALLBACK (ui_hub_spending_populate), NULL); g_signal_connect (data->CY_range, "changed", G_CALLBACK (ui_hub_spending_populate), NULL); return hub; } homebank-5.3.2/src/ui-widgets.h0000644000175000017500000001142513611600016013244 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_WIDGETS_GTK_H__ #define __HB_WIDGETS_GTK_H__ typedef struct _hbtk_kv_data HbKvData; typedef struct _hbtk_kiv_data HbKivData; struct _hbtk_kv_data { guint32 key; const gchar *name; }; struct _hbtk_kiv_data { guint32 key; const gchar *iconname; const gchar *name; }; #define HBTK_IS_SEPARATOR -66 enum { DATE_RANGE_CUSTOM_SHOW, DATE_RANGE_CUSTOM_HIDE, DATE_RANGE_CUSTOM_DISABLE }; GtkWidget *make_label(gchar *str, gfloat xalign, gfloat yalign); GtkWidget *make_clicklabel(gchar *id, gchar *str); GtkWidget *make_label_group(gchar *str); GtkWidget *make_label_widget(gchar *str); GtkWidget *make_text(gfloat xalign); GtkWidget *make_search(void); GtkWidget *make_string(GtkWidget *label); GtkWidget *hbtk_menubar_add_menu(GtkWidget *menubar, gchar *label, GtkWidget **menuitem_ptr); GtkWidget *hbtk_menu_add_menuitem(GtkWidget *menu, gchar *label); GtkWidget *hbtk_toolbar_add_toolbutton(GtkToolbar *toolbar, gchar *icon_name, gchar *label, gchar *tooltip_text); GtkWidget *make_image_toggle_button(gchar *icon_name, gchar *tooltip_text); GtkWidget *make_image_button(gchar *icon_name, gchar *tooltip_text); GtkWidget *make_memo_entry(GtkWidget *label); GtkWidget *make_string_maxlength(GtkWidget *label, guint max_length); GtkWidget *make_entry_numeric(GtkWidget *label, gint min, gint max); GtkWidget *make_amount(GtkWidget *label); GtkWidget *make_exchange_rate(GtkWidget *label); GtkWidget *make_numeric(GtkWidget *label, gdouble min, gdouble max); GtkWidget *make_scale(GtkWidget *label); GtkWidget *make_long(GtkWidget *label); GtkWidget *make_year(GtkWidget *label); GtkWidget *make_cycle(GtkWidget *label, gchar **items); GtkWidget *make_daterange(GtkWidget *label, guint dspmode); GtkWidget *create_popover (GtkWidget *parent, GtkWidget *child, GtkPositionType pos); void ui_label_set_integer(GtkLabel *label, gint value); void hbtk_listview_redraw_selected_row(GtkTreeView *treeview); gchar *hbtk_get_label(HbKvData *kvdata, guint32 key); guint32 hbtk_combo_box_get_active_id (GtkComboBoxText *combobox); void hbtk_combo_box_set_active_id (GtkComboBoxText *combobox, guint32 active_id); void hbtk_combo_box_text_append (GtkComboBoxText *combobox, guint32 key, gchar *text); GtkWidget *hbtk_combo_box_new (GtkWidget *label); GtkWidget *hbtk_combo_box_new_with_data (GtkWidget *label, HbKvData *kvdata); gint hbtk_radio_button_get_active (GtkContainer *container); void hbtk_radio_button_set_active (GtkContainer *container, gint active); GtkWidget *hbtk_radio_button_get_nth (GtkContainer *container, gint nth); void hbtk_radio_button_unblock_by_func(GtkContainer *container, GCallback c_handler, gpointer data); void hbtk_radio_button_block_by_func(GtkContainer *container, GCallback c_handler, gpointer data); void hbtk_radio_button_connect(GtkContainer *container, const gchar *detailed_signal, GCallback c_handler, gpointer data); GtkWidget *hbtk_radio_button_new (gchar **items, gboolean buttonstyle); void gimp_label_set_attributes (GtkLabel *label, ...); void hb_widget_visible(GtkWidget *widget, gboolean visible); void hbtk_entry_tag_name_append(GtkEntry *entry, gchar *tagname); void hbtk_entry_set_text(GtkEntry *entry, gchar *text); void hbtk_entry_replace_text(GtkEntry *entry, gchar **storage); /* guint make_popaccount_populate(GtkComboBox *combobox, GList *srclist); GtkWidget *make_popaccount(GtkWidget *label); guint make_poppayee_populate(GtkComboBox *combobox, GList *srclist); GtkWidget *make_poppayee(GtkWidget *label); guint make_poparchive_populate(GtkComboBox *combobox, GList *srclist); GtkWidget *make_poparchive(GtkWidget *label); guint make_popcategory_populate(GtkComboBox *combobox, GList *srclist); GtkWidget *make_popcategory(GtkWidget *label); */ const gchar *get_paymode_icon_name(guint32 key); guint32 paymode_combo_box_get_active (GtkComboBox *combo_box); void paymode_combo_box_set_active (GtkComboBox *combo_box, guint32 active_key); GtkWidget *make_paymode(GtkWidget *label); GtkWidget *make_paymode_nointxfer(GtkWidget *label); GtkWidget *make_nainex(GtkWidget *label); #endif homebank-5.3.2/src/hb-archive.c0000644000175000017500000003306413604720365013205 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hb-archive.h" #include "hb-split.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void da_archive_clean(Archive *item) { if(item != NULL) { if(item->memo != NULL) { g_free(item->memo); item->memo = NULL; } if(item->info != NULL) { g_free(item->info); item->info = NULL; } //5.3 added as it was a leak if(item->tags != NULL) { g_free(item->tags); item->tags = NULL; } if(item->splits != NULL) { da_split_destroy(item->splits); item->splits = NULL; item->flags &= ~(OF_SPLIT); //Flag that Splits are cleared } } } void da_archive_free(Archive *item) { if(item != NULL) { da_archive_clean(item); g_free(item); } } Archive *da_archive_malloc(void) { Archive *item; item = g_malloc0(sizeof(Archive)); item->key = 1; return item; } Archive *da_archive_clone(Archive *src_item) { Archive *new_item = g_memdup(src_item, sizeof(Archive)); if(new_item) { //duplicate the string new_item->memo = g_strdup(src_item->memo); new_item->info = g_strdup(src_item->info); //duplicate tags //no g_free here to avoid free the src tags (memdup copie dthe ptr) new_item->tags = tags_clone(src_item->tags); //duplicate splits //no g_free here to avoid free the src tags (memdup copie dthe ptr) new_item->splits = da_splits_clone(src_item->splits); if( da_splits_length (new_item->splits) > 0 ) new_item->flags |= OF_SPLIT; //Flag that Splits are active } return new_item; } void da_archive_destroy(GList *list) { GList *tmplist = g_list_first(list); while (tmplist != NULL) { Archive *item = tmplist->data; da_archive_free(item); tmplist = g_list_next(tmplist); } g_list_free(list); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static gint da_archive_glist_compare_func(Archive *a, Archive *b) { return hb_string_utf8_compare(a->memo, b->memo); } GList *da_archive_sort(GList *list) { return g_list_sort(list, (GCompareFunc)da_archive_glist_compare_func); } guint da_archive_length(void) { return g_list_length(GLOBALS->arc_list); } /* append a fav with an existing key (from xml file only) */ gboolean da_archive_append(Archive *item) { //perf must use preprend, see glib doc //GLOBALS->arc_list = g_list_append(GLOBALS->arc_list, item); GLOBALS->arc_list = g_list_prepend(GLOBALS->arc_list, item); return TRUE; } gboolean da_archive_append_new(Archive *item) { item->key = da_archive_get_max_key() + 1; //TODO: perf must use preprend, see glib doc GLOBALS->arc_list = g_list_append(GLOBALS->arc_list, item); return TRUE; } guint32 da_archive_get_max_key(void) { GList *tmplist = g_list_first(GLOBALS->arc_list); guint32 max_key = 0; while (tmplist != NULL) { Archive *item = tmplist->data; max_key = MAX(item->key, max_key); tmplist = g_list_next(tmplist); } return max_key; } Archive * da_archive_get(guint32 key) { GList *tmplist; Archive *retval = NULL; tmplist = g_list_first(GLOBALS->arc_list); while (tmplist != NULL) { Archive *item = tmplist->data; if(item->key == key) { retval = item; break; } tmplist = g_list_next(tmplist); } return retval; } void da_archive_consistency(Archive *item) { Account *acc; Category *cat; Payee *pay; guint nbsplit; // check category exists cat = da_cat_get(item->kcat); if(cat == NULL) { g_warning("tpl consistency: fixed invalid cat %d", item->kcat); item->kcat = 0; GLOBALS->changes_count++; } //#1340142 check split category if( item->splits != NULL ) { nbsplit = da_splits_consistency(item->splits); //# 1416624 empty category when split if(nbsplit > 0 && item->kcat > 0) { g_warning("tpl consistency: fixed invalid cat on split txn"); item->kcat = 0; GLOBALS->changes_count++; } } // check payee exists pay = da_pay_get(item->kpay); if(pay == NULL) { g_warning("tpl consistency: fixed invalid pay %d", item->kpay); item->kpay = 0; GLOBALS->changes_count++; } // 5.3: fix split on intxfer if( ((item->flags & OF_INTXFER) || (item->paymode == OLDPAYMODE_INTXFER)) && (item->splits != NULL) ) { g_warning("tpl consistency: fixed invalid split on xfer"); item->flags &= ~(OF_INTXFER); item->paymode = PAYMODE_XFER; item->kxferacc = 0; } // reset dst acc for non xfer transaction if( !((item->flags & OF_INTXFER) || (item->paymode == OLDPAYMODE_INTXFER)) ) item->kxferacc = 0; // delete automation if dst_acc not exists if( (item->flags & OF_INTXFER) || (item->paymode == OLDPAYMODE_INTXFER) ) { acc = da_acc_get(item->kxferacc); if(acc == NULL) { item->flags &= ~(OF_AUTO); //delete flag } } } /* = = = = = = = = = = = = = = = = = = = = */ Archive *da_archive_init_from_transaction(Archive *arc, Transaction *txn) { DB( g_print("\n[scheduled] init from txn\n") ); da_archive_clean(arc); //fill it arc->amount = txn->amount; arc->kacc = txn->kacc; arc->kxferacc = txn->kxferacc; arc->paymode = txn->paymode; arc->flags = txn->flags; arc->status = txn->status; arc->kpay = txn->kpay; arc->kcat = txn->kcat; if(txn->memo != NULL) arc->memo = g_strdup(txn->memo); if(txn->info != NULL) arc->info = g_strdup(txn->info); arc->tags = tags_clone(txn->tags); arc->splits = da_splits_clone(txn->splits); if( da_splits_length (arc->splits) > 0 ) arc->flags |= OF_SPLIT; //Flag that Splits are active return arc; } static guint32 _sched_date_get_next_post(GDate *tmpdate, Archive *arc, guint32 nextdate) { guint32 nextpostdate = nextdate; //DB( g_print("\n[scheduled] date_get_next_post\n") ); g_date_set_julian(tmpdate, nextpostdate); //DB( g_print("in : %2d-%2d-%4d\n", g_date_get_day(tmpdate), g_date_get_month (tmpdate), g_date_get_year(tmpdate) ) ); switch(arc->unit) { case AUTO_UNIT_DAY: g_date_add_days(tmpdate, arc->every); break; case AUTO_UNIT_WEEK: g_date_add_days(tmpdate, 7 * arc->every); break; case AUTO_UNIT_MONTH: g_date_add_months(tmpdate, arc->every); break; case AUTO_UNIT_YEAR: g_date_add_years(tmpdate, arc->every); break; } //DB( g_print("out: %2d-%2d-%4d\n", g_date_get_day(tmpdate), g_date_get_month (tmpdate), g_date_get_year(tmpdate) ) ); /* get the final post date and free */ nextpostdate = g_date_get_julian(tmpdate); return nextpostdate; } gboolean scheduled_is_postable(Archive *arc) { gdouble value; value = hb_amount_round(arc->amount, 2); if( (arc->flags & OF_AUTO) && (arc->kacc > 0) && (value != 0.0) ) return TRUE; return FALSE; } guint32 scheduled_get_postdate(Archive *arc, guint32 postdate) { GDate *tmpdate; GDateWeekday wday; guint32 finalpostdate; gint shift; DB( g_print("\n[scheduled] get_postdate\n") ); finalpostdate = postdate; tmpdate = g_date_new_julian(finalpostdate); /* manage weekend exception */ if( arc->weekend > 0 ) { wday = g_date_get_weekday(tmpdate); DB( g_print(" %s wday=%d\n", arc->memo, wday) ); if( wday >= G_DATE_SATURDAY ) { switch(arc->weekend) { case 1: /* shift before : sun 7-5=+2 , sat 6-5=+1 */ shift = wday - G_DATE_FRIDAY; DB( g_print("sub=%d\n", shift) ); g_date_subtract_days (tmpdate, shift); break; case 2: /* shift after : sun 8-7=1 , sat 8-6=2 */ shift = 8 - wday; DB( g_print("add=%d\n", shift) ); g_date_add_days (tmpdate, shift); break; } } } /* get the final post date and free */ finalpostdate = g_date_get_julian(tmpdate); g_date_free(tmpdate); return finalpostdate; } guint32 scheduled_get_latepost_count(Archive *arc, guint32 jrefdate) { GDate *post_date; guint32 curdate; guint32 nblate = 0; //DB( g_print("\n[scheduled] get_latepost_count\n") ); /* curdate = jrefdate - arc->nextdate; switch(arc->unit) { case AUTO_UNIT_DAY: nbpost = (curdate / arc->every); g_print("debug d: %d => %f\n", curdate, nbpost); break; case AUTO_UNIT_WEEK: nbpost = (curdate / ( 7 * arc->every)); g_print("debug w: %d => %f\n", curdate, nbpost); break; case AUTO_UNIT_MONTH: //approximate is sufficient nbpost = (curdate / (( 365.2425 / 12) * arc->every)); g_print("debug m: %d => %f\n", curdate, nbpost); break; case AUTO_UNIT_YEAR: //approximate is sufficient nbpost = (curdate / ( 365.2425 * arc->every)); g_print("debug y: %d => %f\n", curdate, nbpost); break; } nblate = floor(nbpost); if(arc->flags & OF_LIMIT) nblate = MIN(nblate, arc->limit); nblate = MIN(nblate, 11); */ // pre 5.1 way post_date = g_date_new(); curdate = arc->nextdate; while(curdate <= jrefdate) { curdate = _sched_date_get_next_post(post_date, arc, curdate); nblate++; // break if over limit or at 11 max (to display +10) if( nblate >= 11 || ( (arc->flags & OF_LIMIT) && (nblate >= arc->limit) ) ) break; } //DB( g_print(" nblate=%d\n", nblate) ); g_date_free(post_date); return nblate; } /* return 0 is max number of post is reached */ guint32 scheduled_date_advance(Archive *arc) { GDate *post_date; gushort lastday; DB( g_print("\n[scheduled] date_advance\n") ); DB( g_print(" arc: '%s'\n", arc->memo ) ); post_date = g_date_new(); g_date_set_julian(post_date, arc->nextdate); // saved the current day number lastday = g_date_get_day(post_date); arc->nextdate = _sched_date_get_next_post(post_date, arc, arc->nextdate); DB( g_print(" raw next post date: %2d-%2d-%4d\n", g_date_get_day(post_date), g_date_get_month (post_date), g_date_get_year(post_date) ) ); //for day > 28 we might have a gap to compensate later if( (arc->unit==AUTO_UNIT_MONTH) || (arc->unit==AUTO_UNIT_YEAR) ) { if( lastday >= 28 ) { DB( g_print(" lastday:%d, daygap:%d\n", lastday, arc->daygap) ); if( arc->daygap > 0 ) { g_date_add_days (post_date, arc->daygap); arc->nextdate = g_date_get_julian (post_date); lastday += arc->daygap; DB( g_print(" adjusted post date: %2d-%2d-%4d\n", g_date_get_day(post_date), g_date_get_month (post_date), g_date_get_year(post_date) ) ); } arc->daygap = CLAMP(lastday - g_date_get_day(post_date), 0, 3); DB( g_print(" daygap is %d\n", arc->daygap) ); } else arc->daygap = 0; } //#1556289 /* check limit, update and maybe break */ if(arc->flags & OF_LIMIT) { arc->limit--; if(arc->limit <= 0) { arc->flags ^= (OF_LIMIT | OF_AUTO); // invert flags arc->nextdate = 0; } } g_date_free(post_date); return arc->nextdate; } /* * return the maximum date a scheduled txn can be posted to */ guint32 scheduled_date_get_post_max(void) { guint nbdays; GDate *today, *maxdate; DB( g_print("\n[scheduled] date_get_post_max\n") ); //add until xx of the next month (excluded) if(GLOBALS->auto_smode == 0) { DB( g_print(" - max is %d of next month\n", GLOBALS->auto_weekday) ); today = g_date_new_julian(GLOBALS->today); //we compute user xx weekday of next month maxdate = g_date_new_julian(GLOBALS->today); g_date_set_day(maxdate, GLOBALS->auto_weekday); if(g_date_get_day (today) >= GLOBALS->auto_weekday) g_date_add_months(maxdate, 1); nbdays = g_date_days_between(today, maxdate); g_date_free(maxdate); g_date_free(today); } else { nbdays = GLOBALS->auto_nbdays; } DB( hb_print_date(GLOBALS->today, "today") ); DB( g_print(" - %d nbdays\n", nbdays) ); DB( hb_print_date(GLOBALS->today + nbdays, "maxpostdate") ); return GLOBALS->today + nbdays; } gint scheduled_post_all_pending(void) { GList *list; gint count; guint32 maxpostdate; Transaction *txn; DB( g_print("\n[scheduled] post_all_pending\n") ); count = 0; maxpostdate = scheduled_date_get_post_max(); txn = da_transaction_malloc(); list = g_list_first(GLOBALS->arc_list); while (list != NULL) { Archive *arc = list->data; DB( g_print("\n eval %d for '%s'\n", scheduled_is_postable(arc), arc->memo) ); if(scheduled_is_postable(arc) == TRUE) { DB( g_print(" - every %d limit %d (to %d)\n", arc->every, arc->flags & OF_LIMIT, arc->limit) ); DB( hb_print_date(arc->nextdate, "next post") ); if(arc->nextdate < maxpostdate) { guint32 mydate = arc->nextdate; while(mydate < maxpostdate) { DB( hb_print_date(mydate, arc->memo) ); da_transaction_init_from_template(txn, arc); txn->date = scheduled_get_postdate(arc, mydate); /* todo: ? fill in cheque number */ transaction_add(NULL, txn); GLOBALS->changes_count++; count++; mydate = scheduled_date_advance(arc); //DB( hb_print_date(mydate, "next on") ); if(mydate == 0) goto nextarchive; } } } nextarchive: list = g_list_next(list); } da_transaction_free (txn); return count; } homebank-5.3.2/src/hb-account.c0000644000175000017500000002700513604720365013216 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hb-account.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; void da_acc_free(Account *item) { DB( g_print("da_acc_free\n") ); if(item != NULL) { DB( g_print(" => %d, %s\n", item->key, item->name) ); g_free(item->name); g_free(item->number); g_free(item->bankname); g_free(item->notes); g_queue_free (item->txn_queue); g_free(item); } } Account * da_acc_malloc(void) { Account *item; DB( g_print("da_acc_malloc\n") ); item = g_malloc0(sizeof(Account)); item->kcur = GLOBALS->kcur; item->txn_queue = g_queue_new (); return item; } void da_acc_destroy(void) { DB( g_print("da_acc_destroy\n") ); g_hash_table_destroy(GLOBALS->h_acc); } void da_acc_new(void) { DB( g_print("da_acc_new\n") ); GLOBALS->h_acc = g_hash_table_new_full(g_int_hash, g_int_equal, (GDestroyNotify)g_free, (GDestroyNotify)da_acc_free); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /** * da_acc_length: * * Return value: the number of elements */ guint da_acc_length(void) { return g_hash_table_size(GLOBALS->h_acc); } static void da_acc_max_key_ghfunc(gpointer key, Account *item, guint32 *max_key) { *max_key = MAX(*max_key, item->key); } /** * da_acc_get_max_key: * * Get the biggest key from the GHashTable * * Return value: the biggest key value * */ guint32 da_acc_get_max_key(void) { guint32 max_key = 0; g_hash_table_foreach(GLOBALS->h_acc, (GHFunc)da_acc_max_key_ghfunc, &max_key); return max_key; } /** * da_acc_remove: * * delete an account from the GHashTable * * Return value: TRUE if the key was found and deleted * */ gboolean da_acc_remove(guint32 key) { DB( g_print("da_acc_remove %d\n", key) ); return g_hash_table_remove(GLOBALS->h_acc, &key); } /** * da_acc_insert: * * insert an account into the GHashTable * * Return value: TRUE if inserted * */ gboolean da_acc_insert(Account *item) { guint32 *new_key; DB( g_print("da_acc_insert\n") ); new_key = g_new0(guint32, 1); *new_key = item->key; g_hash_table_insert(GLOBALS->h_acc, new_key, item); return TRUE; } /** * da_acc_append: * * insert an account into the GHashTable * * Return value: TRUE if inserted * */ gboolean da_acc_append(Account *item) { Account *existitem; DB( g_print("da_acc_append\n") ); existitem = da_acc_get_by_name( item->name ); if( existitem == NULL ) { item->key = da_acc_get_max_key() + 1; item->pos = da_acc_length() + 1; da_acc_insert(item); return TRUE; } DB( g_print(" -> %s already exist: %d\n", item->name, item->key) ); return FALSE; } static gboolean da_acc_name_grfunc(gpointer key, Account *item, gchar *name) { if( name && item->name ) { if(!strcasecmp(name, item->name)) return TRUE; } return FALSE; } /** * da_acc_get_by_name: * * Get an account structure by its name * * Return value: Account * or NULL if not found * */ Account * da_acc_get_by_name(gchar *rawname) { Account *retval = NULL; gchar *stripname; DB( g_print("da_acc_get_by_name\n") ); if( rawname ) { stripname = g_strdup(rawname); g_strstrip(stripname); if( strlen(stripname) > 0 ) retval = g_hash_table_find(GLOBALS->h_acc, (GHRFunc)da_acc_name_grfunc, stripname); g_free(stripname); } return retval; } /** * da_acc_get: * * Get an account structure by key * * Return value: Account * or NULL if not found * */ Account * da_acc_get(guint32 key) { //DB( g_print("da_acc_get\n") ); return g_hash_table_lookup(GLOBALS->h_acc, &key); } void da_acc_consistency(Account *item) { g_strstrip(item->name); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ #if MYDEBUG static void da_acc_debug_list_ghfunc(gpointer key, gpointer value, gpointer user_data) { guint32 *id = key; Account *item = value; DB( g_print(" %d :: %s\n", *id, item->name) ); } static void da_acc_debug_list(void) { DB( g_print("\n** debug **\n") ); g_hash_table_foreach(GLOBALS->h_acc, da_acc_debug_list_ghfunc, NULL); DB( g_print("\n** end debug **\n") ); } #endif static gint account_glist_name_compare_func(Account *a, Account *b) { return hb_string_utf8_compare(a->name, b->name); } static gint account_glist_key_compare_func(Account *a, Account *b) { return a->key - b->key; } GList *account_glist_sorted(gint column) { GList *list = g_hash_table_get_values(GLOBALS->h_acc); if(column == 0) return g_list_sort(list, (GCompareFunc)account_glist_key_compare_func); else return g_list_sort(list, (GCompareFunc)account_glist_name_compare_func); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ GtkWindow * account_window(guint32 key) { Account *acc = da_acc_get(key); if( acc != NULL && acc->window != NULL ) { if( GTK_IS_WINDOW(acc->window) ) return acc->window; } return NULL; } /** * account_is_used: * * controls if an account is used by any archive or transaction * * Return value: TRUE if used, FALSE, otherwise */ gboolean account_is_used(guint32 key) { Account *acc; GList *list; GList *lst_acc, *lnk_acc; GList *lnk_txn; gboolean retval; retval = FALSE; lst_acc = NULL; acc = da_acc_get(key); if( g_queue_get_length(acc->txn_queue) > 0 ) { retval = TRUE; goto end; } lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; if(acc->key != key) { lnk_txn = g_queue_peek_head_link(acc->txn_queue); while (lnk_txn != NULL) { Transaction *entry = lnk_txn->data; if( key == entry->kxferacc) { retval = TRUE; goto end; } lnk_txn = g_list_next(lnk_txn); } } lnk_acc = g_list_next(lnk_acc); } list = g_list_first(GLOBALS->arc_list); while (list != NULL) { Archive *entry = list->data; if( key == entry->kacc || key == entry->kxferacc) { retval = TRUE; goto end; } list = g_list_next(list); } end: g_list_free(lst_acc); return retval; } static gchar * account_get_stripname(gchar *name) { gchar *stripname = g_strdup(name); g_strstrip(stripname); return stripname; } gboolean account_exists(gchar *name) { Account *existitem; gchar *stripname = account_get_stripname(name); existitem = da_acc_get_by_name(stripname); g_free(stripname); return existitem == NULL ? FALSE : TRUE; } gboolean account_rename(Account *item, gchar *newname) { Account *existitem; gchar *stripname = account_get_stripname(newname); if( strlen(stripname) > 0 ) { existitem = da_acc_get_by_name(stripname); if( existitem == NULL ) { g_free(item->name); item->name = g_strdup(stripname); return TRUE; } g_free(stripname); } return FALSE; } /* * change the account currency * change every txn to currency * ensure dst xfer transaction account will be set to same currency */ void account_set_currency(Account *acc, guint32 kcur) { GList *list; Account *dstacc; gboolean *xfer_list; guint32 maxkey, i; DB( g_print("\n[account] set currency\n") ); if(acc->kcur == kcur) { DB( g_print(" - already ok, return\n") ); return; } DB( g_print(" - set for '%s'\n", acc->name) ); maxkey = da_acc_get_max_key () + 1; xfer_list = g_malloc0(sizeof(gboolean) * maxkey ); DB( g_print(" - alloc for %d account\n", da_acc_length() ) ); list = g_queue_peek_head_link(acc->txn_queue); while (list != NULL) { Transaction *txn = list->data; txn->kcur = kcur; if( (txn->flags & OF_INTXFER) && (txn->kxferacc > 0) && (txn->kxfer > 0) ) { xfer_list[txn->kxferacc] = TRUE; } list = g_list_next(list); } acc->kcur = kcur; DB( g_print(" - '%s'\n", acc->name) ); for(i=1;ibal_future -= trn->amount; if(trn->date <= GLOBALS->today) acc->bal_today -= trn->amount; if(trn->status == TXN_STATUS_RECONCILED) //if(trn->flags & OF_VALID) acc->bal_bank -= trn->amount; } /** * private function to add transaction amount from account balances */ static void account_balances_add_internal(Account *acc, Transaction *trn) { acc->bal_future += trn->amount; if(trn->date <= GLOBALS->today) acc->bal_today += trn->amount; if(trn->status == TXN_STATUS_RECONCILED) //if(trn->flags & OF_VALID) acc->bal_bank += trn->amount; } /** * public function to sub transaction amount from account balances */ gboolean account_balances_sub(Transaction *trn) { if( transaction_is_balanceable(trn) ) //if(!(trn->flags & OF_REMIND)) { Account *acc = da_acc_get(trn->kacc); if(acc == NULL) return FALSE; account_balances_sub_internal(acc, trn); return TRUE; } return FALSE; } /** * public function to add transaction amount from account balances */ gboolean account_balances_add(Transaction *trn) { if( transaction_is_balanceable(trn) ) //if(!(trn->flags & OF_REMIND)) { Account *acc = da_acc_get(trn->kacc); if(acc == NULL) return FALSE; account_balances_add_internal(acc, trn); return TRUE; } return FALSE; } //todo: optim called 2 times from dsp_mainwindow void account_compute_balances(void) { GList *lst_acc, *lnk_acc; GList *lnk_txn; DB( g_print("\naccount_compute_balances start\n") ); lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; /* set initial amount */ acc->bal_bank = acc->initial; acc->bal_today = acc->initial; acc->bal_future = acc->initial; /* add every txn */ lnk_txn = g_queue_peek_head_link(acc->txn_queue); while (lnk_txn != NULL) { Transaction *txn = lnk_txn->data; if( transaction_is_balanceable(txn) ) { account_balances_add_internal(acc, txn); } lnk_txn = g_list_next(lnk_txn); } lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); DB( g_print("\naccount_compute_balances end\n") ); } void account_convert_euro(Account *acc) { GList *lnk_txn; lnk_txn = g_queue_peek_head_link(acc->txn_queue); while (lnk_txn != NULL) { Transaction *txn = lnk_txn->data; gdouble oldamount = txn->amount; txn->amount = hb_amount_to_euro(oldamount); DB( g_print("%10.6f => %10.6f, %s\n", oldamount, txn->amount, txn->memo) ); //todo: sync child xfer lnk_txn = g_list_next(lnk_txn); } acc->initial = hb_amount_to_euro(acc->initial); acc->warning = hb_amount_to_euro(acc->warning); acc->minimum = hb_amount_to_euro(acc->minimum); } homebank-5.3.2/src/ui-tag.h0000664000175000017500000000327413604720371012367 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_TAG_GTK_H__ #define __HB_TAG_GTK_H__ enum { LST_DEFTAG_TOGGLE, LST_DEFTAG_DATAS, NUM_LST_DEFTAG }; struct ui_tag_manage_dialog_data { GtkWidget *dialog; GtkWidget *ST_name; GtkWidget *LV_tag; GtkWidget *BT_add; GtkWidget *BT_edit; GtkWidget *BT_delete; gint change; }; struct ui_tag_dialog_data { GtkWidget *dialog; }; /* = = = = = = = = = = */ void ui_tag_combobox_populate(GtkComboBoxText *combobox); GtkWidget *ui_tag_combobox_new(GtkWidget *label); GtkWidget * ui_tag_popover_list(GtkWidget *entry); /* = = = = = = = = = = */ void ui_tag_listview_add(GtkTreeView *treeview, Tag *item); guint32 ui_tag_listview_get_selected_key(GtkTreeView *treeview); void ui_tag_listview_remove_selected(GtkTreeView *treeview); void ui_tag_listview_populate(GtkWidget *view, gint insert_type); GtkWidget *ui_tag_listview_new(gboolean withtoggle); GtkWidget *ui_tag_manage_dialog (void); #endif homebank-5.3.2/src/ui-budget-tabview.h0000644000175000017500000000367413611577744014543 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 2018-2019 Adrien Dorsaz * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_BUD_TABVIEW_H__ #define __HB_BUD_TABVIEW_H__ //by default Maxime don't want table budget view to add/remove/rename categories #define HB_BUD_TABVIEW_EDIT_ENABLE 0 struct ui_bud_tabview_data { GtkWidget *dialog; // Number of changes to notify globally gint change; // Tree view with budget GtkWidget *TV_budget; GtkTreeViewColumn *TVC_category; GtkTreeSelection *TV_selection; // Radio buttons of view mode GtkWidget *RA_mode; // Tool bar #if HB_BUD_TABVIEW_EDIT_ENABLE GtkWidget *BT_category_add, *BT_category_delete, *BT_category_merge; #endif GtkWidget *BT_category_reset, *BT_category_force_monitoring; gulong HID_category_monitoring_toggle; GtkWidget *BT_expand, *BT_collapse; // Should the tree be collapsed gboolean TV_is_expanded; #if HB_BUD_TABVIEW_EDIT_ENABLE // Add Dialog GtkWidget *COMBO_add_parent, *EN_add_name, *BT_apply; // Merge Dialog GtkWidget *COMBO_merge_target, *CHECK_merge_delete; guint32 MERGE_source_category_key; #endif // Search GtkWidget *EN_search; GtkUIManager *ui; }; typedef struct ui_bud_tabview_data ui_bud_tabview_data_t; GtkWidget *ui_bud_tabview_manage_dialog(void); #endif homebank-5.3.2/src/hb-transaction.h0000644000175000017500000001033513606651451014113 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_TRANSACTION_H__ #define __HB_TRANSACTION_H__ #include "hb-split.h" typedef struct _transaction Transaction; #include "hb-account.h" struct _transaction { gdouble amount; guint32 kacc; gushort paymode; gushort flags; guint32 kpay; guint32 kcat; gchar *memo; guint32 date; gushort pos; gushort status; gchar *info; guint32 *tags; guint32 kxfer; //strong link xfer key guint32 kxferacc; GPtrArray *splits; /* unsaved datas */ guint32 kcur; gushort dspflags; gdouble balance; //GList *same; //used for import todo: change this }; #include "hb-archive.h" // display flags #define TXN_DSPFLG_OVER (1<<1) #define TXN_DSPFLG_LOWBAL (1<<2) #define TXN_DSPFLG_DUPSRC (1<<9) #define TXN_DSPFLG_DUPDST (1<<10) // data flags //gushort is 2 bytes / 16 bits //FREE (1<<0) #define OF_INCOME (1<<1) #define OF_AUTO (1<<2) //scheduled #define OF_INTXFER (1<<3) //FREE (1<<4) //FREE (1<<5) #define OF_CHEQ2 (1<<6) #define OF_LIMIT (1<<7) //scheduled #define OF_SPLIT (1<<8) //unsaved tmp flags #define OF_ADDED (1<<9) //was 1<<3 < 5.3 #define OF_CHANGED (1<<10) //was 1<<4 < 5.3 //deprecated since 5.x #define OLDF_VALID (1<<0) #define OLDF_REMIND (1<<5) typedef enum { TXN_STATUS_NONE, TXN_STATUS_CLEARED, TXN_STATUS_RECONCILED, TXN_STATUS_REMIND, TXN_STATUS_VOID } HbTxnStatus; enum { TXN_MARK_NONE, TXN_MARK_DUPSRC, TXN_MARK_DUPDST }; enum { TXN_TYPE_EXPENSE, TXN_TYPE_INCOME, TXN_TYPE_INTXFER }; Transaction *da_transaction_malloc(void); //Transaction *da_transaction_copy(Transaction *src_txn, Transaction *dst_txn); Transaction *da_transaction_init(Transaction *txn, guint32 kacc); Transaction *da_transaction_init_from_template(Transaction *txn, Archive *arc); Transaction *da_transaction_set_default_template(Transaction *txn); Transaction *da_transaction_clone(Transaction *src_item); void da_transaction_free(Transaction *item); GList *da_transaction_new(void); void da_transaction_destroy(void); void da_transaction_queue_sort(GQueue *queue); GList *da_transaction_sort(GList *list); gboolean da_transaction_prepend(Transaction *item); gboolean da_transaction_insert_sorted(Transaction *item); typedef enum { TXN_DLG_ACTION_NONE, TXN_DLG_ACTION_ADD, TXN_DLG_ACTION_INHERIT, TXN_DLG_ACTION_EDIT } HbTxnDlgAction; typedef enum { TXN_DLG_TYPE_NONE, TXN_DLG_TYPE_TXN, TXN_DLG_TYPE_TPL, TXN_DLG_TYPE_SCH } HbTxnDlgType; guint da_transaction_length(void); void transaction_remove(Transaction *ope); void transaction_changed(Transaction *txn); gboolean da_transaction_insert_memo(Transaction *item); Transaction *transaction_add(GtkWindow *parent, Transaction *ope); gchar *transaction_get_status_string(Transaction *txn); gboolean transaction_is_balanceable(Transaction *ope); gboolean transaction_acc_move(Transaction *txn, guint32 okacc, guint32 nkacc); Transaction *transaction_xfer_child_strong_get(Transaction *src); void transaction_xfer_search_or_add_child(GtkWindow *parent, Transaction *ope, guint32 kdstacc); void transaction_xfer_change_to_child(Transaction *ope, Transaction *child); void transaction_xfer_child_sync(Transaction *s_txn, Transaction *child); void transaction_xfer_remove_child(Transaction *src); Transaction *transaction_old_get_child_transfer(Transaction *src); guint transaction_auto_all_from_payee(GList *txnlist); void da_transaction_consistency(Transaction *item); gint transaction_similar_mark(Account *acc, guint32 daygap); void transaction_similar_unmark(Account *acc); #endif homebank-5.3.2/src/hb-group.c0000664000175000017500000001157513604720365012725 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hb-group.h" #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ void da_grp_free(Group *item) { DB( g_print("da_group_free\n") ); if(item != NULL) { DB( g_print(" => %d, %s\n", item->key, item->name) ); g_free(item->name); g_free(item); } } Group *da_grp_malloc(void) { DB( g_print("da_group_malloc\n") ); return g_malloc0(sizeof(Group)); } void da_grp_destroy(void) { DB( g_print("da_group_destroy\n") ); g_hash_table_destroy(GLOBALS->h_grp); } void da_grp_new(void) { Group *item; DB( g_print("da_group_new\n") ); GLOBALS->h_grp = g_hash_table_new_full(g_int_hash, g_int_equal, (GDestroyNotify)g_free, (GDestroyNotify)da_grp_free); // insert our 'no group' item = da_grp_malloc(); item->name = g_strdup(""); da_grp_insert(item); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ guint da_grp_length(void) { return g_hash_table_size(GLOBALS->h_grp); } static void da_grp_max_key_ghfunc(gpointer key, Group *item, guint32 *max_key) { *max_key = MAX(*max_key, item->key); } guint32 da_grp_get_max_key(void) { guint32 max_key = 0; g_hash_table_foreach(GLOBALS->h_grp, (GHFunc)da_grp_max_key_ghfunc, &max_key); return max_key; } gboolean da_grp_remove(guint32 key) { DB( g_print("da_grp_remove %d\n", key) ); return g_hash_table_remove(GLOBALS->h_grp, &key); } gboolean da_grp_insert(Group *item) { guint32 *new_key; DB( g_print("da_grp_insert\n") ); new_key = g_new0(guint32, 1); *new_key = item->key; g_hash_table_insert(GLOBALS->h_grp, new_key, item); return TRUE; } gboolean da_grp_append(Group *item) { Group *existitem; DB( g_print("da_grp_append\n") ); existitem = da_grp_get_by_name( item->name); if( existitem == NULL ) { item->key = da_grp_get_max_key() + 1; da_grp_insert(item); return TRUE; } DB( g_print(" -> %s already exist: %d\n", item->name, item->key) ); return FALSE; } Group * da_grp_get_by_name(gchar *rawname) { Group *retval = NULL; gchar *stripname; GHashTableIter iter; gpointer key, value; DB( g_print("da_grp_get_by_name\n") ); if( rawname ) { stripname = g_strdup(rawname); g_strstrip(stripname); if( strlen(stripname) > 0 ) { g_hash_table_iter_init (&iter, GLOBALS->h_grp); while (g_hash_table_iter_next (&iter, &key, &value)) { Group *item = value; //if( item->type != type ) // continue; if( stripname && item->name ) { if(!strcasecmp(stripname, item->name)) { retval = item; break; } } } } g_free(stripname); } return retval; } Group * da_grp_get(guint32 key) { //DB( g_print("da_grp_get\n") ); return g_hash_table_lookup(GLOBALS->h_grp, &key); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ void group_delete_unused(void) { guint32 i, max_key; gboolean *used; GList *lst_acc, *lnk_acc; max_key = da_grp_get_max_key(); used = g_malloc0((max_key + 1) * sizeof(gboolean)); if( used ) { // collect usage lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; if(acc) used[acc->kgrp] = TRUE; lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); //clean unused for(i=1;iname) ); da_grp_remove(i); } } } g_free(used); } } static gint group_glist_name_compare_func(Group *a, Group *b) { return hb_string_utf8_compare(a->name, b->name); } static gint group_glist_key_compare_func(Group *a, Group *b) { return a->key - b->key; } GList *group_glist_sorted(gint column) { GList *list = g_hash_table_get_values(GLOBALS->h_grp); if(column == 0) return g_list_sort(list, (GCompareFunc)group_glist_key_compare_func); else return g_list_sort(list, (GCompareFunc)group_glist_name_compare_func); } homebank-5.3.2/src/ui-account.h0000644000175000017500000000707713606324420013250 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_ACCOUNT_GTK_H__ #define __HB_ACCOUNT_GTK_H__ enum { LST_DEFACC_TOGGLE, LST_DEFACC_DATAS, NUM_LST_DEFACC }; enum { ACC_LST_INSERT_NORMAL, ACC_LST_INSERT_REPORT }; /* = = = = = = = = = = */ enum { ACTION_NEW, ACTION_MODIFY, ACTION_REMOVE, }; enum { FIELD_NAME, //todo: for stock account //FIELD_TYPE, FIELD_BANK, FIELD_NUMBER, FIELD_BUDGET, FIELD_CLOSED, FIELD_INITIAL, FIELD_MINIMUM, FIELD_CHEQUE1, FIELD_CHEQUE2, MAX_ACC_FIELD }; struct ui_acc_manage_data { GList *tmp_list; gint change; gint action; guint32 lastkey; GtkWidget *dialog; GtkWidget *LV_acc; GtkWidget *BT_add, *BT_edit, *BT_rem; GtkWidget *notebook; GtkWidget *CY_type; GtkWidget *CY_curr; GtkWidget *ST_institution; GtkWidget *ST_number; GtkWidget *ST_group; GtkWidget *TB_notes; GtkWidget *CM_closed; GtkWidget *ST_initial; //GtkWidget *ST_warning; GtkWidget *ST_overdraft; GtkWidget *CY_template; GtkWidget *CM_nosummary; GtkWidget *CM_nobudget; GtkWidget *CM_noreport; GtkWidget *ST_cheque1; GtkWidget *ST_cheque2; }; struct accPopContext { GtkTreeModel *model; guint32 except_key; guint32 kcur; gint insert_type; }; GtkWidget *ui_acc_manage_dialog (void); /* = = = = = = = = = = */ void ui_acc_entry_popover_populate(GtkBox *box, GHashTable *hash, gint insert_type); void ui_acc_entry_popover_populate_except(GtkBox *box, GHashTable *hash, guint except_key, gint insert_type); GtkTreeModel *ui_acc_entry_popover_get_model(GtkBox *box); GtkWidget *ui_acc_entry_popover_get_entry(GtkBox *box); Account *ui_acc_entry_popover_get(GtkBox *box); guint32 ui_acc_entry_popover_get_key_add_new(GtkBox *box); guint32 ui_acc_entry_popover_get_key(GtkBox *box); void ui_acc_entry_popover_set_single(GtkBox *box); void ui_acc_entry_popover_set_active(GtkBox *box, guint32 key); GtkWidget *ui_acc_entry_popover_new(GtkWidget *label); /* = = = = = = = = = = */ gchar *ui_acc_comboboxentry_get_name(GtkComboBox *entry_box); guint32 ui_acc_comboboxentry_get_key(GtkComboBox *entry_box); Account *ui_acc_comboboxentry_get(GtkComboBox *entry_box); gboolean ui_acc_comboboxentry_set_active(GtkComboBox *entry_box, guint32 key); void ui_acc_comboboxentry_add(GtkComboBox *entry_box, Account *acc); void ui_acc_comboboxentry_populate(GtkComboBox *entry_box, GHashTable *hash, gint insert_type); void ui_acc_comboboxentry_populate_except(GtkComboBox *entry_box, GHashTable *hash, guint except_key, gint insert_type); GtkWidget *ui_acc_comboboxentry_new(GtkWidget *label); /* = = = = = = = = = = */ void ui_acc_listview_add(GtkTreeView *treeview, Account *item); guint32 ui_acc_listview_get_selected_key(GtkTreeView *treeview); void ui_acc_listview_remove_selected(GtkTreeView *treeview); void ui_acc_listview_populate(GtkWidget *view, gint insert_type); GtkWidget *ui_acc_listview_new(gboolean withtoggle); #endif homebank-5.3.2/src/ui-archive.h0000644000175000017500000000323113604720371013224 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_ARCHIVE_GTK_H__ #define __HB_ARCHIVE_GTK_H__ enum { ARC_TYPE_ALL = 0, ARC_TYPE_SCHEDULED, ARC_TYPE_TEMPLATE }; #define LST_DEFARC_SORT_DATE 1 #define LST_DEFARC_SORT_MEMO 2 #define LST_DEFARC_SORT_PAYEE 3 #define LST_DEFARC_SORT_AMOUNT 4 #define LST_DEFARC_SORT_ACCOUNT 5 enum { HID_ARC_MEMO, HID_ARC_VALID, HID_ARC_REMIND, HID_ARC_MAX }; struct ui_arc_manage_data { GtkWidget *dialog; GList *tmp_list; gint change; GtkWidget *ST_search; GtkWidget *LV_arc; GtkWidget *RA_flttype; GtkWidget *BT_add, *BT_edit, *BT_rem; GtkWidget *MB_schedule; GtkWidget *CM_auto; GtkWidget *LB_next, *PO_next; GtkWidget *LB_every, *NB_every; GtkWidget *LB_weekend, *CY_weekend; GtkWidget *CY_unit; GtkWidget *EX_options; GtkWidget *CM_limit; GtkWidget *NB_limit; GtkWidget *LB_posts; }; GtkWidget *ui_arc_manage_dialog (Archive *ext_arc); #endif homebank-5.3.2/src/ui-group.c0000664000175000017500000002020013604720365012732 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "ui-group.h" #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /** * ui_grp_comboboxentry_get_key_add_new: * * get the key of the active group * and create the group if it do not exists * * Return value: the key or 0 * */ guint32 ui_grp_comboboxentry_get_key_add_new(GtkComboBox *entry_box) { guint32 retval; gchar *name; Group *item; retval = 0; name = (gchar *)gtk_entry_get_text(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box)))); item = da_grp_get_by_name(name); if( item == NULL ) { gchar *stripname; stripname = g_strdup(name); g_strstrip(stripname); if( strlen(stripname) > 0 ) { /* automatic add */ //todo: check prefs + ask the user here 1st time item = da_grp_malloc(); item->name = g_strdup(name); da_grp_append(item); ui_grp_comboboxentry_add(entry_box, item); retval = item->key; } g_free(stripname); } else retval = item->key; return retval; } /** * ui_grp_comboboxentry_get_key: * * get the key of the active group * * Return value: the key or 0 * */ guint32 ui_grp_comboboxentry_get_key(GtkComboBox *entry_box) { gchar *name; Group *item; name = (gchar *)gtk_entry_get_text(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box)))); item = da_grp_get_by_name(name); if( item != NULL ) return item->key; return 0; } Group *ui_grp_comboboxentry_get(GtkComboBox *entry_box) { gchar *name; Group *item = NULL; DB( g_print ("ui_grp_comboboxentry_get()\n") ); name = (gchar *)gtk_entry_get_text(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box)))); item = da_grp_get_by_name(name); return item; } gboolean ui_grp_comboboxentry_set_active(GtkComboBox *entry_box, guint32 key) { Group *item; DB( g_print ("ui_grp_comboboxentry_set_active()\n") ); DB( g_print("- key:%d\n", key) ); if( key > 0 ) { item = da_grp_get(key); if( item != NULL ) { DB( g_print("- set combo to '%s'\n", item->name) ); gtk_entry_set_text(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box))), item->name); return TRUE; } } DB( g_print("- set combo to ''\n") ); gtk_entry_set_text(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box))), ""); return FALSE; } /** * ui_grp_comboboxentry_add: * * Add a single element (useful for dynamics add) * * Return value: -- * */ void ui_grp_comboboxentry_add(GtkComboBox *entry_box, Group *grp) { if( grp->name != NULL ) { GtkTreeModel *model; GtkTreeIter iter; model = gtk_combo_box_get_model(GTK_COMBO_BOX(entry_box)); gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, 0, grp->name, -1); } } static void ui_grp_comboboxentry_populate_ghfunc(gpointer key, gpointer value, struct grpPopContext *ctx) { GtkTreeIter iter; Group *grp = value; if( ( grp->key != ctx->except_key ) ) { //gtk_list_store_append (GTK_LIST_STORE(ctx->model), &iter); //gtk_list_store_set (GTK_LIST_STORE(ctx->model), &iter, 0, grp->name, -1); gtk_list_store_insert_with_values(GTK_LIST_STORE(ctx->model), &iter, -1, 0, grp->name, -1); } } /** * ui_grp_comboboxentry_populate: * * Populate the list and completion * * Return value: -- * */ void ui_grp_comboboxentry_populate(GtkComboBox *entry_box, GHashTable *hash) { ui_grp_comboboxentry_populate_except(entry_box, hash, -1); } void ui_grp_comboboxentry_populate_except(GtkComboBox *entry_box, GHashTable *hash, guint except_key) { GtkTreeModel *model; //GtkEntryCompletion *completion; struct grpPopContext ctx; DB( g_print ("ui_grp_comboboxentry_populate\n") ); model = gtk_combo_box_get_model(GTK_COMBO_BOX(entry_box)); //completion = gtk_entry_get_completion(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box)))); /* keep our model alive and detach from comboboxentry and completion */ //g_object_ref(model); //gtk_combo_box_set_model(GTK_COMBO_BOX(entry_box), NULL); //gtk_entry_completion_set_model (completion, NULL); /* clear and populate */ ctx.model = model; ctx.except_key = except_key; gtk_list_store_clear (GTK_LIST_STORE(model)); //gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(GTK_LIST_STORE(model)), GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID, GTK_SORT_ASCENDING); g_hash_table_foreach(hash, (GHFunc)ui_grp_comboboxentry_populate_ghfunc, &ctx); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(model), GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING); /* reatach our model */ //g_print("reattach\n"); //gtk_combo_box_set_model(GTK_COMBO_BOX(entry_box), model); //gtk_entry_completion_set_model (completion, model); //g_object_unref(model); } static gint ui_grp_comboboxentry_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { gint retval = 0; gchar *name1, *name2; gtk_tree_model_get(model, a, 0, &name1, -1); gtk_tree_model_get(model, b, 0, &name2, -1); retval = hb_string_utf8_compare(name1, name2); g_free(name2); g_free(name1); return retval; } static void ui_grp_comboboxentry_test (GtkCellLayout *cell_layout, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data) { gchar *name; gtk_tree_model_get(tree_model, iter, 0, &name, -1); if( !name ) g_object_set(cell, "text", _("(no group)"), NULL); else g_object_set(cell, "text", name, NULL); //leak g_free(name); } /** * ui_grp_comboboxentry_new: * * Create a new group comboboxentry * * Return value: the new widget * */ GtkWidget * ui_grp_comboboxentry_new(GtkWidget *label) { GtkListStore *store; GtkWidget *comboboxentry; GtkEntryCompletion *completion; GtkCellRenderer *renderer; DB( g_print ("ui_grp_comboboxentry_new()\n") ); store = gtk_list_store_new (1, G_TYPE_STRING ); gtk_tree_sortable_set_default_sort_func(GTK_TREE_SORTABLE(store), ui_grp_comboboxentry_compare_func, NULL, NULL); completion = gtk_entry_completion_new (); gtk_entry_completion_set_model (completion, GTK_TREE_MODEL(store)); g_object_set(completion, "text-column", 0, NULL); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (completion), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (completion), renderer, "text", 0, NULL); gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (completion), renderer, ui_grp_comboboxentry_test, NULL, NULL); // dothe same for combobox comboboxentry = gtk_combo_box_new_with_model_and_entry(GTK_TREE_MODEL(store)); gtk_combo_box_set_entry_text_column(GTK_COMBO_BOX(comboboxentry), 0); gtk_cell_layout_clear(GTK_CELL_LAYOUT (comboboxentry)); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (comboboxentry), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (comboboxentry), renderer, "text", 0, NULL); gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (comboboxentry), renderer, ui_grp_comboboxentry_test, NULL, NULL); gtk_entry_set_completion (GTK_ENTRY (gtk_bin_get_child(GTK_BIN (comboboxentry))), completion); g_object_unref(store); if(label) gtk_label_set_mnemonic_widget (GTK_LABEL(label), comboboxentry); gtk_widget_set_size_request(comboboxentry, HB_MINWIDTH_LIST, -1); return comboboxentry; } homebank-5.3.2/src/ui-filter.c0000644000175000017500000014063113604720365013074 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "ui-filter.h" #include "ui-account.h" #include "ui-payee.h" #include "ui-category.h" #include "gtk-dateentry.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern gchar *CYA_FLT_TYPE[]; extern gchar *CYA_FLT_STATUS[]; extern gchar *CYA_FLT_RANGE[]; extern gchar *CYA_SELECT[]; extern gchar *nainex_label_names[]; extern HbKivData CYA_TXN_PAYMODE[NUM_PAYMODE_MAX]; /* = = = = = = = = = = = = = = = = = = = = */ //#1828732 add expand/collapse all for categories in edit filter static void ui_flt_hub_category_expand_all(GtkWidget *widget, gpointer user_data) { struct ui_flt_manage_data *data; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n(ui_flt_hub_category) expand all (data=%p)\n", data) ); gtk_tree_view_expand_all(GTK_TREE_VIEW(data->LV_cat)); } static void ui_flt_hub_category_collapse_all(GtkWidget *widget, gpointer user_data) { struct ui_flt_manage_data *data; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n(ui_flt_hub_category) collapse all (data=%p)\n", data) ); gtk_tree_view_collapse_all(GTK_TREE_VIEW(data->LV_cat)); } static void ui_flt_hub_category_get(Filter *flt, struct ui_flt_manage_data *data) { gint i; DB( g_print("(ui_flt_hub_category) get\n") ); if(data->filter !=NULL) { GtkTreeModel *model; //GtkTreeSelection *selection; GtkTreeIter iter, child; gint n_child; gboolean valid; gboolean toggled; // category DB( g_print(" category\n") ); model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_cat)); //selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_cat)); i=0; valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { Category *catitem; gtk_tree_model_get (model, &iter, LST_DEFCAT_TOGGLE, &toggled, LST_DEFCAT_DATAS, &catitem, -1); //data->filter->cat[i] = gtk_tree_selection_iter_is_selected(selection, &iter); //data->filter->cat[i] = toggled; catitem->flt_select = toggled; n_child = gtk_tree_model_iter_n_children (GTK_TREE_MODEL(model), &iter); gtk_tree_model_iter_children (GTK_TREE_MODEL(model), &child, &iter); while(n_child > 0) { i++; gtk_tree_model_get (model, &child, LST_DEFCAT_TOGGLE, &toggled, LST_DEFCAT_DATAS, &catitem, -1); DB( g_print(" subcat k:%3d = %d (%s)\n", catitem->key, toggled, catitem->name) ); da_flt_status_cat_set(flt, catitem->key, toggled); //data->filter->cat[i] = toggled; //data->filter->cat[i] = gtk_tree_selection_iter_is_selected(selection, &child); catitem->flt_select = toggled; n_child--; gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &child); } /* Make iter point to the next row in the list store */ i++; valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } } } static void ui_flt_hub_category_set(Filter *flt, struct ui_flt_manage_data *data) { DB( g_print("(ui_flt_hub_category) set\n") ); if(data->filter != NULL) { GtkTreeModel *model; //GtkTreeSelection *selection; GtkTreeIter iter, child; gint n_child; gboolean valid; gint i; // category DB( g_print(" category\n") ); model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_cat)); //selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_cat)); i=0; valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { Category *catitem; gtk_tree_model_get (model, &iter, LST_DEFCAT_DATAS, &catitem, -1); if(catitem->flt_select == TRUE) gtk_tree_store_set (GTK_TREE_STORE (model), &iter, LST_DEFCAT_TOGGLE, TRUE, -1); n_child = gtk_tree_model_iter_n_children (GTK_TREE_MODEL(model), &iter); gtk_tree_model_iter_children (GTK_TREE_MODEL(model), &child, &iter); while(n_child > 0) { i++; gtk_tree_model_get (model, &child, LST_DEFCAT_DATAS, &catitem, -1); if(catitem->flt_select == TRUE) gtk_tree_store_set (GTK_TREE_STORE (model), &child, LST_DEFCAT_TOGGLE, TRUE, -1); n_child--; gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &child); } /* Make iter point to the next row in the list store */ i++; valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } } } static void ui_flt_manage_cat_select(GtkWidget *widget, gpointer user_data) { struct ui_flt_manage_data *data; gint select = GPOINTER_TO_INT(user_data); GtkTreeModel *model; GtkTreeIter iter, child; gboolean valid; gint n_child; gboolean toggle; DB( g_print("(ui_flt_manage) pay select\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_cat)); valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { switch(select) { case BUTTON_ALL: gtk_tree_store_set (GTK_TREE_STORE (model), &iter, LST_DEFCAT_TOGGLE, TRUE, -1); break; case BUTTON_NONE: gtk_tree_store_set (GTK_TREE_STORE (model), &iter, LST_DEFCAT_TOGGLE, FALSE, -1); break; case BUTTON_INVERT: gtk_tree_model_get (model, &iter, LST_DEFCAT_TOGGLE, &toggle, -1); toggle ^= 1; gtk_tree_store_set (GTK_TREE_STORE (model), &iter, LST_DEFCAT_TOGGLE, toggle, -1); break; } n_child = gtk_tree_model_iter_n_children (GTK_TREE_MODEL(model), &iter); gtk_tree_model_iter_children (GTK_TREE_MODEL(model), &child, &iter); while(n_child > 0) { switch(select) { case BUTTON_ALL: gtk_tree_store_set (GTK_TREE_STORE (model), &child, LST_DEFCAT_TOGGLE, TRUE, -1); break; case BUTTON_NONE: gtk_tree_store_set (GTK_TREE_STORE (model), &child, LST_DEFCAT_TOGGLE, FALSE, -1); break; case BUTTON_INVERT: gtk_tree_model_get (model, &child, LST_DEFCAT_TOGGLE, &toggle, -1); toggle ^= 1; gtk_tree_store_set (GTK_TREE_STORE (model), &child, LST_DEFCAT_TOGGLE, toggle, -1); break; } n_child--; gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &child); } valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } } static gboolean ui_flt_hub_category_activate_link (GtkWidget *label, const gchar *uri, gpointer data) { DB( g_print(" comboboxlink '%s' \n", uri) ); if (g_strcmp0 (uri, "all") == 0) { ui_flt_manage_cat_select(label, GINT_TO_POINTER(BUTTON_ALL) ); } else if (g_strcmp0 (uri, "non") == 0) { ui_flt_manage_cat_select(label, GINT_TO_POINTER(BUTTON_NONE) ); } else if (g_strcmp0 (uri, "inv") == 0) { ui_flt_manage_cat_select(label, GINT_TO_POINTER(BUTTON_INVERT) ); } return TRUE; } static GtkWidget * ui_flt_hub_category_new (struct ui_flt_manage_data *data) { GtkWidget *hubbox, *scrollwin, *hbox, *vbox, *widget, *label, *tbar; GtkToolItem *toolitem; hubbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING_SMALL); /*label = make_label (_("Categories"), 0, 0); gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); gtk_box_pack_start (GTK_BOX (hubbox), label, FALSE, FALSE, 0);*/ hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); gtk_box_pack_start (GTK_BOX (hubbox), hbox, FALSE, FALSE, 0); label = make_label (_("Select:"), 0, 0.5); gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_SMALL, -1); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); label = make_clicklabel("all", _("All")); data->BT_cat[BUTTON_ALL] = label; gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_hub_category_activate_link), NULL); label = make_clicklabel("non", _("None")); data->BT_cat[BUTTON_NONE] = label; gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_hub_category_activate_link), NULL); label = make_clicklabel("inv", _("Invert")); data->BT_cat[BUTTON_INVERT] = label; gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_hub_category_activate_link), NULL); //list vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (hubbox), vbox, TRUE, TRUE, 0); scrollwin = gtk_scrolled_window_new(NULL,NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); //gtk_scrolled_window_set_min_content_height(GTK_SCROLLED_WINDOW(scrollwin), HB_MINHEIGHT_LIST); data->LV_cat = (GtkWidget *)ui_cat_listview_new(TRUE, FALSE); gtk_container_add(GTK_CONTAINER(scrollwin), data->LV_cat); gtk_widget_set_hexpand (scrollwin, TRUE); gtk_widget_set_vexpand (scrollwin, TRUE); gtk_box_pack_start (GTK_BOX (vbox), scrollwin, TRUE, TRUE, 0); //list toolbar tbar = gtk_toolbar_new(); gtk_toolbar_set_icon_size (GTK_TOOLBAR(tbar), GTK_ICON_SIZE_MENU); gtk_toolbar_set_style(GTK_TOOLBAR(tbar), GTK_TOOLBAR_ICONS); gtk_style_context_add_class (gtk_widget_get_style_context (tbar), GTK_STYLE_CLASS_INLINE_TOOLBAR); gtk_box_pack_start (GTK_BOX (vbox), tbar, FALSE, FALSE, 0); toolitem = gtk_separator_tool_item_new (); gtk_tool_item_set_expand (toolitem, TRUE); gtk_separator_tool_item_set_draw(GTK_SEPARATOR_TOOL_ITEM(toolitem), FALSE); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); toolitem = gtk_tool_item_new(); gtk_container_add (GTK_CONTAINER(toolitem), hbox); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); widget = make_image_button(ICONNAME_HB_BUTTON_EXPAND, _("Expand all")); data->BT_expand = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); widget = make_image_button(ICONNAME_HB_BUTTON_COLLAPSE, _("Collapse all")); data->BT_collapse = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); g_signal_connect (G_OBJECT (data->BT_expand), "clicked", G_CALLBACK (ui_flt_hub_category_expand_all), NULL); g_signal_connect (G_OBJECT (data->BT_collapse), "clicked", G_CALLBACK (ui_flt_hub_category_collapse_all), NULL); return(hubbox); } /* = = = = = = = = = = = = = = = = */ static void ui_flt_hub_payee_get(Filter *flt, struct ui_flt_manage_data *data) { GtkTreeModel *model; GtkTreeIter iter; gboolean valid; gboolean toggled; gint i; DB( g_print("(ui_flt_hub_payee) get\n") ); model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_pay)); //selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_pay)); i=0; valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { Payee *payitem; gtk_tree_model_get (model, &iter, LST_DEFPAY_TOGGLE, &toggled, LST_DEFPAY_DATAS, &payitem, -1); DB( g_print(" payee k:%3d = %d (%s)\n", payitem->key, toggled, payitem->name) ); da_flt_status_pay_set(flt, payitem->key, toggled); //payitem->flt_select = toggled; /* Make iter point to the next row in the list store */ i++; valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } } static void ui_flt_hub_payee_set(Filter *flt, struct ui_flt_manage_data *data) { DB( g_print("(ui_flt_hub_payee) set\n") ); if(data->filter != NULL) { GtkTreeModel *model; //GtkTreeSelection *selection; GtkTreeIter iter; gboolean valid; gint i; model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_pay)); //selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_pay)); i=0; valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { Payee *payitem; gboolean status; gtk_tree_model_get (model, &iter, LST_DEFPAY_DATAS, &payitem, -1); status = da_flt_status_pay_get(flt, payitem->key); gtk_list_store_set (GTK_LIST_STORE (model), &iter, LST_DEFPAY_TOGGLE, status, -1); /* Make iter point to the next row in the list store */ i++; valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } } } static void ui_flt_manage_pay_select(GtkWidget *widget, gpointer user_data) { struct ui_flt_manage_data *data; gint select = GPOINTER_TO_INT(user_data); GtkTreeModel *model; GtkTreeIter iter; gboolean valid; gboolean toggle; DB( g_print("(ui_flt_manage) pay select\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_pay)); valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { switch(select) { case BUTTON_ALL: gtk_list_store_set (GTK_LIST_STORE (model), &iter, LST_DEFPAY_TOGGLE, TRUE, -1); break; case BUTTON_NONE: gtk_list_store_set (GTK_LIST_STORE (model), &iter, LST_DEFPAY_TOGGLE, FALSE, -1); break; case BUTTON_INVERT: gtk_tree_model_get (model, &iter, LST_DEFPAY_TOGGLE, &toggle, -1); toggle ^= 1; gtk_list_store_set (GTK_LIST_STORE (model), &iter, LST_DEFPAY_TOGGLE, toggle, -1); break; } valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } } static gboolean ui_flt_hub_payee_activate_link (GtkWidget *label, const gchar *uri, gpointer data) { DB( g_print(" comboboxlink '%s' \n", uri) ); if (g_strcmp0 (uri, "all") == 0) { ui_flt_manage_pay_select(label, GINT_TO_POINTER(BUTTON_ALL) ); } else if (g_strcmp0 (uri, "non") == 0) { ui_flt_manage_pay_select(label, GINT_TO_POINTER(BUTTON_NONE) ); } else if (g_strcmp0 (uri, "inv") == 0) { ui_flt_manage_pay_select(label, GINT_TO_POINTER(BUTTON_INVERT) ); } return TRUE; } static GtkWidget * ui_flt_hub_payee_new (struct ui_flt_manage_data *data) { GtkWidget *scrollwin, *hbox, *vbox, *label; vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING_SMALL); /*label = make_label (_("Payees"), 0, 0); gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);*/ hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); label = make_label (_("Select:"), 0, 0.5); gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_SMALL, -1); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); label = make_clicklabel("all", _("All")); data->BT_pay[BUTTON_ALL] = label; gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_hub_payee_activate_link), NULL); label = make_clicklabel("non", _("None")); data->BT_pay[BUTTON_NONE] = label; gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_hub_payee_activate_link), NULL); label = make_clicklabel("inv", _("Invert")); data->BT_pay[BUTTON_INVERT] = label; gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_hub_payee_activate_link), NULL); scrollwin = gtk_scrolled_window_new(NULL,NULL); gtk_box_pack_start (GTK_BOX (vbox), scrollwin, TRUE, TRUE, 0); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN); //gtk_container_set_border_width (GTK_CONTAINER(scrollwin), SPACING_SMALL); data->LV_pay = (GtkWidget *)ui_pay_listview_new(TRUE, FALSE); gtk_container_add(GTK_CONTAINER(scrollwin), data->LV_pay); return(vbox); } /* = = = = = = = = = = = = = = = = */ static void ui_flt_hub_account_get(Filter *flt, struct ui_flt_hub_stuf *data) { GtkTreeModel *model; GtkTreeIter iter; gboolean valid; gint i; DB( g_print("(ui_flt_hub_account) get\n") ); model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->treeview)); //selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_acc)); i=0; valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { Account *accitem; gboolean toggled; gtk_tree_model_get (model, &iter, LST_DEFACC_TOGGLE, &toggled, LST_DEFACC_DATAS, &accitem, -1); DB( g_print(" acc k:%3d = %d (%s)\n", accitem->key, toggled, accitem->name) ); da_flt_status_acc_set(flt, accitem->key, toggled); //accitem->flt_select = toggled; /* Make iter point to the next row in the list store */ i++; valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } } static void ui_flt_hub_account_set(Filter *flt, struct ui_flt_hub_stuf *data) { GtkTreeModel *model; GtkTreeIter iter; gboolean valid; gint i; DB( g_print("(ui_flt_hub_account) set\n") ); model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->treeview)); //selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_acc)); i=0; valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { Account *accitem; gboolean status; gtk_tree_model_get (model, &iter, LST_DEFACC_DATAS, &accitem, -1); status = da_flt_status_acc_get(flt, accitem->key); gtk_list_store_set (GTK_LIST_STORE (model), &iter, LST_DEFACC_TOGGLE, status, -1); /* Make iter point to the next row in the list store */ i++; valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } } static gboolean ui_flt_hub_account_activate_link (GtkWidget *label, const gchar *uri, gpointer user_data) { GtkTreeModel *model; GtkTreeIter iter; gboolean valid; gboolean toggle; DB( g_print("(ui_flt_hub_account) activate_link\n") ); g_return_val_if_fail(GTK_IS_TREE_VIEW(user_data), TRUE); model = gtk_tree_view_get_model(GTK_TREE_VIEW(user_data)); DB( g_print(" comboboxlink '%s' \n", uri) ); if (g_strcmp0 (uri, "all") == 0) { valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { gtk_list_store_set (GTK_LIST_STORE (model), &iter, LST_DEFACC_TOGGLE, TRUE, -1); valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } } else if (g_strcmp0 (uri, "non") == 0) { valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { gtk_list_store_set (GTK_LIST_STORE (model), &iter, LST_DEFACC_TOGGLE, FALSE, -1); valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } } else if (g_strcmp0 (uri, "inv") == 0) { valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { gtk_tree_model_get (model, &iter, LST_DEFACC_TOGGLE, &toggle, -1); toggle ^= 1; gtk_list_store_set (GTK_LIST_STORE (model), &iter, LST_DEFACC_TOGGLE, toggle, -1); valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } } return TRUE; } static GtkWidget * ui_flt_hub_account_new (struct ui_flt_hub_stuf *data) { GtkWidget *scrollwin, *hbox, *vbox, *label; DB( g_print("(ui_flt_hub_account) new\n") ); vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING_SMALL); /*label = make_label (_("Accounts"), 0, 0); gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);*/ hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); label = make_label (_("Select:"), 0, 0.5); gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_SMALL, -1); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); label = make_clicklabel("all", _("All")); data->BT_all= label; gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); label = make_clicklabel("non", _("None")); data->BT_none = label; gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); label = make_clicklabel("inv", _("Invert")); data->BT_invert = label; gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); scrollwin = gtk_scrolled_window_new(NULL,NULL); //gtk_widget_set_size_request (scrollwin, HB_MINWIDTH_LIST, HB_MINHEIGHT_LIST); gtk_box_pack_start (GTK_BOX (vbox), scrollwin, TRUE, TRUE, 0); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN); //gtk_container_set_border_width (GTK_CONTAINER(scrollwin), SPACING_SMALL); data->treeview = (GtkWidget *)ui_acc_listview_new(TRUE); gtk_container_add(GTK_CONTAINER(scrollwin), data->treeview); g_signal_connect (data->BT_all, "activate-link", G_CALLBACK (ui_flt_hub_account_activate_link), data->treeview); g_signal_connect (data->BT_none, "activate-link", G_CALLBACK (ui_flt_hub_account_activate_link), data->treeview); g_signal_connect (data->BT_invert, "activate-link", G_CALLBACK (ui_flt_hub_account_activate_link), data->treeview); return(vbox); } /* = = = = = = = = = = = = = = = = */ /* ** */ static void ui_flt_manage_option_update(GtkWidget *widget, gpointer user_data) { struct ui_flt_manage_data *data; gint active; gboolean sensitive; DB( g_print("(ui_flt_manage) update\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); // status active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FILTER_STATUS])); sensitive = active == 0 ? FALSE : TRUE; gtk_widget_set_sensitive(data->GR_page[FILTER_STATUS], sensitive); // type active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FILTER_TYPE])); sensitive = active == 0 ? FALSE : TRUE; gtk_widget_set_sensitive(data->GR_page[FILTER_TYPE], sensitive); // date active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FILTER_DATE])); sensitive = active == 0 ? FALSE : TRUE; gtk_widget_set_sensitive(data->GR_page[FILTER_DATE], sensitive); // amount active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FILTER_AMOUNT])); sensitive = active == 0 ? FALSE : TRUE; gtk_widget_set_sensitive(data->GR_page[FILTER_AMOUNT], sensitive); // text active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FILTER_TEXT])); sensitive = active == 0 ? FALSE : TRUE; gtk_widget_set_sensitive(data->GR_page[FILTER_TEXT], sensitive); // paymode active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FILTER_PAYMODE])); sensitive = active == 0 ? FALSE : TRUE; gtk_widget_set_sensitive(data->GR_page[FILTER_PAYMODE], sensitive); // account if(data->show_account == TRUE) { active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FILTER_ACCOUNT])); sensitive = active == 0 ? FALSE : TRUE; gtk_widget_set_sensitive(data->GR_page[FILTER_ACCOUNT], sensitive); } // payee active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FILTER_PAYEE])); sensitive = active == 0 ? FALSE : TRUE; gtk_widget_set_sensitive(data->GR_page[FILTER_PAYEE], sensitive); // category active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FILTER_CATEGORY])); sensitive = active == 0 ? FALSE : TRUE; gtk_widget_set_sensitive(data->GR_page[FILTER_CATEGORY], sensitive); } /* ** */ static void ui_flt_manage_get(struct ui_flt_manage_data *data) { gint i; gchar *txt; DB( g_print("(ui_flt_manage) get\n") ); if(data->filter !=NULL) { for(i=0;ishow_account == FALSE && i == FILTER_ACCOUNT) continue; data->filter->option[i] = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[i])); } //date DB( g_print(" date\n") ); data->filter->mindate = gtk_date_entry_get_date(GTK_DATE_ENTRY(data->PO_mindate)); data->filter->maxdate = gtk_date_entry_get_date(GTK_DATE_ENTRY(data->PO_maxdate)); //status DB( g_print(" status/type\n") ); data->filter->type = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_type)); data->filter->status = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_status)); data->filter->forceadd = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_forceadd)); data->filter->forcechg = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_forcechg)); data->filter->forceremind = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_forceremind)); data->filter->forcevoid = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_forcevoid)); //paymode DB( g_print(" paymode\n") ); for(i=0;iCM_paymode[i] )) continue; uid = GPOINTER_TO_UINT(g_object_get_data(G_OBJECT(data->CM_paymode[i]), "uid")); data->filter->paymode[uid] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_paymode[i])); } //amount data->filter->minamount = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_minamount)); data->filter->maxamount = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_maxamount)); //text:memo data->filter->exact = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_exact)); //free any previous string if( data->filter->memo ) { g_free(data->filter->memo); data->filter->memo = NULL; } txt = (gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_memo)); if (txt && *txt) // ignore if entry is empty { data->filter->memo = g_strdup(txt); } //text:info //free any previous string if( data->filter->info ) { g_free(data->filter->info); data->filter->info = NULL; } txt = (gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_info)); // ignore if entry is empty if (txt && *txt) { data->filter->info = g_strdup(txt); } //text:tag //free any previous string if( data->filter->tag ) { g_free(data->filter->tag); data->filter->tag = NULL; } txt = (gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_tag)); // ignore if entry is empty if (txt && *txt) { data->filter->tag = g_strdup(txt); } // account if(data->show_account == TRUE) { ui_flt_hub_account_get(data->filter, &data->pnl_acc_data); } // payee ui_flt_hub_payee_get(data->filter, data); // category ui_flt_hub_category_get(data->filter, data); // active tab g_strlcpy(data->filter->last_tab, gtk_stack_get_visible_child_name(GTK_STACK(data->stack)), 8); DB( g_print(" page is '%s'\n", data->filter->last_tab) ); } } /* ** */ static void ui_flt_manage_set(struct ui_flt_manage_data *data) { DB( g_print("(ui_flt_manage) set\n") ); if(data->filter != NULL) { gint i; DB( g_print(" options\n") ); for(i=0;ishow_account == FALSE && i == FILTER_ACCOUNT) continue; gtk_combo_box_set_active(GTK_COMBO_BOX(data->CY_option[i]), data->filter->option[i]); } //DB( g_print(" setdate %d to %x\n", data->filter->mindate, data->PO_mindate) ); //DB( g_print(" setdate %d to %x\n", 0, data->PO_mindate) ); //date DB( g_print(" date\n") ); gtk_date_entry_set_date(GTK_DATE_ENTRY(data->PO_mindate), data->filter->mindate); gtk_date_entry_set_date(GTK_DATE_ENTRY(data->PO_maxdate), data->filter->maxdate); //status DB( g_print(" status/type\n") ); hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_type), data->filter->type); hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_status), data->filter->status); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_forceadd), data->filter->forceadd); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_forcechg), data->filter->forcechg); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_forceremind), data->filter->forceremind); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_forcevoid), data->filter->forcevoid); //paymode DB( g_print(" paymode\n") ); for(i=0;iCM_paymode[i] )) continue; uid = GPOINTER_TO_UINT(g_object_get_data(G_OBJECT(data->CM_paymode[i]), "uid")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_paymode[i]), data->filter->paymode[uid]); } //amount gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->ST_minamount), data->filter->minamount); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->ST_maxamount), data->filter->maxamount); //text gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_exact), data->filter->exact); gtk_entry_set_text(GTK_ENTRY(data->ST_info), (data->filter->info != NULL) ? data->filter->info : ""); gtk_entry_set_text(GTK_ENTRY(data->ST_memo), (data->filter->memo != NULL) ? data->filter->memo : ""); gtk_entry_set_text(GTK_ENTRY(data->ST_tag), (data->filter->tag != NULL) ? data->filter->tag : ""); //account if(data->show_account == TRUE) { DB( g_print(" account\n") ); ui_flt_hub_account_set(data->filter, &data->pnl_acc_data); } // payee ui_flt_hub_payee_set(data->filter, data); // category ui_flt_hub_category_set(data->filter, data); } } /* ** */ static void ui_flt_manage_clear(GtkWidget *widget, gpointer user_data) { struct ui_flt_manage_data *data; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("(ui_flt_manage) clear\n") ); filter_reset(data->filter); ui_flt_manage_set(data); } /* ** */ static void ui_flt_manage_setup(struct ui_flt_manage_data *data) { DB( g_print("(ui_flt_manage) setup\n") ); if(data->show_account == TRUE && data->pnl_acc_data.treeview != NULL) { //gtk_tree_selection_set_mode(GTK_TREE_SELECTION(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_acc))), GTK_SELECTION_MULTIPLE); ui_acc_listview_populate(data->pnl_acc_data.treeview, ACC_LST_INSERT_REPORT); //populate_view_acc(data->LV_acc, GLOBALS->acc_list, FALSE); } if(data->LV_pay) { //gtk_tree_selection_set_mode(GTK_TREE_SELECTION(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_pay))), GTK_SELECTION_MULTIPLE); ui_pay_listview_populate(data->LV_pay, NULL); //populate_view_pay(data->LV_pay, GLOBALS->pay_list, FALSE); } if(data->LV_cat) { //gtk_tree_selection_set_mode(GTK_TREE_SELECTION(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_cat))), GTK_SELECTION_MULTIPLE); //populate_view_cat(data->LV_cat, GLOBALS->cat_list, FALSE); ui_cat_listview_populate(data->LV_cat, CAT_TYPE_ALL); gtk_tree_view_expand_all (GTK_TREE_VIEW(data->LV_cat)); } } static GtkWidget *ui_flt_manage_page_option (struct ui_flt_manage_data *data, guint index) { GtkWidget *container, *hbox, *label; container = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING_LARGE); //gtk_container_set_border_width (GTK_CONTAINER (container), SPACING_MEDIUM); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); gtk_box_pack_start (GTK_BOX (container), hbox, FALSE, FALSE, 0); label = make_label_widget(_("_Option:")); gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); data->CY_option[index] = make_nainex(label); //data->CY_option[index] = hbtk_radio_button_new(nainex_label_names, TRUE); gtk_box_pack_start (GTK_BOX (hbox), data->CY_option[index], TRUE, TRUE, 0); return(container); } static GtkWidget *ui_flt_manage_page_category (struct ui_flt_manage_data *data) { GtkWidget *container, *panel; container = ui_flt_manage_page_option(data, FILTER_CATEGORY); panel = ui_flt_hub_category_new(data); data->GR_page[FILTER_CATEGORY] = panel; gtk_box_pack_start (GTK_BOX (container), panel, TRUE, TRUE, 0); return(container); } static GtkWidget *ui_flt_manage_page_payee (struct ui_flt_manage_data *data) { GtkWidget *container, *panel; container = ui_flt_manage_page_option(data, FILTER_PAYEE); panel = ui_flt_hub_payee_new(data); data->GR_page[FILTER_PAYEE] = panel; gtk_box_pack_start (GTK_BOX (container), panel, TRUE, TRUE, 0); return(container); } /* ** account filter */ static GtkWidget *ui_flt_manage_page_account (struct ui_flt_manage_data *data) { GtkWidget *container, *panel; container = ui_flt_manage_page_option(data, FILTER_ACCOUNT); panel = ui_flt_hub_account_new(&data->pnl_acc_data); data->GR_page[FILTER_ACCOUNT] = panel; gtk_box_pack_start (GTK_BOX (container), panel, TRUE, TRUE, 0); return(container); } static GtkWidget *ui_flt_manage_part_date(struct ui_flt_manage_data *data) { GtkWidget *container, *table, *label; gint row; container = ui_flt_manage_page_option(data, FILTER_DATE); table = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM); data->GR_page[FILTER_DATE] = table; gtk_box_pack_start (GTK_BOX (container), table, TRUE, TRUE, 0); row = 0; /*label = make_label (_("Dates"), 0, 0); gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); row++;*/ label = make_label_widget(_("_From:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); data->PO_mindate = gtk_date_entry_new(label); gtk_grid_attach (GTK_GRID (table), data->PO_mindate, 2, row, 1, 1); row++; label = make_label_widget(_("_To:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); data->PO_maxdate = gtk_date_entry_new(label); gtk_grid_attach (GTK_GRID (table), data->PO_maxdate, 2, row, 1, 1); return container; } static GtkWidget *ui_flt_manage_part_text(struct ui_flt_manage_data *data) { GtkWidget *container, *table, *label; gint row; container = ui_flt_manage_page_option(data, FILTER_TEXT); table = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM); data->GR_page[FILTER_TEXT] = table; gtk_box_pack_start (GTK_BOX (container), table, TRUE, TRUE, 0); row = 0; /*label = make_label (_("Texts"), 0, 0); gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); row++;*/ label = make_label_widget(_("_Memo:")); gtk_grid_attach (GTK_GRID (table), label, 0, row, 1, 1); data->ST_memo = make_string(label); gtk_widget_set_hexpand (data->ST_memo, TRUE); gtk_grid_attach (GTK_GRID (table), data->ST_memo, 1, row, 2, 1); row++; label = make_label_widget(_("_Info:")); //----------------------------------------- l, r, t, b gtk_grid_attach (GTK_GRID (table), label, 0, row, 1, 1); data->ST_info = make_string(label); gtk_widget_set_hexpand (data->ST_info, TRUE); gtk_grid_attach (GTK_GRID (table), data->ST_info, 1, row, 2, 1); row++; label = make_label_widget(_("_Tag:")); //----------------------------------------- l, r, t, b gtk_grid_attach (GTK_GRID (table), label, 0, row, 1, 1); data->ST_tag = make_string(label); gtk_widget_set_hexpand (data->ST_tag, TRUE); gtk_grid_attach (GTK_GRID (table), data->ST_tag, 1, row, 2, 1); row++; data->CM_exact = gtk_check_button_new_with_mnemonic (_("Case _sensitive")); gtk_grid_attach (GTK_GRID (table), data->CM_exact, 1, row, 2, 1); return container; } static GtkWidget *ui_flt_manage_part_amount(struct ui_flt_manage_data *data) { GtkWidget *container, *table, *label; gint row; container = ui_flt_manage_page_option(data, FILTER_AMOUNT); table = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM); data->GR_page[FILTER_AMOUNT] = table; gtk_box_pack_start (GTK_BOX (container), table, TRUE, TRUE, 0); row = 0; /*label = make_label (_("Amounts"), 0, 0); gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); row++;*/ label = make_label_widget(_("_From:")); //----------------------------------------- l, r, t, b gtk_grid_attach (GTK_GRID (table), label, 0, row, 1, 1); data->ST_minamount = make_amount(label); gtk_grid_attach (GTK_GRID (table), data->ST_minamount, 1, row, 2, 1); row++; label = make_label_widget(_("_To:")); gtk_grid_attach (GTK_GRID (table), label, 0, row, 1, 1); data->ST_maxamount = make_amount(label); gtk_grid_attach (GTK_GRID (table), data->ST_maxamount, 1, row, 2, 1); return container; } static GtkWidget *ui_flt_manage_part_status(struct ui_flt_manage_data *data) { GtkWidget *content, *container, *table, *label, *widget, *vbox; gint row; content = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); //status container = ui_flt_manage_page_option(data, FILTER_STATUS); gtk_box_pack_start (GTK_BOX (content), container, TRUE, TRUE, 0); table = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM); gtk_widget_set_margin_bottom(table, SPACING_LARGE); data->GR_page[FILTER_STATUS] = table; gtk_box_pack_start (GTK_BOX (container), table, TRUE, TRUE, 0); row = 0; label = make_label_widget(_("_Status:")); //----------------------------------------- l, r, t, b gtk_grid_attach (GTK_GRID (table), label, 0, row, 1, 1); widget = hbtk_combo_box_new(NULL); hbtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widget), FLT_STATUS_ALL , _("Any Status")); hbtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widget), FLT_STATUS_CLEARED , _("Cleared")); hbtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widget), FLT_STATUS_RECONCILED, _("Reconciled")); data->CY_status = widget; gtk_grid_attach (GTK_GRID (table), widget, 1, row, 1, 1); // type container = ui_flt_manage_page_option(data, FILTER_TYPE); gtk_box_pack_start (GTK_BOX (content), container, TRUE, TRUE, 0); table = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM); data->GR_page[FILTER_TYPE] = table; gtk_box_pack_start (GTK_BOX (container), table, FALSE, FALSE, 0); row = 0; label = make_label_widget(_("_Type:")); //----------------------------------------- l, r, t, b gtk_grid_attach (GTK_GRID (table), label, 0, row, 1, 1); widget = hbtk_combo_box_new(NULL); hbtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widget), FLT_TYPE_ALL , _("Any Type")); hbtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widget), FLT_TYPE_EXPENSE, _("Expense")); hbtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widget), FLT_TYPE_INCOME , _("Income")); hbtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widget), FLT_TYPE_INTXFER, _("Transfer")); data->CY_type = widget; gtk_grid_attach (GTK_GRID (table), widget, 1, row, 1, 1); table = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM); gtk_box_pack_start (GTK_BOX (content), table, TRUE, TRUE, 0); row = 0; label = make_label_widget(_("Force:")); data->LB_force = label; gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); data->GR_force = vbox; gtk_grid_attach (GTK_GRID (table), vbox, 2, row, 1, 1); widget = gtk_check_button_new_with_mnemonic (_("display 'Added'")); data->CM_forceadd = widget; gtk_box_pack_start (GTK_BOX (vbox), widget, TRUE, TRUE, 0); widget = gtk_check_button_new_with_mnemonic (_("display 'Edited'")); data->CM_forcechg = widget; gtk_box_pack_start (GTK_BOX (vbox), widget, TRUE, TRUE, 0); widget = gtk_check_button_new_with_mnemonic (_("display 'Remind'")); data->CM_forceremind = widget; gtk_box_pack_start (GTK_BOX (vbox), widget, TRUE, TRUE, 0); widget = gtk_check_button_new_with_mnemonic (_("display 'Void'")); data->CM_forcevoid = widget; gtk_box_pack_start (GTK_BOX (vbox), widget, TRUE, TRUE, 0); return content; } static gboolean ui_flt_manage_part_paymode_activate_link (GtkWidget *label, const gchar *uri, gpointer user_data) { struct ui_flt_manage_data *data; gint i; DB( g_print("(ui_flt_hub_account) activate_link\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(label, GTK_TYPE_WINDOW)), "inst_data"); for(i=0;iCM_paymode[i] )) continue; if (g_strcmp0 (uri, "all") == 0) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_paymode[i]), TRUE); } else if (g_strcmp0 (uri, "non") == 0) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_paymode[i]), FALSE); } else if (g_strcmp0 (uri, "inv") == 0) { gboolean act = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_paymode[i])); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_paymode[i]), !act); } } return TRUE; } static GtkWidget *ui_flt_manage_part_paymode(struct ui_flt_manage_data *data) { GtkWidget *container, *vbox, *hbox, *label, *widget, *table, *image; HbKivData *tmp, *kvdata = CYA_TXN_PAYMODE; gint i, row; container = ui_flt_manage_page_option(data, FILTER_PAYMODE); vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING_SMALL); data->GR_page[FILTER_PAYMODE] = vbox; gtk_box_pack_start (GTK_BOX (container), vbox, TRUE, TRUE, 0); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); label = make_label (_("Select:"), 0, 0.5); gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_SMALL, -1); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); label = make_clicklabel("all", _("All")); //data->BT_cat[BUTTON_ALL] = label; gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_manage_part_paymode_activate_link), NULL); label = make_clicklabel("non", _("None")); //data->BT_cat[BUTTON_NONE] = label; gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_manage_part_paymode_activate_link), NULL); label = make_clicklabel("inv", _("Invert")); //data->BT_cat[BUTTON_INVERT] = label; gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); g_signal_connect (label, "activate-link", G_CALLBACK (ui_flt_manage_part_paymode_activate_link), NULL); /*label = make_label (_("Payments"), 0, 0); gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); row++;*/ table = gtk_grid_new (); //gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL); //gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_SMALL); gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0); for(i=0;iname == NULL ) break; row = i; image = gtk_image_new_from_icon_name( tmp->iconname, GTK_ICON_SIZE_MENU); gtk_grid_attach (GTK_GRID (table), image, 0, row, 1, 1); widget = gtk_check_button_new_with_mnemonic(_(tmp->name)); data->CM_paymode[i] = widget; g_object_set_data(G_OBJECT(widget), "uid", GUINT_TO_POINTER(tmp->key)); gtk_grid_attach (GTK_GRID (table), data->CM_paymode[i], 1, row, 1, 1); } return container; } /* ** */ gint ui_flt_manage_dialog_new(GtkWindow *parentwindow, Filter *filter, gboolean show_account, gboolean txnmode) { struct ui_flt_manage_data *data; GtkWidget *window, *content, *mainbox, *sidebar, *stack, *page; //gint w, h; data = g_malloc0(sizeof(struct ui_flt_manage_data)); data->filter = filter; window = gtk_dialog_new_with_buttons (_("Edit filter"), GTK_WINDOW (parentwindow), 0, _("_Reset"), 55, _("_Cancel"), GTK_RESPONSE_REJECT, _("_OK"), GTK_RESPONSE_ACCEPT, NULL); gtk_window_set_icon_name(GTK_WINDOW (window), ICONNAME_HB_FILTER); //set a nice dialog size //gtk_window_get_size(GTK_WINDOW(parentwindow), &w, &h); //gtk_window_set_default_size (GTK_WINDOW(window), -1, 0.8*h); //store our window private data g_object_set_data(G_OBJECT(window), "inst_data", (gpointer)data); DB( g_print("(ui_flt_manage) window=%p, inst_data=%p\n", window, data) ); g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window); content = gtk_dialog_get_content_area(GTK_DIALOG (window)); mainbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (content), mainbox, TRUE, TRUE, 0); //gtk_container_set_border_width (GTK_CONTAINER(mainbox), SPACING_MEDIUM); sidebar = gtk_stack_sidebar_new (); gtk_widget_set_margin_bottom(sidebar, SPACING_LARGE); gtk_box_pack_start (GTK_BOX (mainbox), sidebar, FALSE, FALSE, 0); stack = gtk_stack_new (); gtk_stack_set_transition_type (GTK_STACK (stack), GTK_STACK_TRANSITION_TYPE_SLIDE_UP_DOWN); gtk_stack_sidebar_set_stack (GTK_STACK_SIDEBAR (sidebar), GTK_STACK (stack)); gtk_container_set_border_width(GTK_CONTAINER(stack), SPACING_LARGE); data->stack = stack; gtk_box_pack_start (GTK_BOX (mainbox), stack, TRUE, TRUE, 0); //common (date + status + amount) /* label = gtk_label_new(_("General")); page = ui_flt_manage_page_general(&data); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page, label); */ page = ui_flt_manage_part_date(data); //gtk_widget_show(GTK_WIDGET(page)); gtk_stack_add_titled (GTK_STACK (stack), page, "dat", _("Dates")); page = ui_flt_manage_part_status(data); //gtk_widget_show(GTK_WIDGET(page)); gtk_stack_add_titled (GTK_STACK (stack), page, "sta", _("Status")); page = ui_flt_manage_part_paymode(data); //gtk_widget_show(GTK_WIDGET(page)); gtk_stack_add_titled (GTK_STACK (stack), page, "pmt", _("Payments")); page = ui_flt_manage_part_amount(data); //gtk_widget_show(GTK_WIDGET(page)); gtk_stack_add_titled (GTK_STACK (stack), page, "amt", _("Amounts")); page = ui_flt_manage_part_text(data); //gtk_widget_show(GTK_WIDGET(page)); gtk_stack_add_titled (GTK_STACK (stack), page, "txt", _("Texts")); page = ui_flt_manage_page_category(data); //gtk_widget_show(GTK_WIDGET(page)); gtk_stack_add_titled (GTK_STACK (stack), page, "cat", _("Categories")); page = ui_flt_manage_page_payee(data); //gtk_widget_show(GTK_WIDGET(page)); gtk_stack_add_titled (GTK_STACK (stack), page, "pay", _("Payees")); data->show_account = show_account; if(show_account == TRUE) { page = ui_flt_manage_page_account(data); //gtk_widget_show(GTK_WIDGET(page)); gtk_stack_add_titled (GTK_STACK (stack), page, "acc", _("Accounts")); } //setup, init and show window ui_flt_manage_setup(data); ui_flt_manage_set(data); ui_flt_manage_option_update(window, NULL); /* signal connect */ g_signal_connect (data->CY_option[FILTER_STATUS] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL); g_signal_connect (data->CY_option[FILTER_TYPE] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL); g_signal_connect (data->CY_option[FILTER_DATE] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL); g_signal_connect (data->CY_option[FILTER_AMOUNT] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL); g_signal_connect (data->CY_option[FILTER_PAYMODE] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL); g_signal_connect (data->CY_option[FILTER_PAYEE] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL); g_signal_connect (data->CY_option[FILTER_CATEGORY], "changed", G_CALLBACK (ui_flt_manage_option_update), NULL); g_signal_connect (data->CY_option[FILTER_TEXT] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL); if(show_account == TRUE) { g_signal_connect (data->CY_option[FILTER_ACCOUNT] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL); } gtk_widget_show_all (window); if(!txnmode) { hb_widget_visible (data->LB_force, FALSE); hb_widget_visible (data->GR_force, FALSE); } if( *data->filter->last_tab != '\0' ) gtk_stack_set_visible_child_name (GTK_STACK(data->stack), data->filter->last_tab); DB( g_print(" set page '%s'\n", data->filter->last_tab) ); //wait for the user gint retval; // = 55; //while( result == 55 ) //{ retval = gtk_dialog_run (GTK_DIALOG (window)); switch (retval) { case GTK_RESPONSE_ACCEPT: //do_application_specific_something (); ui_flt_manage_get(data); break; case 55: ui_flt_manage_clear(window, NULL); ui_flt_manage_get(data); break; default: //do_nothing_since_dialog_was_cancelled (); break; } //} // cleanup and destroy //ui_flt_manage_cleanup(&data, result); DB( g_print(" free\n") ); //g_free(data); DB( g_print(" destroy\n") ); gtk_widget_destroy (window); g_free(data); DB( g_print(" all ok\n") ); return retval; } homebank-5.3.2/src/hb-misc.c0000644000175000017500000005146113604720365012520 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 . */ //nota: this file should be renamed hb-utils #include "homebank.h" #include "hb-misc.h" #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static const double fac[9] = { 1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000 }; double hb_amount_round(const double x, unsigned int digits) { digits = MAX(digits, 8); return floor((x * fac[digits]) + 0.5) / fac[digits]; } // used to convert from national to euro currency // used in hb_account.c :: only when convert account to euro // round option is to 0.5 case so 1.32 is 1.3, but 1.35 is 1.4 gdouble hb_amount_to_euro(gdouble amount) { return hb_amount_round((amount * PREFS->euro_value), PREFS->minor_cur.frac_digits); } /* new >5.1 currency fct * * convert an amount in base currency * */ gdouble hb_amount_base(gdouble value, guint32 kcur) { gdouble newvalue; Currency *cur; if(kcur == GLOBALS->kcur) return value; cur = da_cur_get(kcur); if(cur == NULL || cur->rate == 0.0) return 0; newvalue = value / cur->rate; return hb_amount_round(newvalue, cur->frac_digits); } gboolean hb_amount_type_match(gdouble amount, gint type) { gboolean retval = TRUE; if( (type == TXN_TYPE_EXPENSE) && (amount > 0) ) retval = FALSE; if( (type == TXN_TYPE_INCOME ) && (amount < 0) ) retval = FALSE; return retval; } static Currency *hb_strfmon_check(gchar *outstr, guint32 kcur) { Currency *cur = da_cur_get(kcur); if(cur == NULL) g_stpcpy(outstr, "nan"); return cur; } gdouble hb_rate(gdouble value, gdouble total) { return (total) ? ABS((value * 100 / total)) : 0.0; } gchar *hb_str_rate(gchar *outstr, gint outlen, gdouble rate) { gint count, i; gchar *p; count = g_snprintf(outstr, outlen, "%.6f", rate); //remove trailing 0 and decimal point p = &outstr[count-1]; for(i=count;i>0;i--) { if(*p == '0') *p = '\0'; else break; p--; } if(*p == '.' || *p == ',') *p = '\0'; return outstr; } /* this function copy a number 99999.99 at s into d and count * number of digits for integer part and decimal part */ static gchar * _strfnumcopycount(gchar *s, gchar *d, gchar *decchar, gint *plen, gint *pnbint, gint *pnbdec) { gint len=0, nbint=0, nbdec=0; // sign part if(*s == '-') { *d++ = *s++; len++; } // integer part while(*s != 0 && *s != '.') { *d++ = *s++; nbint++; len++; } // decimal separator if(*s == '.') { d = g_stpcpy(d, decchar); len++; s++; } // decimal part while(*s != 0) { *d++ = *s++; nbdec++; len++; } // end string | fill external count *d = 0; *plen = len; *pnbint = nbint; *pnbdec = nbdec; return d; } //todo: used only in ui_prefs.c gchar *hb_str_formatd(gchar *outstr, gint outlen, gchar *buf1, Currency *cur, gboolean showsymbol) { gint len, nbd, nbi; gchar *s, *d, *tmp; d = tmp = outstr; if(showsymbol && cur->sym_prefix) { d = g_stpcpy (d, cur->symbol); *d++ = ' '; tmp = d; } d = _strfnumcopycount(buf1, d, cur->decimal_char, &len, &nbi, &nbd); if( cur->grouping_char != NULL && strlen(cur->grouping_char) > 0 ) { gint i, grpcnt; s = buf1; d = tmp; if(*s == '-') *d++ = *s++; grpcnt = 4 - nbi; for(i=0;igrouping_char); } grpcnt++; } if(nbd > 0) { d = g_stpcpy(d, cur->decimal_char); d = g_stpcpy(d, s+1); } *d = 0; } if(showsymbol && !cur->sym_prefix) { *d++ = ' '; d = g_stpcpy (d, cur->symbol); } *d = 0; return d; } void hb_strfmon(gchar *outstr, gint outlen, gdouble value, guint32 kcur, gboolean minor) { gchar formatd_buf[outlen]; Currency *cur; gdouble monval; if(minor == FALSE) { cur = hb_strfmon_check(outstr, kcur); if(cur != NULL) { monval = hb_amount_round(value, cur->frac_digits); g_ascii_formatd(formatd_buf, outlen, cur->format, monval); hb_str_formatd(outstr, outlen, formatd_buf, cur, TRUE); } } else { monval = hb_amount_base(value, kcur); monval = hb_amount_to_euro(monval); cur = &PREFS->minor_cur; g_ascii_formatd(formatd_buf, outlen, cur->format, monval); hb_str_formatd(outstr, outlen, formatd_buf, cur, TRUE); } } void hb_strfmon_int(gchar *outstr, gint outlen, gdouble value, guint32 kcur, gboolean minor) { gchar formatd_buf[outlen]; Currency *cur; gdouble monval; if(minor == FALSE) { cur = hb_strfmon_check(outstr, kcur); if(cur != NULL) { monval = hb_amount_round(value, cur->frac_digits); g_ascii_formatd(formatd_buf, outlen, "%0.f", monval); hb_str_formatd(outstr, outlen, formatd_buf, cur, TRUE); } } else { monval = hb_amount_base(value, kcur); monval = hb_amount_to_euro(monval); cur = &PREFS->minor_cur; g_ascii_formatd(formatd_buf, outlen, cur->format, monval); hb_str_formatd(outstr, outlen, formatd_buf, cur, TRUE); } } void hb_strfnum(gchar *outstr, gint outlen, gdouble value, guint32 kcur, gboolean minor) { gchar formatd_buf[outlen]; Currency *cur; gdouble monval; if(minor == FALSE) { cur = hb_strfmon_check(outstr, kcur); if(cur != NULL) { monval = hb_amount_round(value, cur->frac_digits); g_ascii_formatd(formatd_buf, outlen, "%.2f", monval); hb_str_formatd(outstr, outlen, formatd_buf, cur, TRUE); } } else { cur = &PREFS->minor_cur; monval = hb_amount_to_euro(value); g_ascii_formatd(formatd_buf, outlen, "%.2f", monval); hb_str_formatd(outstr, outlen, formatd_buf, cur, TRUE); } } gchar *get_normal_color_amount(gdouble value) { gchar *color = NULL; //fix: 400483 value = hb_amount_round(value, 2); if(value != 0.0 && PREFS->custom_colors == TRUE) { color = (value > 0.0) ? PREFS->color_inc : PREFS->color_exp; } return color; } gchar *get_minimum_color_amount(gdouble value, gdouble minvalue) { gchar *color = NULL; //fix: 400483 value = hb_amount_round(value, 2); if(value != 0.0 && PREFS->custom_colors == TRUE) { color = (value > 0.0) ? PREFS->color_inc : PREFS->color_exp; if( value < minvalue) color = PREFS->color_warn; } return color; } void hb_label_set_amount(GtkLabel *label, gdouble value, guint32 kcur, gboolean minor) { gchar strbuffer[G_ASCII_DTOSTR_BUF_SIZE]; hb_strfmon(strbuffer, G_ASCII_DTOSTR_BUF_SIZE-1, value, kcur, minor); gtk_label_set_text(GTK_LABEL(label), strbuffer); } /* ** format/color and set a label text with a amount value */ void hb_label_set_colvalue(GtkLabel *label, gdouble value, guint32 kcur, gboolean minor) { gchar strbuffer[G_ASCII_DTOSTR_BUF_SIZE]; gchar *markuptxt; gchar *color = NULL; hb_strfmon(strbuffer, G_ASCII_DTOSTR_BUF_SIZE-1, value, kcur, minor); if(value != 0.0 && PREFS->custom_colors == TRUE) { color = get_normal_color_amount(value); //g_print("color: %s\n", color); if(color) { markuptxt = g_strdup_printf("%s", color, strbuffer); gtk_label_set_markup(GTK_LABEL(label), markuptxt); g_free(markuptxt); return; } } gtk_label_set_text(GTK_LABEL(label), strbuffer); } /* ** String utility */ gint hb_string_ascii_compare(gchar *s1, gchar *s2) { return g_ascii_strncasecmp(s1 == NULL ? "" : s1, s2 == NULL ? "" : s2, -1); } gint hb_string_compare(gchar *s1, gchar *s2) { gint retval = 0; if (s1 == NULL || s2 == NULL) { if (s1 == NULL && s2 == NULL) goto end; retval = (s1 == NULL) ? -1 : 1; } else { retval = strcasecmp(s1, s2); } end: return retval; } gint hb_string_utf8_strstr(gchar *haystack, gchar *needle, gboolean exact) { gint retval = FALSE; if( exact ) { if( g_strstr_len(haystack, -1, needle) != NULL ) { DB( g_print(" found case '%s'\n", needle) ); retval = 1; } } else { gchar *nchaystack = g_utf8_casefold(haystack, -1); gchar *ncneedle = g_utf8_casefold(needle, -1); if( g_strrstr(nchaystack, ncneedle) != NULL ) { DB( g_print(" found nocase '%s'\n", ncneedle) ); retval = 1; } g_free(nchaystack); g_free(ncneedle); } return retval; } /* * compare 2 utf8 string */ gint hb_string_utf8_compare(gchar *s1, gchar *s2) { gint retval = 0; gchar *ns1, *ns2; if (s1 == NULL || s2 == NULL) { if (s1 == NULL && s2 == NULL) goto end; retval = (s1 == NULL) ? -1 : 1; } else { //#1325969 //retval = g_utf8_collate(s1 != NULL ? s1 : "", s2 != NULL ? s2 : ""); ns1 = g_utf8_normalize(s1, -1, G_NORMALIZE_DEFAULT); ns2 = g_utf8_normalize(s2, -1, G_NORMALIZE_DEFAULT); retval = strcasecmp(ns1, ns2); g_free(ns2); g_free(ns1); } end: return retval; } void hb_string_strip_utf8_bom(gchar *str) { if( g_str_has_prefix(str, "\xEF\xBB\xBF") ) { gint len; DB( g_print("BOM is present into '%s'\n", str) ); len = strlen(str); if(len>3) { memmove(str, str+3, len-3); str[len-3] = 0; } } } void hb_string_strip_crlf(gchar *str) { gchar *p = str; if(str) { while( *p ) { if( *p == '\n' || *p == '\r') { *p = '\0'; } p++; } } } gboolean hb_string_has_leading_trailing(gchar *str) { gsize str_len; g_return_val_if_fail (str != NULL, FALSE); str_len = strlen (str); if(*str == ' ' || str[str_len-1] == ' ') return TRUE; return FALSE; } //TODO: rename this it remove not replace void hb_string_replace_char(gchar c, gchar *str) { gchar *s = str; gchar *d = str; if(str) { while( *s ) { if( *s != c ) { *d++ = *s; } s++; } *d = 0; } } gchar *hb_string_copy_jsonpair(gchar *dst, gchar *str) { while( *str!='\0' ) { if( *str=='}' ) break; if( *str==',' ) { *dst = '\0'; return str + 1; } if( *str!='{' && *str!='\"' ) { *dst++ = *str; } str++; } *dst = '\0'; return NULL; } void hb_string_inline(gchar *str) { gchar *s = str; gchar *d = str; if(str) { while( *s ) { if( !(*s==' ' || *s=='\t' || *s=='\n' || *s=='\r') ) { *d++ = *s; } s++; } *d = 0; } } /*void strip_extra_spaces(char* str) { int i,x; for(i=x=1; str[i]; ++i) if(!isspace(str[i]) || (i>0 && !isspace(str[i-1]))) str[x++] = str[i]; str[x] = '\0'; }*/ gchar* hb_strdup_nobrackets (const gchar *str) { const gchar *s; gchar *new_str, *d; gsize length; if (str) { length = strlen (str) + 1; new_str = g_new (char, length); s = str; d = new_str; while(*s != '\0') { if( *s != '[' && *s != ']' ) *d++ = *s; s++; } *d = '\0'; } else new_str = NULL; return new_str; } /* if we found a . or , within last x digits it might be a dchar */ static gchar hb_string_raw_amount_guess_dchar(const gchar *s, gint len, gshort digit) { gint nbc, nbd, i; gchar gdc='.'; DB( g_print(" digit=%d maxidx=%d\n", digit, len-digit-1) ); nbc = nbd = 0; for(i=len-1;i>=0;i--) { DB( g_print(" [%2d] '%c' %d %d '%c'\n", i, s[i], nbc, nbd, gdc) ); //store rightmost ,. within digit-1 if( i>=(len-digit-1) ) { if(s[i]=='.' || s[i]==',') gdc=s[i]; } if(s[i]=='.') nbd++; else if(s[i]==',') nbc++; } if( gdc=='.' && nbd > 1) gdc='?'; else if( gdc==',' && nbc > 1) gdc='?'; return gdc; } gchar *hb_string_dup_raw_amount_clean(const gchar *string, gint digits) { gint l; gchar *new_str, *d; gchar gdc; const gchar *p = string; l = strlen(string); gdc = hb_string_raw_amount_guess_dchar(string, l, digits); new_str = d = g_malloc (l+1); while(*p) { if(*p=='-' || g_ascii_isdigit(*p) ) *d++ = *p; else if( *p==gdc ) { *d++ = '.'; } p++; } *d++ = '\0'; return new_str; } static gboolean hb_date_parser_get_nums(gchar *string, gint *n1, gint *n2, gint *n3) { gboolean retval; gchar **str_array; //DB( g_print("(qif) hb_qif_parser_get_dmy for '%s'\n", string) ); retval = FALSE; if( string ) { str_array = g_strsplit (string, "/", 3); if( g_strv_length( str_array ) != 3 ) { g_strfreev (str_array); str_array = g_strsplit (string, ".", 3); // fix 371381 //todo test if( g_strv_length( str_array ) != 3 ) { g_strfreev (str_array); str_array = g_strsplit (string, "-", 3); } } if( g_strv_length( str_array ) == 3 ) { *n1 = atoi(str_array[0]); *n2 = atoi(str_array[1]); *n3 = atoi(str_array[2]); retval = TRUE; } g_strfreev (str_array); } return retval; } guint32 hb_date_get_julian(gchar *string, gint datefmt) { GDate *date; gint n1, n2, n3, d, m, y; guint32 julian = 0; DB( g_print("\n[utils] hb_date_get_julian\n") ); DB( g_print(" - '%s' dateorder=%d\n", string, datefmt) ); if( hb_date_parser_get_nums(string, &n1, &n2, &n3) ) { DB( g_print(" - '%d' '%d' '%d'\n", n1, n2, n3) ); switch(datefmt) { case PRF_DATEFMT_MDY: d = n2; m = n1; y = n3; break; case PRF_DATEFMT_DMY: d = n1; m = n2; y = n3; break; default: case PRF_DATEFMT_YMD: d = n3; m = n2; y = n1; break; } //correct for 2 digits year if(y < 1970) { if(y < 60) y += 2000; else y += 1900; } if(d <= 31 && m <= 12) { if( g_date_valid_dmy(d, m, y) ) { date = g_date_new_dmy(d, m, y); julian = g_date_get_julian (date); g_date_free(date); } } DB( g_print(" > %d %d %d julian=%d\n", d, m, y, julian) ); } return julian; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =*/ gint hb_filename_type_get_by_extension(gchar *filepath) { gint retval = FILETYPE_UNKNOWN; gint str_len; g_return_val_if_fail(filepath != NULL, FILETYPE_UNKNOWN); str_len = strlen(filepath); if( str_len >= 4 ) { if( strcasecmp(filepath + str_len - 4, ".ofx") == 0) retval = FILETYPE_OFX; else if( strcasecmp(filepath + str_len - 4, ".qif") == 0) retval = FILETYPE_QIF; else if( strcasecmp(filepath + str_len - 4, ".qfx") == 0) retval = FILETYPE_OFX; else if( strcasecmp(filepath + str_len - 4, ".csv") == 0) retval = FILETYPE_CSV_HB; else if( strcasecmp(filepath + str_len - 4, ".xhb") == 0) retval = FILETYPE_HOMEBANK; } return retval; } static gchar *hb_filename_new_without_extension(gchar *filename) { gchar *lastdot; lastdot = g_strrstr (filename, "."); if(lastdot != NULL) { return g_strndup(filename, strlen(filename) - strlen(lastdot)); } return g_strdup(filename); } static gint hb_filename_backup_list_sort_func(gchar **a, gchar **b) { gint da = atoi( *a + strlen(*a) - 12); gint db = atoi( *b + strlen(*b) - 12); return db - da; } GPtrArray *hb_filename_backup_list(gchar *filename) { gchar *dirname, *basename; gchar *rawfilename, *pattern; GDir *dir; const gchar *tmpname; GPatternSpec *pspec; GPtrArray *array; DB( g_print("\n[util] filename backup list\n") ); dirname = g_path_get_dirname(filename); basename = g_path_get_basename(filename); DB( g_print(" dir='%s' base='%s'\n", dirname, basename) ); rawfilename = hb_filename_new_without_extension(basename); pattern = g_strdup_printf("%s-????????.bak", rawfilename); pspec = g_pattern_spec_new(pattern); DB( g_print(" pattern='%s'\n", pattern) ); array = g_ptr_array_new_with_free_func(g_free); //dir = g_dir_open (PREFS->path_hbfile, 0, NULL); dir = g_dir_open (PREFS->path_hbbak, 0, NULL); if (dir) { while ((tmpname = g_dir_read_name (dir)) != NULL) { gboolean match; match = g_pattern_match_string(pspec, tmpname); if( match ) { DB( g_print(" %d => '%s'\n", match, tmpname) ); g_ptr_array_add(array, g_strdup(tmpname)); } } } g_free(pattern); g_dir_close (dir); g_pattern_spec_free(pspec); g_free(rawfilename); g_free(basename); g_free(dirname); g_ptr_array_sort(array, (GCompareFunc)hb_filename_backup_list_sort_func); return array; } gchar * hb_filename_backup_get_filtername(gchar *filename) { gchar *basename; gchar *rawfilename, *pattern; DB( g_print("\n[util] filename backup get filtername\n") ); basename = g_path_get_basename(filename); rawfilename = hb_filename_new_without_extension(basename); pattern = g_strdup_printf("%s*.[Bb][Aa][Kk]", rawfilename); g_free(rawfilename); g_free(basename); return pattern; } gchar * hb_filename_new_for_backup(gchar *filename) { gchar *basename, *rawfilename, *newfilename, *newfilepath; GDate date; basename = g_path_get_basename(filename); rawfilename = hb_filename_new_without_extension(basename); g_date_clear(&date, 1); g_date_set_julian (&date, GLOBALS->today); newfilename = g_strdup_printf("%s-%04d%02d%02d.bak", rawfilename, g_date_get_year(&date), g_date_get_month(&date), g_date_get_day(&date) ); newfilepath = g_build_filename(PREFS->path_hbbak, newfilename, NULL); g_free(newfilename); g_free(rawfilename); g_free(basename); return newfilepath; } gchar *hb_filename_new_with_extension(gchar *filename, const gchar *extension) { gchar *rawfilename, *newfilename; DB( g_print("\n[util] filename new with extension\n") ); rawfilename = hb_filename_new_without_extension(filename); newfilename = g_strdup_printf("%s.%s", rawfilename, extension); g_free(rawfilename); DB( g_print(" - '%s' => '%s'\n", filename, newfilename) ); return newfilename; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =*/ gboolean hb_string_isdate(gchar *str) { gint d, m, y; return(hb_date_parser_get_nums(str, &d, &m, &y)); } gboolean hb_string_isdigit(gchar *str) { gboolean valid = TRUE; while(*str && valid) valid = g_ascii_isdigit(*str++); return valid; } /* gboolean hb_string_isprint(gchar *str) { gboolean valid = TRUE; while(*str && valid) valid = g_ascii_isprint(*str++); return valid; } */ gboolean hb_string_isprint(gchar *str) { gboolean valid = TRUE; gchar *p; gunichar c; if(g_utf8_validate(str, -1, NULL)) { p = str; while(*p && valid) { c = g_utf8_get_char(p); valid = g_unichar_isprint(c); p = g_utf8_next_char(p); } } return valid; } gchar *hb_sprint_date(gchar *outstr, guint32 julian) { GDate date; g_date_clear(&date, 1); g_date_set_julian (&date, julian); switch(PREFS->dtex_datefmt) { case PRF_DATEFMT_MDY: { g_sprintf(outstr, "%02d/%02d/%04d", g_date_get_month(&date), g_date_get_day(&date), g_date_get_year(&date) ); } break; case PRF_DATEFMT_DMY: { g_sprintf(outstr, "%02d/%02d/%04d", g_date_get_day(&date), g_date_get_month(&date), g_date_get_year(&date) ); } break; default: g_sprintf(outstr, "%04d/%02d/%02d", g_date_get_year(&date), g_date_get_month(&date), g_date_get_day(&date) ); break; } return outstr; } //used only in DB() macro !! void hb_print_date(guint32 jdate, gchar *label) { gchar buffer1[128]; GDate *date; date = g_date_new_julian(jdate); g_date_strftime (buffer1, 128-1, "%x", date); g_date_free(date); g_print(" - %s %s\n", label != NULL ? label:"date is", buffer1); } /* ** parse a string an retrieve an iso date (dd-mm-yy(yy) or dd/mm/yy(yy)) ** */ /* obsolete 4.5 guint32 hb_date_get_julian_parse(gchar *str) { gchar **str_array = NULL; GDate *date; guint d, m, y; guint32 julian = GLOBALS->today; // try with - separator if( g_strrstr(str, "-") != NULL ) { str_array = g_strsplit (str, "-", 3); } else { if( g_strrstr(str, "/") != NULL ) { str_array = g_strsplit (str, "/", 3); } } if( g_strv_length( str_array ) == 3 ) { d = atoi(str_array[0]); m = atoi(str_array[1]); y = atoi(str_array[2]); //correct for 2 digits year if(y < 1970) { if(y < 60) y += 2000; else y += 1900; } //todo: here if month is > 12 then the format is probably mm/dd/yy(yy) //or maybe check with g_date_valid_julian(julian) date = g_date_new(); g_date_set_dmy(date, d, m, y); julian = g_date_get_julian (date); g_date_free(date); DB( g_print("date: %s :: %d %d %d :: %d\n", str, d, m, y, julian ) ); } g_strfreev (str_array); return julian; } */ /* -------------------- */ #if MYDEBUG == 1 /* ** hex memory dump */ #define MAX_DUMP 16 void hex_dump(guchar *ptr, guint length) { guchar ascii[MAX_DUMP+4]; guint i,j; g_print("**hex_dump - %d bytes\n", length); for(i=0;i= length) break; //store ascii value if(ptr[i] >= 32 && ptr[i] <= 126) ascii[j] = ptr[i]; else ascii[j] = '.'; g_print("%02x ", ptr[i]); i++; } //newline ascii[j] = 0; g_print(" '%s'\n", ascii); } } #endif homebank-5.3.2/src/hub-scheduled.h0000664000175000017500000000211113604720371013702 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "dsp-mainwindow.h" #ifndef __HUB_SCHEDULED_H__ #define __HUB_SCHEDULED_H__ void ui_hub_scheduled_postall(GtkWidget *widget, gpointer user_data); void ui_hub_scheduled_populate(GtkWidget *widget, gpointer user_data); GtkWidget *ui_hub_scheduled_create(struct hbfile_data *data); #endifhomebank-5.3.2/src/language.c0000644000175000017500000005175313604720365012765 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 . */ /* Win32 language lookup table: * Copyright (C) 2007-2008 Dieter Verfaillie */ #include "homebank.h" #include #include #ifdef G_OS_WIN32 #define WINVER 0x0501 #define _WIN32_WINNT 0x0501 #define _WIN32_WINDOWS 0x0501 #include #include #endif #include "language.h" void language_init (const gchar *language) { #ifdef G_OS_WIN32 if (! language) { /* FIXME: This is a hack. gettext doesn't pick the right language * by default on Windows, so we enforce the right one. The * following code is an adaptation of Python code from * pynicotine. For reasons why this approach is needed, and why * the GetLocaleInfo() approach in other libs falls flat, see: * http://blogs.msdn.com/b/michkap/archive/2007/04/15/2146890.aspx */ switch (GetUserDefaultUILanguage()) { case 1078: language = "af"; /* Afrikaans - South Africa */ break; case 1052: language = "sq"; /* Albanian - Albania */ break; case 1118: language = "am"; /* Amharic - Ethiopia */ break; case 1025: language = "ar"; /* Arabic - Saudi Arabia */ break; case 5121: language = "ar"; /* Arabic - Algeria */ break; case 15361: language = "ar"; /* Arabic - Bahrain */ break; case 3073: language = "ar"; /* Arabic - Egypt */ break; case 2049: language = "ar"; /* Arabic - Iraq */ break; case 11265: language = "ar"; /* Arabic - Jordan */ break; case 13313: language = "ar"; /* Arabic - Kuwait */ break; case 12289: language = "ar"; /* Arabic - Lebanon */ break; case 4097: language = "ar"; /* Arabic - Libya */ break; case 6145: language = "ar"; /* Arabic - Morocco */ break; case 8193: language = "ar"; /* Arabic - Oman */ break; case 16385: language = "ar"; /* Arabic - Qatar */ break; case 10241: language = "ar"; /* Arabic - Syria */ break; case 7169: language = "ar"; /* Arabic - Tunisia */ break; case 14337: language = "ar"; /* Arabic - U.A.E. */ break; case 9217: language = "ar"; /* Arabic - Yemen */ break; case 1067: language = "hy"; /* Armenian - Armenia */ break; case 1101: language = "as"; /* Assamese */ break; case 2092: language = NULL; /* Azeri (Cyrillic) */ break; case 1068: language = NULL; /* Azeri (Latin) */ break; case 1069: language = "eu"; /* Basque */ break; case 1059: language = "be"; /* Belarusian */ break; case 1093: language = "bn"; /* Bengali (India) */ break; case 2117: language = "bn"; /* Bengali (Bangladesh) */ break; case 5146: language = "bs"; /* Bosnian (Bosnia/Herzegovina) */ break; case 1026: language = "bg"; /* Bulgarian */ break; case 1109: language = "my"; /* Burmese */ break; case 1027: language = "ca"; /* Catalan */ break; case 1116: language = NULL; /* Cherokee - United States */ break; case 2052: language = "zh"; /* Chinese - People"s Republic of China */ break; case 4100: language = "zh"; /* Chinese - Singapore */ break; case 1028: language = "zh"; /* Chinese - Taiwan */ break; case 3076: language = "zh"; /* Chinese - Hong Kong SAR */ break; case 5124: language = "zh"; /* Chinese - Macao SAR */ break; case 1050: language = "hr"; /* Croatian */ break; case 4122: language = "hr"; /* Croatian (Bosnia/Herzegovina) */ break; case 1029: language = "cs"; /* Czech */ break; case 1030: language = "da"; /* Danish */ break; case 1125: language = "dv"; /* Divehi */ break; case 1043: language = "nl"; /* Dutch - Netherlands */ break; case 2067: language = "nl"; /* Dutch - Belgium */ break; case 1126: language = NULL; /* Edo */ break; case 1033: language = "en"; /* English - United States */ break; case 2057: language = "en"; /* English - United Kingdom */ break; case 3081: language = "en"; /* English - Australia */ break; case 10249: language = "en"; /* English - Belize */ break; case 4105: language = "en"; /* English - Canada */ break; case 9225: language = "en"; /* English - Caribbean */ break; case 15369: language = "en"; /* English - Hong Kong SAR */ break; case 16393: language = "en"; /* English - India */ break; case 14345: language = "en"; /* English - Indonesia */ break; case 6153: language = "en"; /* English - Ireland */ break; case 8201: language = "en"; /* English - Jamaica */ break; case 17417: language = "en"; /* English - Malaysia */ break; case 5129: language = "en"; /* English - New Zealand */ break; case 13321: language = "en"; /* English - Philippines */ break; case 18441: language = "en"; /* English - Singapore */ break; case 7177: language = "en"; /* English - South Africa */ break; case 11273: language = "en"; /* English - Trinidad */ break; case 12297: language = "en"; /* English - Zimbabwe */ break; case 1061: language = "et"; /* Estonian */ break; case 1080: language = "fo"; /* Faroese */ break; case 1065: language = NULL; /* Farsi */ break; case 1124: language = NULL; /* Filipino */ break; case 1035: language = "fi"; /* Finnish */ break; case 1036: language = "fr"; /* French - France */ break; case 2060: language = "fr"; /* French - Belgium */ break; case 11276: language = "fr"; /* French - Cameroon */ break; case 3084: language = "fr"; /* French - Canada */ break; case 9228: language = "fr"; /* French - Democratic Rep. of Congo */ break; case 12300: language = "fr"; /* French - Cote d"Ivoire */ break; case 15372: language = "fr"; /* French - Haiti */ break; case 5132: language = "fr"; /* French - Luxembourg */ break; case 13324: language = "fr"; /* French - Mali */ break; case 6156: language = "fr"; /* French - Monaco */ break; case 14348: language = "fr"; /* French - Morocco */ break; case 58380: language = "fr"; /* French - North Africa */ break; case 8204: language = "fr"; /* French - Reunion */ break; case 10252: language = "fr"; /* French - Senegal */ break; case 4108: language = "fr"; /* French - Switzerland */ break; case 7180: language = "fr"; /* French - West Indies */ break; case 1122: language = "fy"; /* Frisian - Netherlands */ break; case 1127: language = NULL; /* Fulfulde - Nigeria */ break; case 1071: language = "mk"; /* FYRO Macedonian */ break; case 2108: language = "ga"; /* Gaelic (Ireland) */ break; case 1084: language = "gd"; /* Gaelic (Scotland) */ break; case 1110: language = "gl"; /* Galician */ break; case 1079: language = "ka"; /* Georgian */ break; case 1031: language = "de"; /* German - Germany */ break; case 3079: language = "de"; /* German - Austria */ break; case 5127: language = "de"; /* German - Liechtenstein */ break; case 4103: language = "de"; /* German - Luxembourg */ break; case 2055: language = "de"; /* German - Switzerland */ break; case 1032: language = "el"; /* Greek */ break; case 1140: language = "gn"; /* Guarani - Paraguay */ break; case 1095: language = "gu"; /* Gujarati */ break; case 1128: language = "ha"; /* Hausa - Nigeria */ break; case 1141: language = NULL; /* Hawaiian - United States */ break; case 1037: language = "he"; /* Hebrew */ break; case 1081: language = "hi"; /* Hindi */ break; case 1038: language = "hu"; /* Hungarian */ break; case 1129: language = NULL; /* Ibibio - Nigeria */ break; case 1039: language = "is"; /* Icelandic */ break; case 1136: language = "ig"; /* Igbo - Nigeria */ break; case 1057: language = "id"; /* Indonesian */ break; case 1117: language = "iu"; /* Inuktitut */ break; case 1040: language = "it"; /* Italian - Italy */ break; case 2064: language = "it"; /* Italian - Switzerland */ break; case 1041: language = "ja"; /* Japanese */ break; case 1099: language = "kn"; /* Kannada */ break; case 1137: language = "kr"; /* Kanuri - Nigeria */ break; case 2144: language = "ks"; /* Kashmiri */ break; case 1120: language = "ks"; /* Kashmiri (Arabic) */ break; case 1087: language = "kk"; /* Kazakh */ break; case 1107: language = "km"; /* Khmer */ break; case 1111: language = NULL; /* Konkani */ break; case 1042: language = "ko"; /* Korean */ break; case 1088: language = "ky"; /* Kyrgyz (Cyrillic) */ break; case 1108: language = "lo"; /* Lao */ break; case 1142: language = "la"; /* Latin */ break; case 1062: language = "lv"; /* Latvian */ break; case 1063: language = "lt"; /* Lithuanian */ break; case 1086: language = "ms"; /* Malay - Malaysia */ break; case 2110: language = "ms"; /* Malay - Brunei Darussalam */ break; case 1100: language = "ml"; /* Malayalam */ break; case 1082: language = "mt"; /* Maltese */ break; case 1112: language = NULL; /* Manipuri */ break; case 1153: language = "mi"; /* Maori - New Zealand */ break; case 1102: language = "mr"; /* Marathi */ break; case 1104: language = "mn"; /* Mongolian (Cyrillic) */ break; case 2128: language = "mn"; /* Mongolian (Mongolian) */ break; case 1121: language = "ne"; /* Nepali */ break; case 2145: language = "ne"; /* Nepali - India */ break; case 1044: language = "no"; /* Norwegian (Bokmᅢᆬl) */ break; case 2068: language = "no"; /* Norwegian (Nynorsk) */ break; case 1096: language = "or"; /* Oriya */ break; case 1138: language = "om"; /* Oromo */ break; case 1145: language = NULL; /* Papiamentu */ break; case 1123: language = "ps"; /* Pashto */ break; case 1045: language = "pl"; /* Polish */ break; case 1046: language = "pt"; /* Portuguese - Brazil */ break; case 2070: language = "pt"; /* Portuguese - Portugal */ break; case 1094: language = "pa"; /* Punjabi */ break; case 2118: language = "pa"; /* Punjabi (Pakistan) */ break; case 1131: language = "qu"; /* Quecha - Bolivia */ break; case 2155: language = "qu"; /* Quecha - Ecuador */ break; case 3179: language = "qu"; /* Quecha - Peru */ break; case 1047: language = "rm"; /* Rhaeto-Romanic */ break; case 1048: language = "ro"; /* Romanian */ break; case 2072: language = "ro"; /* Romanian - Moldava */ break; case 1049: language = "ru"; /* Russian */ break; case 2073: language = "ru"; /* Russian - Moldava */ break; case 1083: language = NULL; /* Sami (Lappish) */ break; case 1103: language = "sa"; /* Sanskrit */ break; case 1132: language = NULL; /* Sepedi */ break; case 3098: language = "sr"; /* Serbian (Cyrillic) */ break; case 2074: language = "sr"; /* Serbian (Latin) */ break; case 1113: language = "sd"; /* Sindhi - India */ break; case 2137: language = "sd"; /* Sindhi - Pakistan */ break; case 1115: language = "si"; /* Sinhalese - Sri Lanka */ break; case 1051: language = "sk"; /* Slovak */ break; case 1060: language = "sl"; /* Slovenian */ break; case 1143: language = "so"; /* Somali */ break; case 1070: language = NULL; /* Sorbian */ break; case 3082: language = "es"; /* Spanish - Spain (Modern Sort) */ break; case 1034: language = "es"; /* Spanish - Spain (Traditional Sort) */ break; case 11274: language = "es"; /* Spanish - Argentina */ break; case 16394: language = "es"; /* Spanish - Bolivia */ break; case 13322: language = "es"; /* Spanish - Chile */ break; case 9226: language = "es"; /* Spanish - Colombia */ break; case 5130: language = "es"; /* Spanish - Costa Rica */ break; case 7178: language = "es"; /* Spanish - Dominican Republic */ break; case 12298: language = "es"; /* Spanish - Ecuador */ break; case 17418: language = "es"; /* Spanish - El Salvador */ break; case 4106: language = "es"; /* Spanish - Guatemala */ break; case 18442: language = "es"; /* Spanish - Honduras */ break; case 58378: language = "es"; /* Spanish - Latin America */ break; case 2058: language = "es"; /* Spanish - Mexico */ break; case 19466: language = "es"; /* Spanish - Nicaragua */ break; case 6154: language = "es"; /* Spanish - Panama */ break; case 15370: language = "es"; /* Spanish - Paraguay */ break; case 10250: language = "es"; /* Spanish - Peru */ break; case 20490: language = "es"; /* Spanish - Puerto Rico */ break; case 21514: language = "es"; /* Spanish - United States */ break; case 14346: language = "es"; /* Spanish - Uruguay */ break; case 8202: language = "es"; /* Spanish - Venezuela */ break; case 1072: language = NULL; /* Sutu */ break; case 1089: language = "sw"; /* Swahili */ break; case 1053: language = "sv"; /* Swedish */ break; case 2077: language = "sv"; /* Swedish - Finland */ break; case 1114: language = NULL; /* Syriac */ break; case 1064: language = "tg"; /* Tajik */ break; case 1119: language = NULL; /* Tamazight (Arabic) */ break; case 2143: language = NULL; /* Tamazight (Latin) */ break; case 1097: language = "ta"; /* Tamil */ break; case 1092: language = "tt"; /* Tatar */ break; case 1098: language = "te"; /* Telugu */ break; case 1054: language = "th"; /* Thai */ break; case 2129: language = "bo"; /* Tibetan - Bhutan */ break; case 1105: language = "bo"; /* Tibetan - People"s Republic of China */ break; case 2163: language = "ti"; /* Tigrigna - Eritrea */ break; case 1139: language = "ti"; /* Tigrigna - Ethiopia */ break; case 1073: language = "ts"; /* Tsonga */ break; case 1074: language = "tn"; /* Tswana */ break; case 1055: language = "tr"; /* Turkish */ break; case 1090: language = "tk"; /* Turkmen */ break; case 1152: language = "ug"; /* Uighur - China */ break; case 1058: language = "uk"; /* Ukrainian */ break; case 1056: language = "ur"; /* Urdu */ break; case 2080: language = "ur"; /* Urdu - India */ break; case 2115: language = "uz"; /* Uzbek (Cyrillic) */ break; case 1091: language = "uz"; /* Uzbek (Latin) */ break; case 1075: language = "ve"; /* Venda */ break; case 1066: language = "vi"; /* Vietnamese */ break; case 1106: language = "cy"; /* Welsh */ break; case 1076: language = "xh"; /* Xhosa */ break; case 1144: language = NULL; /* Yi */ break; case 1085: language = "yi"; /* Yiddish */ break; case 1130: language = "yo"; /* Yoruba */ break; case 1077: language = "zu"; /* Zulu */ break; default: language = NULL; } } #endif /* We already set the locale according to the environment, so just * return early if no language is set in gimprc. */ if (! language) return; g_setenv ("LANGUAGE", language, TRUE); setlocale (LC_ALL, ""); } homebank-5.3.2/src/ui-transaction.h0000644000175000017500000000515013606602110014122 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_TRANSACTION_GTK_H__ #define __HB_TRANSACTION_GTK_H__ #include "ui-split.h" /* official GTK_RESPONSE are negative */ #define HB_RESPONSE_ADD 1 #define HB_RESPONSE_ADDKEEP 2 enum { HID_AMOUNT, MAX_HID_AMOUNT }; struct deftransaction_data { GtkWidget *dialog; GtkWidget *RA_type; GtkWidget *LB_date, *GR_date; GtkWidget *PO_date, *LB_wday; GtkWidget *PO_pay; GtkWidget *ST_memo; GtkWidget *ST_amount, *BT_split, *LB_curr; GtkWidget *CM_cheque; GtkWidget *LB_mode, *NU_mode; GtkWidget *LB_info, *ST_info; GtkWidget *PO_cat; GtkWidget *LB_accfrom, *PO_acc; GtkWidget *LB_accto, *PO_accto; GtkWidget *ST_tags, *CY_tags; GtkWidget *CY_status; GtkWidget *IB_warnsign; GtkWidget *LB_msgadded; /* popover */ GtkWidget *MB_template; GtkTreeModel *model; GtkTreeModelFilter *modelfilter; GtkWidget *LV_arc; GtkWidget *CM_showsched; GtkWidget *CM_showallacc; GtkWidget *ST_search; HbTxnDlgAction action; HbTxnDlgType type; guint evtsrcid; gint accnum; guint32 kacc; gboolean showtemplate; Transaction *ope; }; enum { LST_DSPTPL_DATAS, LST_DSPTPL_NAME, NUM_LST_DSPTPL }; GtkWidget *create_deftransaction_window (GtkWindow *parent, HbTxnDlgAction action, HbTxnDlgType type, guint32 kacc); void deftransaction_set_amount(GtkWidget *widget, gdouble amount); void deftransaction_external_confirm(GtkWidget *dialog, Transaction *ope); gint deftransaction_external_edit(GtkWindow *parent, Transaction *old_txn, Transaction *new_txn); void deftransaction_set_transaction(GtkWidget *widget, Transaction *ope); void deftransaction_get (GtkWidget *widget, gpointer user_data); void deftransaction_add (GtkWidget *widget, gpointer user_data); void deftransaction_dispose(GtkWidget *widget, gpointer user_data); void deftransaction_set_amount_from_split(GtkWidget *widget, gdouble amount); #endif homebank-5.3.2/src/rep-vehicle.c0000644000175000017500000010275113610632311013366 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "rep-vehicle.h" #include "list-operation.h" #include "gtk-chart.h" #include "gtk-dateentry.h" #include "dsp-mainwindow.h" #include "ui-category.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; /* prototypes */ static void repvehicle_export_csv(GtkWidget *widget, gpointer user_data); static void repvehicle_date_change(GtkWidget *widget, gpointer user_data); static void repvehicle_range_change(GtkWidget *widget, gpointer user_data); static void repvehicle_compute(GtkWidget *widget, gpointer user_data); static void repvehicle_update(GtkWidget *widget, gpointer user_data); static void repvehicle_toggle_minor(GtkWidget *widget, gpointer user_data); static void repvehicle_setup(struct repvehicle_data *data); static gboolean repvehicle_window_dispose(GtkWidget *widget, GdkEvent *event, gpointer user_data); static GtkWidget *create_list_repvehicle(void); static void repvehicle_date_change(GtkWidget *widget, gpointer user_data) { struct repvehicle_data *data; DB( g_print("\n[vehiclecost] date change\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); data->filter->mindate = gtk_date_entry_get_date(GTK_DATE_ENTRY(data->PO_mindate)); data->filter->maxdate = gtk_date_entry_get_date(GTK_DATE_ENTRY(data->PO_maxdate)); // set min/max date for both widget gtk_date_entry_set_maxdate(GTK_DATE_ENTRY(data->PO_mindate), data->filter->maxdate); gtk_date_entry_set_mindate(GTK_DATE_ENTRY(data->PO_maxdate), data->filter->mindate); g_signal_handler_block(data->CY_range, data->handler_id[HID_REPVEHICLE_RANGE]); hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_range), FLT_RANGE_OTHER); g_signal_handler_unblock(data->CY_range, data->handler_id[HID_REPVEHICLE_RANGE]); repvehicle_compute(widget, NULL); } static void repvehicle_action_refresh(GtkToolButton *toolbutton, gpointer user_data) { struct repvehicle_data *data = user_data; repvehicle_compute(data->window, NULL); } static void repvehicle_action_export(GtkToolButton *toolbutton, gpointer user_data) { struct repvehicle_data *data = user_data; repvehicle_export_csv(data->window, NULL); } static void repvehicle_range_change(GtkWidget *widget, gpointer user_data) { struct repvehicle_data *data; gint range; DB( g_print("\n[vehiclecost] range change\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); range = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_range)); if(range != FLT_RANGE_OTHER) { filter_preset_daterange_set(data->filter, range, 0); g_signal_handler_block(data->PO_mindate, data->handler_id[HID_REPVEHICLE_MINDATE]); g_signal_handler_block(data->PO_maxdate, data->handler_id[HID_REPVEHICLE_MAXDATE]); gtk_date_entry_set_date(GTK_DATE_ENTRY(data->PO_mindate), data->filter->mindate); gtk_date_entry_set_date(GTK_DATE_ENTRY(data->PO_maxdate), data->filter->maxdate); g_signal_handler_unblock(data->PO_mindate, data->handler_id[HID_REPVEHICLE_MINDATE]); g_signal_handler_unblock(data->PO_maxdate, data->handler_id[HID_REPVEHICLE_MAXDATE]); repvehicle_compute(widget, NULL); } } static gint repvehicle_transaction_compare_func(CarCost *a, CarCost *b) { gint retval; //retval = (gint)(a->ope->date - b->ope->date); //if( retval == 0 ) retval = a->meter - b->meter; return retval; } //#1277622 static CarCost *repvehicle_eval_memofield(CarCost *item, gchar *text) { gchar *d, *v1, *v2; gint len; if( text != NULL) { len = strlen(text); d = g_strstr_len(text, len, "d="); v1 = g_strstr_len(text, len, "v="); v2 = g_strstr_len(text, len, "v~"); if(d && (v1 || v2)) { item->meter = atol(d+2); if(v1) { item->fuel = g_strtod(v1+2, NULL); item->partial = FALSE; } else { item->fuel = g_strtod(v2+2, NULL); item->partial = TRUE; } } } return item; } static void repvehicle_export_csv(GtkWidget *widget, gpointer user_data) { struct repvehicle_data *data; GtkTreeModel *model; GtkTreeIter iter; gboolean valid; gchar *filename = NULL; GIOChannel *io; gchar *outstr, *name; DB( g_print("\n[repvehicle] export csv\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); name = "hb-vehicle.csv"; if( ui_file_chooser_csv(GTK_WINDOW(data->window), GTK_FILE_CHOOSER_ACTION_SAVE, &filename, name) == TRUE ) { DB( g_print(" + filename is %s\n", filename) ); io = g_io_channel_new_file(filename, "w", NULL); if(io != NULL) { // header outstr = g_strdup_printf("%s;%s;%s;%s;%s;%s;%s;%s\n", _("Date"), _("Meter"), _("Fuel"), _("Price"), _("Amount"), _("Dist."), PREFS->vehicle_unit_100, PREFS->vehicle_unit_distbyvol ); g_io_channel_write_chars(io, outstr, -1, NULL, NULL); model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_report)); valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { guint32 julian; gint meter, dist, distbyvol; gdouble fuel, price, amount, centkm; gboolean partial; gchar datebuf[16]; gtk_tree_model_get (model, &iter, LST_CAR_DATE , &julian, LST_CAR_METER , &meter, LST_CAR_FUEL , &fuel, LST_CAR_PRICE , &price, LST_CAR_AMOUNT , &amount, LST_CAR_DIST , &dist, LST_CAR_100KM , ¢km, LST_CAR_DISTBYVOL, &distbyvol, LST_CAR_PARTIAL, &partial, -1); hb_sprint_date(datebuf, julian); outstr = g_strdup_printf("%s;%d;%.2f;%.2f;%.2f;%d;%.2f;%d;%d\n", datebuf, meter, fuel, price, amount, dist, centkm, distbyvol, partial); g_io_channel_write_chars(io, outstr, -1, NULL, NULL); DB( g_print("%s", outstr) ); g_free(outstr); valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } g_io_channel_unref (io); } g_free( filename ); } } static void repvehicle_compute(GtkWidget *widget, gpointer user_data) { struct repvehicle_data *data; GList *list; guint32 catkey; DB( g_print("\n[vehiclecost] compute\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); // clear the glist da_vehiclecost_destroy(data->vehicle_list); data->vehicle_list = NULL; // get the category key catkey = ui_cat_comboboxentry_get_key(GTK_COMBO_BOX(data->PO_cat)); /* do nothing if cat is 0 */ if( catkey == 0 ) goto end1; DB( g_print(" -> active cat is %d\n", catkey) ); g_queue_free (data->txn_queue); data->txn_queue = hbfile_transaction_get_partial(data->filter->mindate, data->filter->maxdate); // collect transactions // the purpose here is to collect all cat transaction // and precompute item-> meter/fuel/partial list = g_queue_peek_head_link(data->txn_queue); while (list != NULL) { Transaction *ope = list->data; Category *cat; CarCost *item; // eval normal transaction if(!(ope->flags & OF_SPLIT)) { cat = da_cat_get(ope->kcat); if( cat && (cat->key == catkey || cat->parent == catkey) ) { item = da_vehiclecost_malloc(); item->date = ope->date; item->memo = ope->memo; // get amount in base currency //item->amount = ope->amount; item->amount = hb_amount_base(ope->amount, ope->kcur); item = repvehicle_eval_memofield(item, ope->memo); data->vehicle_list = g_list_prepend(data->vehicle_list, item); DB( g_print(" -> store acc=%d '%s' %.2f\n", ope->kacc, ope->memo, ope->amount) ); } } // eval split transaction else { guint i, nbsplit = da_splits_length(ope->splits); Split *split; DB( g_print(" -> nb split %d\n", nbsplit) ); for(i=0;isplits, i); cat = da_cat_get(split->kcat); DB( g_print(" -> eval split '%s'\n", split->memo) ); if( cat && (cat->key == catkey || cat->parent == catkey) ) { item = da_vehiclecost_malloc(); item->date = ope->date; item->memo = split->memo; // get amount in base currency //item->amount = split->amount; item->amount = hb_amount_base(split->amount, ope->kcur); item = repvehicle_eval_memofield(item, split->memo); data->vehicle_list = g_list_prepend(data->vehicle_list, item); DB( g_print(" -> store split part acc=%d '%s' %.2f\n", ope->kacc, split->memo, split->amount) ); } } } list = g_list_next(list); } // sort by meter #399170 data->vehicle_list = g_list_sort(data->vehicle_list, (GCompareFunc)repvehicle_transaction_compare_func); end1: repvehicle_update(widget, NULL); } static void repvehicle_update(GtkWidget *widget, gpointer user_data) { struct repvehicle_data *data; GtkTreeModel *model; GtkTreeIter iter; GList *list; gchar *buf; gint nb_refuel = 0; int nb_fullrefuel = 0; guint lastmeter = 0; DB( g_print("\n[vehiclecost] update\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); // clear and detach our model model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_report)); gtk_list_store_clear (GTK_LIST_STORE(model)); g_object_ref(model); gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_report), NULL); data->total_misccost = 0; data->total_fuelcost = 0; data->total_fuel = 0; data->total_dist = 0; gdouble partial_fuel = 0; guint partial_dist = 0; list = g_list_first(data->vehicle_list); while (list != NULL) { CarCost *item = list->data; gint dist; gdouble centkm; guint distbyvol; gdouble trn_amount; if( (item->date >= data->filter->mindate) && (item->date <= data->filter->maxdate) ) { trn_amount = item->amount; if( item->meter == 0 ) { data->total_misccost += trn_amount; } else { if(nb_refuel > 0 ) { //previtem = g_list_nth_data(data->vehicle_list, nb_refuel-1); //if(previtem != NULL) previtem->dist = item->meter - previtem->meter; //DB( g_print(" + previous item dist = %d\n", item->meter - previtem->meter) ); item->dist = item->meter - lastmeter; //DB( g_print(" + last meter = %d\n", lastmeter) ); } lastmeter = item->meter; nb_refuel++; DB( g_print("\n eval %02d :: d=%d v=%.2f $%.2f dist=%d\n", nb_refuel, item->meter, item->fuel, trn_amount, item->dist) ); DB( g_print(" + %s :: pf=%.2f pd=%d\n", item->partial ? "partial" : "full", partial_fuel, partial_dist) ); centkm = 0; dist = 0; //bugfix #159066 partial/full if(item->partial == FALSE) { //#1836380 if we don't have a full already, the computing will be wrong if( nb_fullrefuel > 0 ) { // full refuel after partial if(partial_fuel && partial_dist) { partial_fuel += item->fuel; partial_dist += item->dist; dist = item->dist; centkm = partial_dist != 0 ? partial_fuel * 100 / partial_dist : 0; DB( g_print(" + centkm=%.2f %.2f * 100 / %d (full after partial)\n", centkm, partial_fuel, partial_dist) ); } else { dist = item->dist; centkm = item->dist != 0 ? item->fuel * 100 / item->dist : 0; DB( g_print(" + centkm=%.2f :: %.2f * 100 / %d (full after full)\n", centkm, item->fuel, item->dist) ); } } partial_fuel = 0; partial_dist = 0; nb_fullrefuel++; } // partial refuel else { partial_fuel += item->fuel; partial_dist += item->dist; dist = item->dist; DB( g_print(" + centkm= not computable\n") ); } distbyvol = 0; if(centkm != 0) distbyvol = hb_amount_round((1/centkm)*100, 0); gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, LST_CAR_DATE , item->date, LST_CAR_MEMO , item->memo, LST_CAR_METER , item->meter, LST_CAR_FUEL , item->fuel, LST_CAR_PRICE , ABS(trn_amount) / item->fuel, LST_CAR_AMOUNT , trn_amount, LST_CAR_DIST , dist, LST_CAR_100KM , centkm, LST_CAR_DISTBYVOL, distbyvol, LST_CAR_PARTIAL, item->partial, -1); //DB( g_print("\n insert d=%d v=%4.2f $%8.2f %d %5.2f\n", item->meter, item->fuel, trn_amount, dist, centkm) ); if(item->dist) { data->total_fuelcost += trn_amount; data->total_fuel += item->fuel; data->total_dist += item->dist; } } } list = g_list_next(list); } gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_report), model); g_object_unref(model); gdouble coef = data->total_dist ? 100 / (gdouble)data->total_dist : 0; GLOBALS->minor = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_minor)); DB( g_print(" coef = 100 / %.2f = %.2f\n", (gdouble)data->total_dist, coef) ); // row 1 is for 100km /* gtk_label_set_text(GTK_LABEL(data->LA_total[1][1]), "1:1"); //Consumption gtk_label_set_text(GTK_LABEL(data->LA_total[2][1]), "2:1"); //Fuel cost gtk_label_set_text(GTK_LABEL(data->LA_total[3][1]), "3:1"); //Other cost gtk_label_set_text(GTK_LABEL(data->LA_total[4][1]), "4:1"); //Total cost */ // 100km fuel buf = g_strdup_printf(PREFS->vehicle_unit_vol, data->total_fuel * coef); gtk_label_set_text(GTK_LABEL(data->LA_avera[CAR_RES_FUEL]), buf); g_free(buf); // 100km fuelcost //hb_label_set_colvaluecurr(GTK_LABEL(data->LA_avera[CAR_RES_FUELCOST]), data->total_fuelcost * coef, GLOBALS->kcur); hb_label_set_colvalue(GTK_LABEL(data->LA_avera[CAR_RES_FUELCOST]), data->total_fuelcost * coef, GLOBALS->kcur, GLOBALS->minor); // 100km other cost //hb_label_set_colvaluecurr(GTK_LABEL(data->LA_avera[CAR_RES_OTHERCOST]), data->total_misccost * coef, GLOBALS->kcur); hb_label_set_colvalue(GTK_LABEL(data->LA_avera[CAR_RES_OTHERCOST]), data->total_misccost * coef, GLOBALS->kcur, GLOBALS->minor); // 100km cost //hb_label_set_colvaluecurr(GTK_LABEL(data->LA_avera[CAR_RES_TOTALCOST]), (data->total_fuelcost + data->total_misccost) * coef, GLOBALS->kcur); hb_label_set_colvalue(GTK_LABEL(data->LA_avera[CAR_RES_TOTALCOST]), (data->total_fuelcost + data->total_misccost) * coef, GLOBALS->kcur, GLOBALS->minor); // row 2 is for total /* gtk_label_set_text(GTK_LABEL(data->LA_total[1][2]), "1:2"); //Consumption gtk_label_set_text(GTK_LABEL(data->LA_total[2][2]), "2:2"); //Fuel cost gtk_label_set_text(GTK_LABEL(data->LA_total[3][2]), "3:2"); //Other cost gtk_label_set_text(GTK_LABEL(data->LA_total[4][2]), "4:2"); //Total */ // total distance buf = g_strdup_printf(PREFS->vehicle_unit_dist, data->total_dist); gtk_label_set_text(GTK_LABEL(data->LA_total[CAR_RES_METER]), buf); g_free(buf); // total fuel buf = g_strdup_printf(PREFS->vehicle_unit_vol, data->total_fuel); gtk_label_set_text(GTK_LABEL(data->LA_total[CAR_RES_FUEL]), buf); g_free(buf); // total fuelcost //hb_label_set_colvaluecurr(GTK_LABEL(data->LA_total[CAR_RES_FUELCOST]), data->total_fuelcost, GLOBALS->kcur); hb_label_set_colvalue(GTK_LABEL(data->LA_total[CAR_RES_FUELCOST]), data->total_fuelcost, GLOBALS->kcur, GLOBALS->minor); // total other cost //hb_label_set_colvaluecurr(GTK_LABEL(data->LA_total[CAR_RES_OTHERCOST]), data->total_misccost, GLOBALS->kcur); hb_label_set_colvalue(GTK_LABEL(data->LA_total[CAR_RES_OTHERCOST]), data->total_misccost, GLOBALS->kcur, GLOBALS->minor); // total cost //hb_label_set_colvaluecurr(GTK_LABEL(data->LA_total[CAR_RES_TOTALCOST]), data->total_fuelcost + data->total_misccost, GLOBALS->kcur); hb_label_set_colvalue(GTK_LABEL(data->LA_total[CAR_RES_TOTALCOST]), data->total_fuelcost + data->total_misccost, GLOBALS->kcur, GLOBALS->minor); } static void repvehicle_toggle_minor(GtkWidget *widget, gpointer user_data) { struct repvehicle_data *data; DB( g_print("\n[vehiclecost] toggle\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); repvehicle_update(widget, NULL); gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_report)); /* statistic_update_total(widget,NULL); //hbfile_update(data->LV_acc, (gpointer)4); gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_report)); minor = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_minor)); gtk_chart_show_minor(GTK_CHART(data->RE_bar), minor); gtk_chart_show_minor(GTK_CHART(data->RE_pie), minor); */ } /* ** */ static void repvehicle_setup(struct repvehicle_data *data) { DB( g_print("\n[vehiclecost] setup\n") ); data->txn_queue = g_queue_new (); data->vehicle_list = NULL; data->filter = da_flt_malloc(); filter_reset(data->filter); /* 3.4 : make int transfer out of stats */ data->filter->option[FILTER_TYPE] = 2; data->filter->type = FLT_TYPE_INTXFER; filter_preset_daterange_set(data->filter, PREFS->date_range_rep, 0); g_signal_handler_block(data->PO_mindate, data->handler_id[HID_REPVEHICLE_MINDATE]); g_signal_handler_block(data->PO_maxdate, data->handler_id[HID_REPVEHICLE_MAXDATE]); gtk_date_entry_set_date(GTK_DATE_ENTRY(data->PO_mindate), data->filter->mindate); gtk_date_entry_set_date(GTK_DATE_ENTRY(data->PO_maxdate), data->filter->maxdate); g_signal_handler_unblock(data->PO_mindate, data->handler_id[HID_REPVEHICLE_MINDATE]); g_signal_handler_unblock(data->PO_maxdate, data->handler_id[HID_REPVEHICLE_MAXDATE]); ui_cat_comboboxentry_populate(GTK_COMBO_BOX(data->PO_cat), GLOBALS->h_cat); g_signal_handler_block(data->PO_cat, data->handler_id[HID_REPVEHICLE_VEHICLE]); ui_cat_comboboxentry_set_active(GTK_COMBO_BOX(data->PO_cat), GLOBALS->vehicle_category); g_signal_handler_unblock(data->PO_cat, data->handler_id[HID_REPVEHICLE_VEHICLE]); } static GtkWidget * repvehicle_toolbar_create(struct repvehicle_data *data) { GtkWidget *toolbar, *button; toolbar = gtk_toolbar_new(); button = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_REFRESH, _("Refresh"), _("Refresh results")); data->BT_refresh = button; button = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_FILE_EXPORT, _("Export"), _("Export as CSV")); data->BT_export = button; return toolbar; } static gboolean repvehicle_window_dispose(GtkWidget *widget, GdkEvent *event, gpointer user_data) { struct repvehicle_data *data = user_data; struct WinGeometry *wg; DB( g_print("\n[vehiclecost] dispose\n") ); g_queue_free (data->txn_queue); da_vehiclecost_destroy(data->vehicle_list); da_flt_free(data->filter); g_free(data); //store position and size wg = &PREFS->cst_wg; gtk_window_get_position(GTK_WINDOW(widget), &wg->l, &wg->t); gtk_window_get_size(GTK_WINDOW(widget), &wg->w, &wg->h); DB( g_print(" window: l=%d, t=%d, w=%d, h=%d\n", wg->l, wg->t, wg->w, wg->h) ); //enable define windows GLOBALS->define_off--; ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_SENSITIVE)); return FALSE; } // the window creation GtkWidget *repcost_window_new(void) { struct repvehicle_data *data; struct WinGeometry *wg; GtkWidget *window, *mainvbox, *hbox, *vbox, *treeview; GtkWidget *label, *widget, *table; gint row, col; data = g_malloc0(sizeof(struct repvehicle_data)); if(!data) return NULL; DB( g_print("\n[vehiclecost] new\n") ); //disable define windows GLOBALS->define_off++; ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_SENSITIVE)); /* create window, etc */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); data->window = window; //store our window private data g_object_set_data(G_OBJECT(window), "inst_data", (gpointer)data); DB( g_print(" - new window=%p, inst_data=%p\n", window, data) ); gtk_window_set_title (GTK_WINDOW (window), _("Vehicle cost report")); //set the window icon gtk_window_set_icon_name(GTK_WINDOW (window), ICONNAME_HB_REP_CAR); //window contents mainvbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), mainvbox); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (mainvbox), hbox, TRUE, TRUE, 0); //control part table = gtk_grid_new (); gtk_widget_set_hexpand (GTK_WIDGET(table), FALSE); gtk_box_pack_start (GTK_BOX (hbox), table, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (table), SPACING_SMALL); gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM); row = 0; label = make_label_group(_("Display")); gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); row++; label = make_label_widget(_("Vehi_cle:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); widget = ui_cat_comboboxentry_new(label); data->PO_cat = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Euro _minor")); data->CM_minor = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; widget = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL); gtk_grid_attach (GTK_GRID (table), widget, 0, row, 3, 1); row++; label = make_label_group(_("Date filter")); gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); row++; label = make_label_widget(_("_Range:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); data->CY_range = make_daterange(label, DATE_RANGE_CUSTOM_DISABLE); gtk_grid_attach (GTK_GRID (table), data->CY_range, 2, row, 1, 1); row++; label = make_label_widget(_("_From:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); data->PO_mindate = gtk_date_entry_new(label); gtk_grid_attach (GTK_GRID (table), data->PO_mindate, 2, row, 1, 1); row++; label = make_label_widget(_("_To:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); data->PO_maxdate = gtk_date_entry_new(label); gtk_grid_attach (GTK_GRID (table), data->PO_maxdate, 2, row, 1, 1); //part: info + report vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0); widget = repvehicle_toolbar_create(data); data->TB_bar = widget; gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); // total table = gtk_grid_new (); gtk_widget_set_hexpand (GTK_WIDGET(table), FALSE); gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (table), SPACING_SMALL); gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM); row = 0; col = 1; label = make_label_widget(_("Meter:")); gtk_grid_attach (GTK_GRID (table), label, col, row, 1, 1); col++; label = make_label_widget(_("Consumption:")); gtk_grid_attach (GTK_GRID (table), label, col, row, 1, 1); col++; label = make_label_widget(_("Fuel cost:")); gtk_grid_attach (GTK_GRID (table), label, col, row, 1, 1); col++; label = make_label_widget(_("Other cost:")); gtk_grid_attach (GTK_GRID (table), label, col, row, 1, 1); col++; label = make_label_widget(_("Total cost:")); gtk_grid_attach (GTK_GRID (table), label, col, row, 1, 1); row++; col = 0; label = make_label_widget(PREFS->vehicle_unit_100); gtk_grid_attach (GTK_GRID (table), label, col, row, 1, 1); for(col = 1;colLA_avera[col] = label; } row++; col = 0; label = make_label_widget(_("Total")); gtk_grid_attach (GTK_GRID (table), label, col, row, 1, 1); for(col = 1;colLA_total[col] = label; } //detail widget = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (widget), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (widget), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); treeview = create_list_repvehicle(); data->LV_report = treeview; gtk_container_add (GTK_CONTAINER(widget), treeview); gtk_box_pack_start (GTK_BOX (vbox), widget, TRUE, TRUE, 0); //todo:should move this gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_minor),GLOBALS->minor); /* attach our minor to treeview */ g_object_set_data(G_OBJECT(gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_report))), "minor", (gpointer)data->CM_minor); /* signal connect */ g_signal_connect (window, "delete-event", G_CALLBACK (repvehicle_window_dispose), (gpointer)data); g_signal_connect (data->CM_minor, "toggled", G_CALLBACK (repvehicle_toggle_minor), NULL); data->handler_id[HID_REPVEHICLE_MINDATE] = g_signal_connect (data->PO_mindate, "changed", G_CALLBACK (repvehicle_date_change), (gpointer)data); data->handler_id[HID_REPVEHICLE_MAXDATE] = g_signal_connect (data->PO_maxdate, "changed", G_CALLBACK (repvehicle_date_change), (gpointer)data); data->handler_id[HID_REPVEHICLE_RANGE] = g_signal_connect (data->CY_range, "changed", G_CALLBACK (repvehicle_range_change), NULL); data->handler_id[HID_REPVEHICLE_VEHICLE] = g_signal_connect (data->PO_cat, "changed", G_CALLBACK (repvehicle_compute), NULL); g_signal_connect (G_OBJECT (data->BT_refresh), "clicked", G_CALLBACK (repvehicle_action_refresh), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_export) , "clicked", G_CALLBACK (repvehicle_action_export), (gpointer)data); //setup, init and show window repvehicle_setup(data); /* toolbar */ if(PREFS->toolbar_style == 0) gtk_toolbar_unset_style(GTK_TOOLBAR(data->TB_bar)); else gtk_toolbar_set_style(GTK_TOOLBAR(data->TB_bar), PREFS->toolbar_style-1); //setup, init and show window wg = &PREFS->cst_wg; gtk_window_move(GTK_WINDOW(window), wg->l, wg->t); gtk_window_resize(GTK_WINDOW(window), wg->w, wg->h); gtk_widget_show_all (window); //minor ? if( PREFS->euro_active ) gtk_widget_show(data->CM_minor); else gtk_widget_hide(data->CM_minor); if( PREFS->date_range_rep ) hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_range), PREFS->date_range_rep); else repvehicle_compute(window, NULL); return(window); } /* ** ============================================================================ */ static void repvehicle_date_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { GDate *date; guint32 julian; gchar buf[256]; gtk_tree_model_get(model, iter, LST_CAR_DATE, &julian, -1); date = g_date_new_julian (julian); g_date_strftime (buf, 256-1, PREFS->date_format, date); g_date_free(date); g_object_set(renderer, "text", buf, NULL); } static void repvehicle_distance_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { guint distance; gchar *text; gtk_tree_model_get(model, iter, user_data, &distance, -1); if(distance != 0) { text = g_strdup_printf(PREFS->vehicle_unit_dist, distance); g_object_set(renderer, "text", text, NULL); g_free(text); } else g_object_set(renderer, "text", "-", NULL); } static void repvehicle_volume_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gdouble volume; gboolean partial; gchar *text; gtk_tree_model_get(model, iter, user_data, &volume, LST_CAR_PARTIAL, &partial, -1); if(volume != 0) { text = g_strdup_printf(PREFS->vehicle_unit_vol, volume); g_object_set(renderer, "text", text, "style-set", TRUE, "style", partial ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL, NULL); g_free(text); } else g_object_set(renderer, "text", "-", NULL); } static void repvehicle_amount_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gdouble value; gchar *color; gchar buf[G_ASCII_DTOSTR_BUF_SIZE]; gtk_tree_model_get(model, iter, user_data, &value, -1); if( value ) { hb_strfmon(buf, G_ASCII_DTOSTR_BUF_SIZE-1, value, GLOBALS->kcur, GLOBALS->minor); color = get_normal_color_amount(value); g_object_set(renderer, "foreground", color, "text", buf, NULL); } else { g_object_set(renderer, "text", "", NULL); } } static GtkTreeViewColumn *volume_list_repvehicle_column(gchar *name, gint id) { GtkTreeViewColumn *column; GtkCellRenderer *renderer; column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, name); renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 1.0, NULL); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_volume_cell_data_function, GINT_TO_POINTER(id), NULL); gtk_tree_view_column_set_alignment (column, 0.5); //gtk_tree_view_column_set_sort_column_id (column, id); return column; } static GtkTreeViewColumn *distance_list_repvehicle_column(gchar *name, gint id) { GtkTreeViewColumn *column; GtkCellRenderer *renderer; column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, name); renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 1.0, NULL); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_distance_cell_data_function, GINT_TO_POINTER(id), NULL); gtk_tree_view_column_set_alignment (column, 0.5); //gtk_tree_view_column_set_sort_column_id (column, id); return column; } static GtkTreeViewColumn *amount_list_repvehicle_column(gchar *name, gint id) { GtkTreeViewColumn *column; GtkCellRenderer *renderer; column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, name); renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 1.0, NULL); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_amount_cell_data_function, GINT_TO_POINTER(id), NULL); gtk_tree_view_column_set_alignment (column, 0.5); //gtk_tree_view_column_set_sort_column_id (column, id); return column; } /* ** create our statistic list */ static GtkWidget *create_list_repvehicle(void) { GtkListStore *store; GtkWidget *view; GtkCellRenderer *renderer; GtkTreeViewColumn *column; /* create list store */ store = gtk_list_store_new( NUM_LST_CAR, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_UINT, G_TYPE_DOUBLE, G_TYPE_UINT, G_TYPE_BOOLEAN ); //treeview view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); g_object_unref(store); gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (view), PREFS->grid_lines); /* column date */ column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Date")); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); renderer = gtk_cell_renderer_text_new(); g_object_set(renderer, "xalign", 1.0, NULL); gtk_tree_view_column_pack_start(column, renderer, TRUE); //gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_DATE); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_date_cell_data_function, NULL, NULL); /* LST_CAR_DATE, LST_CAR_MEMO, LST_CAR_METER, LST_CAR_FUEL, LST_CAR_PRICE, LST_CAR_AMOUNT, LST_CAR_DIST, LST_CAR_100KM */ /* column: Memo */ /* column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Memo")); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); */ /* column: Meter */ column = distance_list_repvehicle_column(_("Meter"), LST_CAR_METER); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Fuel load */ column = volume_list_repvehicle_column(_("Fuel"), LST_CAR_FUEL); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Price by unit */ column = amount_list_repvehicle_column(_("Price"), LST_CAR_PRICE); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Amount */ column = amount_list_repvehicle_column(_("Amount"), LST_CAR_AMOUNT); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Distance done */ column = distance_list_repvehicle_column(_("Dist."), LST_CAR_DIST); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: consumption for 100Km */ column = volume_list_repvehicle_column(PREFS->vehicle_unit_100, LST_CAR_100KM); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: km by liter (distance by volume */ column = distance_list_repvehicle_column(PREFS->vehicle_unit_distbyvol, LST_CAR_DISTBYVOL); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column last: empty */ column = gtk_tree_view_column_new(); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); return(view); } homebank-5.3.2/src/list-account.c0000644000175000017500000002572613604720365013610 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "list-account.h" #include "hub-account.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; /* ** draw some icons according to the stored data structure */ static void status_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Account *acc; gchar *iconname = NULL; gint dt; gtk_tree_model_get(model, iter, LST_DSPACC_DATATYPE, &dt, LST_DSPACC_DATAS, &acc, -1); if( dt == DSPACC_TYPE_NORMAL ) { switch(GPOINTER_TO_INT(user_data)) { case 1: iconname = (acc->flags & AF_ADDED) ? ICONNAME_HB_OPE_NEW : NULL; // override if closed account if( acc->flags & AF_CLOSED ) iconname = ICONNAME_CHANGES_PREVENT; break; case 2: iconname = (acc->flags & AF_CHANGED) ? ICONNAME_HB_OPE_EDIT : NULL; break; } } g_object_set(renderer, "icon-name", iconname, NULL); } /* ** draw some text from the stored data structure */ static void text_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gpointer p; gint dt; gint weight = PANGO_WEIGHT_BOLD; gchar *text = NULL; //gchar *groupname; gtk_tree_model_get(model, iter, LST_DSPACC_DATATYPE, &dt, LST_DSPACC_DATAS, &p, //LST_DSPACC_NAME, &groupname, -1); if( p == NULL ) goto end; switch( dt ) { case DSPACC_TYPE_NORMAL: { Account *acc = p; weight = PANGO_WEIGHT_NORMAL; text = acc->name; } break; case DSPACC_TYPE_HEADER: { PnlAccGrp *g = p; text = g->name; } break; case DSPACC_TYPE_SUBTOTAL: text = _("Total"); break; case DSPACC_TYPE_TOTAL: text = _("Grand total"); break; } end: g_object_set(renderer, "weight", weight, "text", text, NULL); } static void float_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gchar buf[G_ASCII_DTOSTR_BUF_SIZE]; gpointer p; gint dt; gint colid = GPOINTER_TO_INT(user_data); //LST_DSPACC_(BANK/TODAY/FUTURE) gdouble amount = -1; gint weight = PANGO_WEIGHT_NORMAL; gchar *color = NULL; gchar *text = NULL; gtk_tree_model_get(model, iter, LST_DSPACC_DATATYPE, &dt, LST_DSPACC_DATAS, &p, -1); if( p == NULL ) goto end; if( dt == DSPACC_TYPE_NORMAL ) { Account *acc = p; switch(colid) { case COL_DSPACC_BANK: amount = acc->bal_bank; break; case COL_DSPACC_TODAY: amount = acc->bal_today; break; case COL_DSPACC_FUTURE: amount = acc->bal_future; break; } hb_strfmon(buf, G_ASCII_DTOSTR_BUF_SIZE-1, amount, acc->kcur, GLOBALS->minor); color = get_minimum_color_amount(amount, acc->minimum); text = buf; } else { gboolean expanded = TRUE; if( dt == DSPACC_TYPE_HEADER ) { GtkTreePath* tp = gtk_tree_model_get_path(model, iter); expanded = gtk_tree_view_row_expanded(GTK_TREE_VIEW(gtk_tree_view_column_get_tree_view(col)), tp); gtk_tree_path_free(tp); } if( dt != DSPACC_TYPE_HEADER || (expanded == FALSE) ) { PnlAccGrp *g = p; switch(colid) { case COL_DSPACC_BANK: amount = g->bal_bank; break; case COL_DSPACC_TODAY: amount = g->bal_today; break; case COL_DSPACC_FUTURE: amount = g->bal_future; break; } //nota: header is always in base currency hb_strfmon(buf, G_ASCII_DTOSTR_BUF_SIZE-1, amount, GLOBALS->kcur, GLOBALS->minor); if(expanded) weight = PANGO_WEIGHT_BOLD; color = get_normal_color_amount(amount); text = buf; } } end: g_object_set(renderer, "weight", weight, "foreground", color, "text", text, NULL); } static GtkTreeViewColumn *amount_list_account_column(gchar *name, gint id) { GtkTreeViewColumn *column; GtkCellRenderer *renderer; column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, name); renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 1.0, NULL); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, float_cell_data_function, GINT_TO_POINTER(id), NULL); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_column_set_spacing( column, 16 ); //gtk_tree_view_column_set_sort_column_id (column, LST_DSPACC_BANK); return column; } static gint list_account_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { gint retval = 0; gint dt1, dt2; gpointer p1, p2; gint pos1, pos2; gtk_tree_model_get(model, a, LST_DSPACC_POS, &pos1, LST_DSPACC_DATATYPE, &dt1, LST_DSPACC_DATAS, &p1, -1); gtk_tree_model_get(model, b, LST_DSPACC_POS, &pos2, LST_DSPACC_DATATYPE, &dt2, LST_DSPACC_DATAS, &p2, -1); if( p1 == NULL || p2 == NULL ) return 0; if( dt1 == DSPACC_TYPE_NORMAL && dt2 == DSPACC_TYPE_NORMAL ) { Account *entry1 = p1; Account *entry2 = p2; retval = entry1->pos - entry2->pos; } else if( dt1 == DSPACC_TYPE_HEADER && dt2 == DSPACC_TYPE_HEADER ) { PnlAccGrp *elt1 = p1; PnlAccGrp *elt2 = p2; retval = pos1 - pos2; if( !retval ) retval = hb_string_utf8_compare(elt1->name, elt2->name); } return retval; } /* * */ static gboolean list_account_selectionfunc( GtkTreeSelection *selection, GtkTreeModel *model, GtkTreePath *path, gboolean path_currently_selected, gpointer data) { GtkTreeIter iter; if( gtk_tree_path_get_depth( path ) < 2 ) return FALSE; if(gtk_tree_model_get_iter(model, &iter, path)) { gint dt; gtk_tree_model_get(model, &iter, LST_DSPACC_DATATYPE, &dt, -1); if( dt != DSPACC_TYPE_NORMAL ) return FALSE; } return TRUE; } static GtkTreeViewColumn *list_account_get_column(GtkTreeView *treeview, gint uid) { GtkTreeViewColumn *retval = NULL; guint i; for(i=0;ipnl_acc_col_acc_width = gtk_tree_view_column_get_width(column); } } GtkWidget *create_list_account(void) { GtkTreeStore *store; GtkWidget *view; GtkCellRenderer *renderer; GtkTreeViewColumn *column; DB( g_print ("\n[list_account] create\n") ); /* create list store */ store = gtk_tree_store_new( NUM_LST_DSPACC, G_TYPE_INT, /* datatype */ G_TYPE_INT, /* pos */ G_TYPE_POINTER /* datas*/ ); //treeview view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); g_object_unref(store); gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (view), PREFS->grid_lines); //gtk_tree_view_set_search_column (GTK_TREE_VIEW (treeview), // COLUMN_DESCRIPTION); //gtk_tree_view_set_enable_tree_lines(GTK_TREE_VIEW (view), TRUE); gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(view)), GTK_SELECTION_SINGLE); /* Status */ column = gtk_tree_view_column_new(); //gtk_tree_view_column_set_title(column, _("Status")); renderer = gtk_cell_renderer_pixbuf_new (); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, status_cell_data_function, GINT_TO_POINTER(1), NULL); renderer = gtk_cell_renderer_pixbuf_new (); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, status_cell_data_function, GINT_TO_POINTER(2), NULL); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* Account */ renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "ellipsize", PANGO_ELLIPSIZE_END, "ellipsize-set", TRUE, //taken from nemo, not exactly a resize to content, but good compromise "width-chars", 40, NULL); column = gtk_tree_view_column_new(); g_object_set_data(G_OBJECT(column), "uid", GUINT_TO_POINTER(COL_DSPACC_ACCOUNTS)); gtk_tree_view_column_set_title(column, _("Accounts")); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, text_cell_data_function, NULL, NULL); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_column_set_min_width(column, HB_MINWIDTH_LIST/2); gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); gtk_tree_view_column_set_fixed_width(column, PREFS->pnl_acc_col_acc_width); gtk_tree_view_set_expander_column(GTK_TREE_VIEW (view), column); /* Bank */ column = amount_list_account_column(_("Bank"), COL_DSPACC_BANK); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* Today */ column = amount_list_account_column(_("Today"), COL_DSPACC_TODAY); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* Future */ column = amount_list_account_column(_("Future"), COL_DSPACC_FUTURE); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column 7: empty */ column = gtk_tree_view_column_new(); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* disable selection for level 1 of the tree */ gtk_tree_selection_set_select_function(gtk_tree_view_get_selection(GTK_TREE_VIEW(view)), list_account_selectionfunc, NULL, NULL); //sort etc gtk_tree_sortable_set_default_sort_func(GTK_TREE_SORTABLE(store), list_account_compare_func, NULL, NULL); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING); g_signal_connect (view, "destroy", G_CALLBACK (list_account_destroy), NULL); return(view); } homebank-5.3.2/src/hub-account.h0000664000175000017500000000225313604720371013405 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "dsp-mainwindow.h" #ifndef __HUB_ACCOUNT_H__ #define __HUB_ACCOUNT_H__ void ui_hub_account_populate(GtkWidget *widget, gpointer user_data); void ui_hub_account_compute(GtkWidget *widget, gpointer user_data); void ui_hub_account_setup(struct hbfile_data *data); void ui_hub_account_dispose(struct hbfile_data *data); GtkWidget *ui_hub_account_create(struct hbfile_data *data); #endifhomebank-5.3.2/src/hb-report.h0000644000175000017500000000650413604720371013100 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_REPORT_H__ #define __HB_REPORT_H__ typedef enum { REPORT_SRC_CATEGORY, REPORT_SRC_SUBCATEGORY, REPORT_SRC_PAYEE, REPORT_SRC_ACCOUNT, REPORT_SRC_TAG, REPORT_SRC_MONTH, REPORT_SRC_YEAR, } HbReportSrc; typedef enum { REPORT_TYPE_ALL, REPORT_TYPE_EXPENSE, REPORT_TYPE_INCOME, REPORT_TYPE_BALANCE } HbReportType; typedef enum { REPORT_INTVL_DAY, REPORT_INTVL_WEEK, REPORT_INTVL_MONTH, REPORT_INTVL_QUARTER, REPORT_INTVL_HALFYEAR, REPORT_INTVL_YEAR, } HbReportIntvl; typedef enum { REPORT_RESULT_TOTAL, REPORT_RESULT_CUMUL, REPORT_RESULT_BALANCE, } HbReportResult; typedef struct _datatable DataTable; typedef struct _datarow DataRow; typedef struct _carcost CarCost; struct _carcost { guint32 date; gchar *memo; gdouble amount; gboolean partial; guint meter; gdouble fuel; guint dist; }; CarCost *da_vehiclecost_malloc(void); void da_vehiclecost_free(CarCost *item); void da_vehiclecost_destroy(GList *list); void da_datatable_free(DataTable *dt); DataTable *da_datatable_malloc(gshort type, guint32 nbrows, guint32 nbcols); void datatable_init_items(DataTable *dt, gint src, guint32 jfrom); void datatable_amount_add(DataTable *dt, guint32 idx, gdouble value); void datatable_trend_add(DataTable *dt, guint32 row, guint32 col, gdouble amount); DataTable *report_compute_total(gint tmpsrc, Filter *flt, GQueue *txn_queue); DataTable *report_compute_trend(gint tmpsrc, gint tmpintvl, Filter *flt, GQueue *txn_queue); gint report_items_count(gint src, guint32 jfrom, guint32 jto); gint report_items_get_pos(gint tmpsrc, guint jfrom, Transaction *ope); gint report_interval_get_pos(gint intvl, guint jfrom, Transaction *ope); gint report_interval_count(gint intvl, guint32 jfrom, guint32 jto); void report_interval_snprint_name(gchar *s, gint slen, gint intvl, guint32 jfrom, gint idx); gdouble report_acc_initbalance_get(Filter *flt); gdouble report_txn_amount_get(Filter *flt, Transaction *txn); struct _datarow { guint32 key; guint32 pos; //gint type; gchar *label; //row label //todo: for total mode: I should just keep some simple gdouble inc/exp here //and do not allocate extra memory for nothing gdouble *expense; //array for each row column gdouble *income; //gdouble *value; }; struct _datatable { gshort mode; //0=total / 1=time guint32 nbrows; //nb of items: cat/subcat/pay/acc/... guint32 nbcols; //nb of intervals: d, w, m, q, hy, y DataRow **rows; //array of _datarow struct per key of item //gchar **coltitle; //array of column title gdouble totexp; gdouble totinc; }; #endif homebank-5.3.2/src/hb-encoding.h0000644000175000017500000000575713604720371013364 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_ENCODING_H__ #define __HB_ENCODING_H__ struct _GeditEncoding { gint index; const gchar *charset; const gchar *name; }; typedef struct _GeditEncoding GeditEncoding; typedef enum { GEDIT_ENCODING_ISO_8859_1, GEDIT_ENCODING_ISO_8859_2, GEDIT_ENCODING_ISO_8859_3, GEDIT_ENCODING_ISO_8859_4, GEDIT_ENCODING_ISO_8859_5, GEDIT_ENCODING_ISO_8859_6, GEDIT_ENCODING_ISO_8859_7, GEDIT_ENCODING_ISO_8859_8, GEDIT_ENCODING_ISO_8859_8_I, GEDIT_ENCODING_ISO_8859_9, GEDIT_ENCODING_ISO_8859_10, GEDIT_ENCODING_ISO_8859_13, GEDIT_ENCODING_ISO_8859_14, GEDIT_ENCODING_ISO_8859_15, GEDIT_ENCODING_ISO_8859_16, GEDIT_ENCODING_UTF_7, GEDIT_ENCODING_UTF_16, GEDIT_ENCODING_UTF_16_BE, GEDIT_ENCODING_UTF_16_LE, GEDIT_ENCODING_UTF_32, GEDIT_ENCODING_UCS_2, GEDIT_ENCODING_UCS_4, GEDIT_ENCODING_ARMSCII_8, GEDIT_ENCODING_BIG5, GEDIT_ENCODING_BIG5_HKSCS, GEDIT_ENCODING_CP_866, GEDIT_ENCODING_EUC_JP, GEDIT_ENCODING_EUC_JP_MS, GEDIT_ENCODING_CP932, GEDIT_ENCODING_EUC_KR, GEDIT_ENCODING_EUC_TW, GEDIT_ENCODING_GB18030, GEDIT_ENCODING_GB2312, GEDIT_ENCODING_GBK, GEDIT_ENCODING_GEOSTD8, GEDIT_ENCODING_HZ, GEDIT_ENCODING_IBM_850, GEDIT_ENCODING_IBM_852, GEDIT_ENCODING_IBM_855, GEDIT_ENCODING_IBM_857, GEDIT_ENCODING_IBM_862, GEDIT_ENCODING_IBM_864, GEDIT_ENCODING_ISO_2022_JP, GEDIT_ENCODING_ISO_2022_KR, GEDIT_ENCODING_ISO_IR_111, GEDIT_ENCODING_JOHAB, GEDIT_ENCODING_KOI8_R, GEDIT_ENCODING_KOI8__R, GEDIT_ENCODING_KOI8_U, GEDIT_ENCODING_SHIFT_JIS, GEDIT_ENCODING_TCVN, GEDIT_ENCODING_TIS_620, GEDIT_ENCODING_UHC, GEDIT_ENCODING_VISCII, GEDIT_ENCODING_WINDOWS_1250, GEDIT_ENCODING_WINDOWS_1251, GEDIT_ENCODING_WINDOWS_1252, GEDIT_ENCODING_WINDOWS_1253, GEDIT_ENCODING_WINDOWS_1254, GEDIT_ENCODING_WINDOWS_1255, GEDIT_ENCODING_WINDOWS_1256, GEDIT_ENCODING_WINDOWS_1257, GEDIT_ENCODING_WINDOWS_1258, GEDIT_ENCODING_LAST, GEDIT_ENCODING_UTF_8, GEDIT_ENCODING_UNKNOWN } GeditEncodingIndex; const GeditEncoding *gedit_encoding_get_from_index (gint index); const GeditEncoding *gedit_encoding_get_utf8 (void); const gchar *homebank_file_getencoding(gchar *filename); gchar *homebank_utf8_ensure(gchar *buffer); #endif homebank-5.3.2/src/rep-balance.c0000644000175000017500000011403013604720365013337 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "rep-balance.h" #include "list-operation.h" #include "gtk-chart.h" #include "gtk-dateentry.h" #include "ui-account.h" #include "dsp-mainwindow.h" #include "ui-transaction.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; /* prototypes */ static void repbalance_action_viewlist(GtkAction *action, gpointer user_data); static void repbalance_action_viewline(GtkAction *action, gpointer user_data); static void repbalance_action_detail(GtkAction *action, gpointer user_data); static void repbalance_action_refresh(GtkAction *action, gpointer user_data); static void repbalance_update_daterange(GtkWidget *widget, gpointer user_data); static void repbalance_update_detail(GtkWidget *widget, gpointer user_data); static void repbalance_toggle_detail(GtkWidget *widget, gpointer user_data); static void repbalance_detail(GtkWidget *widget, gpointer user_data); static void repbalance_sensitive(GtkWidget *widget, gpointer user_data); /* prototypes */ static void repbalance_date_change(GtkWidget *widget, gpointer user_data); static void repbalance_range_change(GtkWidget *widget, gpointer user_data); static void repbalance_update_info(GtkWidget *widget, gpointer user_data); static void repbalance_toggle_minor(GtkWidget *widget, gpointer user_data); static void repbalance_compute(GtkWidget *widget, gpointer user_data); static void repbalance_setup(struct repbalance_data *data, guint32 accnum); static gboolean repbalance_window_dispose(GtkWidget *widget, GdkEvent *event, gpointer user_data); static GtkWidget *create_list_repbalance(void); static void ui_repbalance_list_set_cur(GtkTreeView *treeview, guint32 kcur); //todo amiga/linux //prev //next static GtkRadioActionEntry radio_entries[] = { { "List" , ICONNAME_HB_VIEW_LIST , N_("List") , NULL, N_("View results as list") , 0 }, { "Line" , ICONNAME_HB_VIEW_LINE , N_("Line") , NULL, N_("View results as lines") , 1 }, // { "Column" , ICONNAME_HB_VIEW_COLUMN, N_("Column") , NULL, N_("View results as column"), 2 }, }; static guint n_radio_entries = G_N_ELEMENTS (radio_entries); static GtkActionEntry entries[] = { { "Refresh" , ICONNAME_HB_REFRESH , N_("Refresh"), NULL, N_("Refresh results"), G_CALLBACK (repbalance_action_refresh) }, }; static guint n_entries = G_N_ELEMENTS (entries); static GtkToggleActionEntry toggle_entries[] = { { "Detail", ICONNAME_HB_OPE_SHOW, /* name, icon-name */ N_("Detail"), NULL, /* label, accelerator */ N_("Toggle detail"), /* tooltip */ G_CALLBACK (repbalance_action_detail), FALSE }, /* is_active */ }; static guint n_toggle_entries = G_N_ELEMENTS (toggle_entries); static const gchar *ui_info = "" " " " " " " " " " " " " " " " " ""; //extern gchar *CYA_FLT_SELECT[]; /* action functions -------------------- */ static void repbalance_action_viewlist(GtkAction *action, gpointer user_data) { struct repbalance_data *data = user_data; gtk_notebook_set_current_page(GTK_NOTEBOOK(data->GR_result), 0); repbalance_sensitive(data->window, NULL); } static void repbalance_action_viewline(GtkAction *action, gpointer user_data) { struct repbalance_data *data = user_data; gtk_notebook_set_current_page(GTK_NOTEBOOK(data->GR_result), 1); repbalance_sensitive(data->window, NULL); } static void ui_repbalance_action_mode (GtkRadioAction *action, GtkRadioAction *current, gpointer user_data) { gint value; value = gtk_radio_action_get_current_value(GTK_RADIO_ACTION(action)); switch( value ) { case 0: repbalance_action_viewlist(GTK_ACTION(action), user_data); break; case 1: repbalance_action_viewline(GTK_ACTION(action), user_data); break; } } static void repbalance_action_detail(GtkAction *action, gpointer user_data) { struct repbalance_data *data = user_data; repbalance_toggle_detail(data->window, NULL); } static void repbalance_action_refresh(GtkAction *action, gpointer user_data) { struct repbalance_data *data = user_data; repbalance_compute(data->window, NULL); } /* ======================== */ static void repbalance_date_change(GtkWidget *widget, gpointer user_data) { struct repbalance_data *data; DB( g_print(" \n[repbalance] date change\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); data->filter->mindate = gtk_date_entry_get_date(GTK_DATE_ENTRY(data->PO_mindate)); data->filter->maxdate = gtk_date_entry_get_date(GTK_DATE_ENTRY(data->PO_maxdate)); // set min/max date for both widget gtk_date_entry_set_maxdate(GTK_DATE_ENTRY(data->PO_mindate), data->filter->maxdate); gtk_date_entry_set_mindate(GTK_DATE_ENTRY(data->PO_maxdate), data->filter->mindate); g_signal_handler_block(data->CY_range, data->handler_id[HID_REPBALANCE_RANGE]); hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_range), FLT_RANGE_OTHER); g_signal_handler_unblock(data->CY_range, data->handler_id[HID_REPBALANCE_RANGE]); repbalance_compute(widget, NULL); repbalance_update_daterange(widget, NULL); } static void repbalance_update_quickdate(GtkWidget *widget, gpointer user_data) { struct repbalance_data *data; DB( g_print(" \n[repbalance] update quickdate\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); g_signal_handler_block(data->PO_mindate, data->handler_id[HID_REPBALANCE_MINDATE]); g_signal_handler_block(data->PO_maxdate, data->handler_id[HID_REPBALANCE_MAXDATE]); gtk_date_entry_set_date(GTK_DATE_ENTRY(data->PO_mindate), data->filter->mindate); gtk_date_entry_set_date(GTK_DATE_ENTRY(data->PO_maxdate), data->filter->maxdate); g_signal_handler_unblock(data->PO_mindate, data->handler_id[HID_REPBALANCE_MINDATE]); g_signal_handler_unblock(data->PO_maxdate, data->handler_id[HID_REPBALANCE_MAXDATE]); } static void repbalance_range_change(GtkWidget *widget, gpointer user_data) { struct repbalance_data *data; gint range; DB( g_print(" \n[repbalance] range change\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); range = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_range)); if(range != FLT_RANGE_OTHER) { filter_preset_daterange_set(data->filter, range, data->accnum); repbalance_update_quickdate(widget, NULL); repbalance_compute(widget, NULL); repbalance_update_daterange(widget, NULL); } } static void repbalance_update_daterange(GtkWidget *widget, gpointer user_data) { struct repbalance_data *data; gchar *daterange; DB( g_print(" \n[repbalance] update daterange\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); daterange = filter_daterange_text_get(data->filter); gtk_label_set_markup(GTK_LABEL(data->TX_daterange), daterange); g_free(daterange); } static void repbalance_selection(GtkTreeSelection *treeselection, gpointer user_data) { GtkTreeModel *model; GtkTreeIter iter; guint key = -1; DB( g_print(" \n[repbalance] selection\n") ); if (gtk_tree_selection_get_selected(treeselection, &model, &iter)) { gtk_tree_model_get(model, &iter, LST_OVER_DATE, &key, -1); } DB( g_print(" - active is %d\n", key) ); repbalance_detail(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), GINT_TO_POINTER(key)); repbalance_sensitive(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), NULL); } /* ** update sensitivity */ static void repbalance_sensitive(GtkWidget *widget, gpointer user_data) { struct repbalance_data *data; GtkAction *action; gboolean visible; gint page; DB( g_print(" \n[repbalance] sensitive\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); page = gtk_notebook_get_current_page(GTK_NOTEBOOK(data->GR_result)); action = gtk_ui_manager_get_action(data->ui, "/ToolBar/Detail"); visible = page == 0 ? TRUE : FALSE; gtk_action_set_visible (action, visible); //sensitive = gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_report)), NULL, NULL); //gtk_action_set_sensitive(action, sensitive); visible = page == 0 ? FALSE : TRUE; hb_widget_visible(data->LB_zoomx, visible); hb_widget_visible(data->RG_zoomx, visible); } static void repbalance_update_info(GtkWidget *widget, gpointer user_data) { struct repbalance_data *data; gchar *info; gchar buf[128]; Account *acc; DB( g_print(" \n[repbalance] update info\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); gboolean selectall = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_selectall)); guint32 acckey = ui_acc_comboboxentry_get_key(GTK_COMBO_BOX(data->PO_acc)); DB( g_print(" acc key = %d\n", acckey) ); acc = da_acc_get(acckey); // 1635857 if( acc != NULL ) { gboolean minor = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_minor)); hb_strfmon(buf, 127, data->minimum, selectall ? GLOBALS->kcur : acc->kcur, minor); ////TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold info = g_strdup_printf(_("%d/%d under %s"), data->nbbalance, data->nbope, buf); gtk_label_set_text(GTK_LABEL(data->TX_info), info); g_free(info); } } static void repbalance_detail(GtkWidget *widget, gpointer user_data) { struct repbalance_data *data; guint active = GPOINTER_TO_INT(user_data); GList *list; GtkTreeModel *model; GtkTreeIter iter; guint32 acckey; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print(" \n[repbalance] detail\n") ); /* clear and detach our model */ model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_detail)); gtk_list_store_clear (GTK_LIST_STORE(model)); if(data->detail) { g_object_ref(model); /* Make sure the model stays with us after the tree view unrefs it */ gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_detail), NULL); /* Detach model from view */ gboolean selectall = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_selectall)); // get the account key acckey = ui_acc_comboboxentry_get_key(GTK_COMBO_BOX(data->PO_acc)); /* fill in the model */ list = g_list_first(data->ope_list); while (list != NULL) { Transaction *ope = list->data; //DB( g_print(" get %s\n", ope->ope_Word) ); //filter here if( ope->date == active && (ope->kacc == acckey || selectall) ) { gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, MODEL_TXN_POINTER, ope, MODEL_TXN_SPLITAMT, ope->amount, -1); } list = g_list_next(list); } /* Re-attach model to view */ gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_detail), model); g_object_unref(model); gtk_tree_view_columns_autosize( GTK_TREE_VIEW(data->LV_detail) ); } } static void repbalance_detail_onRowActivated (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *col, gpointer userdata) { struct repbalance_data *data; Transaction *active_txn; gboolean result; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(treeview), GTK_TYPE_WINDOW)), "inst_data"); DB( g_print ("\n[repbalance] A detail row has been double-clicked!\n") ); active_txn = list_txn_get_active_transaction(GTK_TREE_VIEW(data->LV_detail)); if(active_txn) { Transaction *old_txn, *new_txn; old_txn = da_transaction_clone (active_txn); new_txn = active_txn; result = deftransaction_external_edit(GTK_WINDOW(data->window), old_txn, new_txn); if(result == GTK_RESPONSE_ACCEPT) { //#1640885 GLOBALS->changes_count++; repbalance_compute (data->window, NULL); } da_transaction_free (old_txn); } } static void repbalance_update_detail(GtkWidget *widget, gpointer user_data) { struct repbalance_data *data; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); if(data->detail) { GtkTreeSelection *treeselection; GtkTreeModel *model; GtkTreeIter iter; guint key; treeselection = gtk_tree_view_get_selection (GTK_TREE_VIEW(data->LV_report)); if (gtk_tree_selection_get_selected(treeselection, &model, &iter)) { gtk_tree_model_get(model, &iter, LST_OVER_DATE, &key, -1); DB( g_print(" - active is %d\n", key) ); repbalance_detail(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), GINT_TO_POINTER(key)); } gtk_widget_show(data->GR_detail); } else gtk_widget_hide(data->GR_detail); } static void repbalance_toggle_detail(GtkWidget *widget, gpointer user_data) { struct repbalance_data *data; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); data->detail ^= 1; DB( g_print(" \n[repbalance] toggledetail to %d\n", (int)data->detail) ); repbalance_update_detail(widget, user_data); } static void repbalance_zoomx_callback(GtkWidget *widget, gpointer user_data) { struct repbalance_data *data; gdouble value; DB( g_print("(statistic) zoomx\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); value = gtk_range_get_value(GTK_RANGE(data->RG_zoomx)); DB( g_print(" + scale is %f\n", value) ); gtk_chart_set_barw(GTK_CHART(data->RE_line), value); } static void repbalance_toggle_minor(GtkWidget *widget, gpointer user_data) { struct repbalance_data *data; DB( g_print(" \n[repbalance] toggle\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); GLOBALS->minor = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_minor)); repbalance_update_info(widget,NULL); gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_report)); gtk_chart_show_minor(GTK_CHART(data->RE_line), GLOBALS->minor); } static void repbalance_compute_full_datas(guint32 selkey, gboolean selectall, struct repbalance_data *data) { GList *list; GList *lst_acc, *lnk_acc; DB( g_print(" \n[repbalance] compute_full\n") ); g_list_free(data->ope_list); data->ope_list = hbfile_transaction_get_all(); if(g_list_length(data->ope_list) == 0) return; Transaction *omin = g_list_first(data->ope_list)->data; Transaction *omax = g_list_last(data->ope_list)->data; // total days in the hbfile data->n_result = omax->date - omin->date; DB( g_print(" - %d days in slice\n", data->n_result) ); data->tmp_income = g_malloc0((data->n_result+2) * sizeof(gdouble)); data->tmp_expense = g_malloc0((data->n_result+2) * sizeof(gdouble)); // to store that initial balance was affected gboolean *accounts = g_malloc0((da_acc_get_max_key()+2) * sizeof(gboolean)); if(data->tmp_income && data->tmp_expense) { gdouble trn_amount; /* account initial amount */ lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; //#1674045 ony rely on nosummary //if( (acc->flags & (AF_CLOSED|AF_NOREPORT)) ) if( (acc->flags & (AF_NOREPORT)) ) goto next_acc; trn_amount = 0.0; if(selectall) trn_amount = hb_amount_base(acc->initial, acc->kcur); else if( selkey == acc->key ) trn_amount = acc->initial; if(trn_amount < 0) data->tmp_expense[0] += trn_amount; else data->tmp_income[0] += trn_amount; DB( g_print(" - stored initial %.2f for account %d:%s\n", trn_amount, acc->key, acc->name) ); next_acc: lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); /* compute the balance */ list = g_list_first(data->ope_list); while (list != NULL) { gint pos; Transaction *ope = list->data; if(selkey == ope->kacc || selectall == TRUE) { Account *acc = da_acc_get(ope->kacc); if( acc != NULL ) { pos = ope->date - omin->date; // deal with account initial balance /*if(accounts[ope->kacc] == 0) { if(selectall) trn_amount = hb_amount_base(acc->initial, acc->kcur); else trn_amount = acc->initial; if(trn_amount < 0) data->tmp_expense[pos] += trn_amount; else data->tmp_income[pos] += trn_amount; DB( g_print(" - stored initial %.2f for account %d\n", trn_amount, ope->kacc) ); accounts[ope->kacc] = 1; }*/ if(selectall) trn_amount = hb_amount_base(ope->amount, acc->kcur); else trn_amount = ope->amount; //deal with transactions if(trn_amount < 0) data->tmp_expense[pos] += trn_amount; else data->tmp_income[pos] += trn_amount; } } list = g_list_next(list); } } g_free(accounts); } static void repbalance_compute(GtkWidget *widget, gpointer user_data) { struct repbalance_data *data; GtkTreeModel *model; GtkTreeIter iter; guint32 acckey, i; gboolean range, selectall, eachday; Account *acc; DB( g_print(" \n[repbalance] compute\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); selectall = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_selectall)); eachday = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_eachday)); range = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_range)); // get the account key acckey = ui_acc_comboboxentry_get_key(GTK_COMBO_BOX(data->PO_acc)); DB( g_print(" acc key = %d\n", acckey) ); data->nbope = 0; data->nbbalance = 0; data->minimum = 0; data->accnum = 0; // for a single account if(!selectall) { acc = da_acc_get(acckey); if(acc != NULL) { data->minimum = acc->minimum; data->accnum = acc->key; ui_repbalance_list_set_cur(GTK_TREE_VIEW(data->LV_report), acc->kcur); gtk_chart_set_currency(GTK_CHART(data->RE_line), acc->kcur); } } else { ui_repbalance_list_set_cur(GTK_TREE_VIEW(data->LV_report), GLOBALS->kcur); gtk_chart_set_currency(GTK_CHART(data->RE_line), GLOBALS->kcur); } //to remove > 5.0.2 //#1715532 5.0.5: no... but only selectall //#1756601 but only for FLT_RANGE_ALLDATE if( (selectall == TRUE) && (range == FLT_RANGE_ALLDATE) ) { filter_preset_daterange_set(data->filter, data->filter->range, data->accnum); repbalance_update_quickdate(widget, NULL); } repbalance_compute_full_datas(acckey, selectall, data); /* do nothing if no transaction */ if(g_list_length(data->ope_list) == 0) return; /* clear and detach our model */ model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_report)); gtk_list_store_clear (GTK_LIST_STORE(model)); g_object_ref(model); /* Make sure the model stays with us after the tree view unrefs it */ gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_report), NULL); /* Detach model from view */ Transaction *omin = g_list_first(data->ope_list)->data; gdouble balance = 0; for(i=0;i<=data->n_result;i++) { gboolean is_balance = FALSE; GDate *date; gchar buf[256]; guint32 posdate; posdate = omin->date + i; //DB( g_print("omin->date=%d posdate=%d\n", omin->date, posdate) ); balance += data->tmp_expense[i]; balance += data->tmp_income[i]; if(!eachday && data->tmp_expense[i] == 0 && data->tmp_income[i] == 0) continue; if( (posdate >= data->filter->mindate) && (posdate <= data->filter->maxdate) ) { if(!selectall) is_balance = (balance < data->minimum) ? TRUE : FALSE; date = g_date_new_julian (posdate); g_date_strftime (buf, 256-1, PREFS->date_format, date); g_date_free(date); /* column 0: pos (gint) */ /* not used: column 1: key (gint) */ /* column 2: name (gchar) */ /* column x: values (double) */ gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, LST_OVER_OVER, is_balance, LST_OVER_DATE, posdate, LST_OVER_DATESTR, buf, LST_OVER_EXPENSE, data->tmp_expense[i], LST_OVER_INCOME, data->tmp_income[i], LST_OVER_BALANCE, balance, -1); if(is_balance == TRUE) data->nbbalance++; data->nbope++; } } g_free(data->tmp_expense); g_free(data->tmp_income); repbalance_update_info(widget, NULL); gtk_chart_show_legend(GTK_CHART(data->RE_line), FALSE, FALSE); gtk_chart_show_xval(GTK_CHART(data->RE_line), TRUE); gtk_chart_set_overdrawn(GTK_CHART(data->RE_line), data->minimum); gtk_chart_show_overdrawn(GTK_CHART(data->RE_line), !selectall); gboolean visible = selectall ? FALSE : TRUE; gtk_widget_set_visible (GTK_WIDGET(data->TX_info), visible); /* Re-attach model to view */ gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_report), model); g_object_unref(model); /* update bar chart */ //DB( g_print(" set bar to %d\n\n", LST_STAT_EXPENSE+tmpkind) ); gtk_chart_set_datas(GTK_CHART(data->RE_line), model, LST_OVER_BALANCE, NULL, NULL); //gtk_chart_set_line_datas(GTK_CHART(data->RE_line), model, LST_OVER_BALANCE, LST_OVER_DATE); } static void repbalance_toggle_selectall(GtkWidget *widget, gpointer user_data) { struct repbalance_data *data; gboolean selectall; DB( g_print(" \n[repbalance] toggle selectall\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); selectall = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_selectall)); gtk_widget_set_sensitive(GTK_WIDGET(data->PO_acc), selectall^1); repbalance_compute(widget, data); } static void repbalance_setup(struct repbalance_data *data, guint32 accnum) { DB( g_print(" \n[repbalance] setup\n") ); data->ope_list = NULL; data->filter = da_flt_malloc(); filter_reset(data->filter); data->accnum = accnum; filter_preset_daterange_set(data->filter, PREFS->date_range_rep, data->accnum); repbalance_update_quickdate(data->window, NULL); ui_acc_comboboxentry_populate(GTK_COMBO_BOX(data->PO_acc), GLOBALS->h_acc, ACC_LST_INSERT_REPORT); if( accnum ) ui_acc_comboboxentry_set_active(GTK_COMBO_BOX(data->PO_acc), accnum); else gtk_combo_box_set_active(GTK_COMBO_BOX(data->PO_acc), 0); } static gboolean repbalance_window_dispose(GtkWidget *widget, GdkEvent *event, gpointer user_data) { struct repbalance_data *data = user_data; struct WinGeometry *wg; DB( g_print(" \n[repbalance] dispose\n") ); g_list_free (data->ope_list); da_flt_free(data->filter); g_free(data); //store position and size wg = &PREFS->ove_wg; gtk_window_get_position(GTK_WINDOW(widget), &wg->l, &wg->t); gtk_window_get_size(GTK_WINDOW(widget), &wg->w, &wg->h); DB( g_print(" window: l=%d, t=%d, w=%d, h=%d\n", wg->l, wg->t, wg->w, wg->h) ); //enable define windows GLOBALS->define_off--; ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_SENSITIVE)); return FALSE; } // the window creation GtkWidget *repbalance_window_new(gint accnum) { struct repbalance_data *data; struct WinGeometry *wg; GtkWidget *window, *mainvbox, *hbox, *vbox, *notebook, *treeview; GtkWidget *label, *widget, *table; gint row; GtkUIManager *ui; GtkActionGroup *actions; //GtkAction *action; GError *error = NULL; data = g_malloc0(sizeof(struct repbalance_data)); if(!data) return NULL; DB( g_print(" \n[repbalance] new\n") ); //disable define windows GLOBALS->define_off++; ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_SENSITIVE)); /* create window, etc */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); data->window = window; //store our window private data g_object_set_data(G_OBJECT(window), "inst_data", (gpointer)data); DB( g_print(" - new window=%p, inst_data=%p\n", window, data) ); gtk_window_set_title (GTK_WINDOW (window), _("Balance report")); //set the window icon gtk_window_set_icon_name(GTK_WINDOW (window), ICONNAME_HB_REP_BALANCE); //window contents mainvbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), mainvbox); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (mainvbox), hbox, TRUE, TRUE, 0); //control part table = gtk_grid_new (); gtk_widget_set_hexpand (GTK_WIDGET(table), FALSE); gtk_box_pack_start (GTK_BOX (hbox), table, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (table), SPACING_SMALL); gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM); row = 0; label = make_label_group(_("Display")); gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); row++; label = make_label_widget(_("A_ccount:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); widget = ui_acc_comboboxentry_new(label); data->PO_acc = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Select _all")); data->CM_selectall = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Each _day")); //gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(widget), TRUE); data->CM_eachday = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Euro _minor")); data->CM_minor = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; label = make_label_widget(_("_Zoom X:")); data->LB_zoomx = label; gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); widget = make_scale(label); data->RG_zoomx = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; widget = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL); gtk_grid_attach (GTK_GRID (table), widget, 0, row, 3, 1); row++; label = make_label_group(_("Date filter")); gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); row++; label = make_label_widget(_("_Range:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); data->CY_range = make_daterange(label, DATE_RANGE_CUSTOM_DISABLE); gtk_grid_attach (GTK_GRID (table), data->CY_range, 2, row, 1, 1); row++; label = make_label_widget(_("_From:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); data->PO_mindate = gtk_date_entry_new(label); gtk_grid_attach (GTK_GRID (table), data->PO_mindate, 2, row, 1, 1); row++; label = make_label_widget(_("_To:")); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); data->PO_maxdate = gtk_date_entry_new(label); gtk_grid_attach (GTK_GRID (table), data->PO_maxdate, 2, row, 1, 1); //part: info + report vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0); //ui manager actions = gtk_action_group_new ("default"); //as we use gettext gtk_action_group_set_translation_domain(actions, GETTEXT_PACKAGE); // data to action callbacks is set here (data) gtk_action_group_add_radio_actions (actions, radio_entries, n_radio_entries, 0, G_CALLBACK(ui_repbalance_action_mode), data); gtk_action_group_add_actions (actions, entries, n_entries, data); gtk_action_group_add_toggle_actions (actions, toggle_entries, n_toggle_entries, data); /* set which action should have priority in the toolbar */ //action = gtk_action_group_get_action(actions, "List"); //g_object_set(action, "is_important", TRUE, NULL); //action = gtk_action_group_get_action(actions, "Line"); //g_object_set(action, "is_important", TRUE, NULL); //action = gtk_action_group_get_action(actions, "Detail"); //g_object_set(action, "is_important", TRUE, NULL); //action = gtk_action_group_get_action(actions, "Refresh"); //g_object_set(action, "is_important", TRUE, NULL); ui = gtk_ui_manager_new (); gtk_ui_manager_insert_action_group (ui, actions, 0); gtk_window_add_accel_group (GTK_WINDOW (window), gtk_ui_manager_get_accel_group (ui)); if (!gtk_ui_manager_add_ui_from_string (ui, ui_info, -1, &error)) { g_message ("building UI failed: %s", error->message); g_error_free (error); } data->ui = ui; data->actions = actions; //toolbar data->TB_bar = gtk_ui_manager_get_widget (ui, "/ToolBar"); gtk_box_pack_start (GTK_BOX (vbox), data->TB_bar, FALSE, FALSE, 0); //infos hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); gtk_container_set_border_width (GTK_CONTAINER(hbox), SPACING_SMALL); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); widget = make_label(NULL, 0.5, 0.5); gimp_label_set_attributes (GTK_LABEL (widget), PANGO_ATTR_SCALE, PANGO_SCALE_SMALL, -1); data->TX_daterange = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); label = gtk_label_new(NULL); data->TX_info = label; gtk_box_pack_end (GTK_BOX (hbox), label, FALSE, FALSE, 0); notebook = gtk_notebook_new(); data->GR_result = notebook; gtk_widget_show(notebook); gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), FALSE); gtk_notebook_set_show_border(GTK_NOTEBOOK(notebook), FALSE); gtk_box_pack_start (GTK_BOX (vbox), notebook, TRUE, TRUE, 0); //page: list vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox, NULL); widget = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (widget), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (widget), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); treeview = create_list_repbalance(); data->LV_report = treeview; gtk_container_add (GTK_CONTAINER(widget), treeview); //gtk_notebook_append_page(GTK_NOTEBOOK(notebook), widget, NULL); gtk_box_pack_start (GTK_BOX (vbox), widget, TRUE, TRUE, 0); //detail widget = gtk_scrolled_window_new (NULL, NULL); data->GR_detail = widget; //gtk_scrolled_window_set_placement(GTK_SCROLLED_WINDOW (widget), GTK_CORNER_TOP_RIGHT); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (widget), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (widget), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); treeview = create_list_transaction(LIST_TXN_TYPE_DETAIL, PREFS->lst_ope_columns); data->LV_detail = treeview; gtk_container_add (GTK_CONTAINER(widget), treeview); gtk_box_pack_start (GTK_BOX (vbox), widget, TRUE, TRUE, 0); //page: 2d lines widget = gtk_chart_new(CHART_TYPE_LINE); data->RE_line = widget; //gtk_chart_set_minor_prefs(GTK_CHART(widget), PREFS->euro_value, PREFS->minor_cur.suffix_symbol); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), widget, NULL); //todo:should move this gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_minor),GLOBALS->minor); /* attach our minor to treeview */ g_object_set_data(G_OBJECT(gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_report))), "minor", (gpointer)data->CM_minor); /* signal connect */ g_signal_connect (window, "delete-event", G_CALLBACK (repbalance_window_dispose), (gpointer)data); g_signal_connect (data->CM_minor, "toggled", G_CALLBACK (repbalance_toggle_minor), NULL); data->handler_id[HID_REPBALANCE_MINDATE] = g_signal_connect (data->PO_mindate, "changed", G_CALLBACK (repbalance_date_change), (gpointer)data); data->handler_id[HID_REPBALANCE_MAXDATE] = g_signal_connect (data->PO_maxdate, "changed", G_CALLBACK (repbalance_date_change), (gpointer)data); data->handler_id[HID_REPBALANCE_RANGE] = g_signal_connect (data->CY_range, "changed", G_CALLBACK (repbalance_range_change), NULL); g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_report)), "changed", G_CALLBACK (repbalance_selection), NULL); //setup, init and show window repbalance_setup(data, accnum); g_signal_connect (data->CM_selectall, "toggled", G_CALLBACK (repbalance_toggle_selectall), NULL); g_signal_connect (data->CM_eachday, "toggled", G_CALLBACK (repbalance_compute), NULL); //let this here or the setup trigger a compute... g_signal_connect (data->PO_acc, "changed", G_CALLBACK (repbalance_compute), NULL); g_signal_connect (data->RG_zoomx, "value-changed", G_CALLBACK (repbalance_zoomx_callback), NULL); g_signal_connect (GTK_TREE_VIEW(data->LV_detail), "row-activated", G_CALLBACK (repbalance_detail_onRowActivated), NULL); /* toolbar */ if(PREFS->toolbar_style == 0) gtk_toolbar_unset_style(GTK_TOOLBAR(data->TB_bar)); else gtk_toolbar_set_style(GTK_TOOLBAR(data->TB_bar), PREFS->toolbar_style-1); //setup, init and show window wg = &PREFS->ove_wg; gtk_window_move(GTK_WINDOW(window), wg->l, wg->t); gtk_window_resize(GTK_WINDOW(window), wg->w, wg->h); data->detail = 0; gtk_widget_show_all (window); //minor ? if( PREFS->euro_active ) gtk_widget_show(data->CM_minor); else gtk_widget_hide(data->CM_minor); repbalance_sensitive(window, NULL); repbalance_update_detail(window, NULL); hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_range), PREFS->date_range_rep); return(window); } /* ** ============================================================================ */ static void repbalance_date_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gchar *datestr; gboolean is_balance; gchar *color; gint weight; gtk_tree_model_get(model, iter, LST_OVER_DATESTR, &datestr, LST_OVER_OVER, &is_balance, -1); color = NULL; weight = PANGO_WEIGHT_NORMAL; if(is_balance==TRUE) { if(PREFS->custom_colors == TRUE) color = PREFS->color_warn; weight = PANGO_WEIGHT_BOLD; } g_object_set(renderer, "weight", weight, "foreground", color, "text", datestr, NULL); //leak g_free(datestr); } static void repbalance_amount_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gdouble value; gchar buf[G_ASCII_DTOSTR_BUF_SIZE]; gboolean is_balance; gchar *color; gint weight; guint32 kcur = GPOINTER_TO_UINT(g_object_get_data(G_OBJECT(gtk_tree_view_column_get_tree_view(col)), "kcur_data")); //get datas gtk_tree_model_get(model, iter, LST_OVER_OVER, &is_balance, GPOINTER_TO_INT(user_data), &value, -1); //fix: 400483 if( value == 0.0 ) g_object_set(renderer, "text", NULL, NULL); else { hb_strfmon(buf, G_ASCII_DTOSTR_BUF_SIZE-1, value, kcur, GLOBALS->minor); color = NULL; weight = PANGO_WEIGHT_NORMAL; if(value != 0.0 && PREFS->custom_colors == TRUE) color = (value > 0.0) ? PREFS->color_inc : PREFS->color_exp; if(is_balance==TRUE) { if(PREFS->custom_colors == TRUE) color = PREFS->color_warn; weight = PANGO_WEIGHT_BOLD; } g_object_set(renderer, "weight", weight, "foreground", color, "text", buf, NULL); } } static GtkTreeViewColumn *amount_list_repbalance_column(gchar *name, gint id) { GtkTreeViewColumn *column; GtkCellRenderer *renderer; column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, name); renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 1.0, NULL); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, repbalance_amount_cell_data_function, GINT_TO_POINTER(id), NULL); gtk_tree_view_column_set_alignment (column, 0.5); //gtk_tree_view_column_set_sort_column_id (column, id); return column; } static void ui_repbalance_list_set_cur(GtkTreeView *treeview, guint32 kcur) { g_object_set_data(G_OBJECT(treeview), "kcur_data", GUINT_TO_POINTER(kcur)); } /* ** create our statistic list */ static GtkWidget *create_list_repbalance(void) { GtkListStore *store; GtkWidget *view; GtkCellRenderer *renderer; GtkTreeViewColumn *column; /* create list store */ store = gtk_list_store_new( NUM_LST_OVER, G_TYPE_BOOLEAN, G_TYPE_INT, G_TYPE_STRING, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE ); //treeview view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); g_object_unref(store); gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (view), PREFS->grid_lines); /* column debug balance */ /* column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, "debug balance"); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_add_attribute(column, renderer, "text", LST_OVER_OVER); */ /* column date */ column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Date")); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); renderer = gtk_cell_renderer_text_new(); g_object_set(renderer, "xalign", 1.0, NULL); gtk_tree_view_column_pack_start(column, renderer, TRUE); //gtk_tree_view_column_add_attribute(column, renderer, "text", LST_OVER_DATE); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_column_set_cell_data_func(column, renderer, repbalance_date_cell_data_function, NULL, NULL); /* column: Expense */ column = amount_list_repbalance_column(_("Expense"), LST_OVER_EXPENSE); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Income */ column = amount_list_repbalance_column(_("Income"), LST_OVER_INCOME); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Balance */ column = amount_list_repbalance_column(_("Balance"), LST_OVER_BALANCE); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column last: empty */ column = gtk_tree_view_column_new(); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); return(view); } homebank-5.3.2/src/gtk-chart-progress.h0000644000175000017500000001146313604720371014724 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __CHARTPROGRESS_H__ #define __CHARTPROGRESS_H__ #include "gtk-chart-colors.h" #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ /* Macro for casting a pointer to a GtkWidget or GtkWidgetClass pointer. * Macros for testing whether `widget' or `klass' are of type GTK_TYPE_WIDGET. */ #define GTK_TYPE_CHARTPROGRESS (ui_chart_progress_get_type ()) #define GTK_CHARTPROGRESS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CHARTPROGRESS, ChartProgress)) #define GTK_CHARTPROGRESS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CHARTPROGRESS, ChartProgressClass) #define GTK_IS_CHARTPROGRESS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CHARTPROGRESS)) #define GTK_IS_CHARTPROGRESS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CHARTPROGRESS)) #define GTK_CHARTPROGRESS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CHARTPROGRESS, ChartProgressClass)) typedef struct _ChartProgress ChartProgress; typedef struct _ChartProgressClass ChartProgressClass; typedef struct _StackItem StackItem; typedef gchar (* ChartProgressPrintIntFunc) (gint value, gboolean minor); typedef gchar (* ChartProgressPrintDoubleFunc) (gdouble value, gboolean minor); /* = = = = = = = = = = */ /* = = = = = = = = = = = = = = = = = = = = */ /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ #define GTK_CHARTPROGRESS_BARW 32 #define CHART_BUFFER_LENGTH 128 #define DEFAULT_DELAY 500 /* Default delay in ms */ #define CHART_MARGIN 18 //standard a4 margin #define CHART_SPACING 6 struct _StackItem { /* data part */ gchar *label; gdouble spent; gdouble budget; gdouble result; gchar *status; /* draw stuffs */ gdouble rate; gboolean warn; /* tmp datas */ gdouble rawrate; }; /* you should access only the entry and list fields directly */ struct _ChartProgress { /*< private >*/ GtkBox hbox; GtkWidget *drawarea; GtkAdjustment *adjustment; GtkWidget *scrollbar; /* data storage */ gint nb_items; GArray *items; /*gchar **titles; gdouble *spent; gdouble *budget;*/ gchar *title; gchar *subtitle; gchar *budget_title; gchar *result_title; gboolean minor; guint32 kcur; gdouble minor_rate; gchar *minor_symbol; /* color datas */ GtkColorScheme color_scheme; /* cairo default value */ PangoFontDescription *pfd; gint pfd_size; /* buffer surface */ cairo_surface_t *surface; double barw, blkw; /* draw area coordinates */ double l, t, b, r, w, h; /* zones height */ double title_zh; double subtitle_zh, subtitle_y; double header_zh, header_y; double item_zh; /* column width */ double cat_col_w; double bud_col_w; double res_col_w; double rel_col_w; double graph_width, graph_height; //graph dimension gint visible; gint active, lastactive; gchar buffer[CHART_BUFFER_LENGTH]; }; struct _ChartProgressClass { GtkBoxClass parent_class; /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); }; GType ui_chart_progress_get_type (void); /* public function */ GtkWidget *ui_chart_progress_new(void); void ui_chart_progress_set_color_scheme(ChartProgress * chart, gint colorscheme); void ui_chart_progress_set_dualdatas(ChartProgress *chart, GtkTreeModel *model, gchar *coltitle1, gchar *coltitle2, gchar *title, gchar *subtitle); void ui_chart_progress_set_title(ChartProgress * chart, gchar *title); void ui_chart_progress_set_subtitle(ChartProgress * chart, gchar *subtitle); void ui_chart_progress_set_barw(ChartProgress * chart, gdouble barw); void ui_chart_progress_show_minor(ChartProgress * chart, gboolean minor); void ui_chart_progress_set_minor_prefs(ChartProgress * chart, gdouble rate, gchar *symbol); void ui_chart_progress_set_currency(ChartProgress * chart, guint32 kcur); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* __CHARTPROGRESS_H__ */ homebank-5.3.2/src/hb-payee.c0000644000175000017500000002754613604720365012677 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hb-payee.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ //Payee * //da_pay_clone void da_pay_free(Payee *item) { DB( g_print("da_pay_free\n") ); if(item != NULL) { DB( g_print(" => %d, %s\n", item->key, item->name) ); g_free(item->name); g_free(item); } } Payee * da_pay_malloc(void) { DB( g_print("da_pay_malloc\n") ); return g_malloc0(sizeof(Payee)); } void da_pay_destroy(void) { DB( g_print("da_pay_destroy\n") ); g_hash_table_destroy(GLOBALS->h_pay); } void da_pay_new(void) { Payee *item; DB( g_print("da_pay_new\n") ); GLOBALS->h_pay = g_hash_table_new_full(g_int_hash, g_int_equal, (GDestroyNotify)g_free, (GDestroyNotify)da_pay_free); // insert our 'no payee' item = da_pay_malloc(); item->name = g_strdup(""); da_pay_insert(item); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /** * da_pay_length: * * Return value: the number of elements */ guint da_pay_length(void) { return g_hash_table_size(GLOBALS->h_pay); } static void da_pay_max_key_ghfunc(gpointer key, Payee *item, guint32 *max_key) { *max_key = MAX(*max_key, item->key); } /** * da_pay_get_max_key: * * Get the biggest key from the GHashTable * * Return value: the biggest key value * */ guint32 da_pay_get_max_key(void) { guint32 max_key = 0; g_hash_table_foreach(GLOBALS->h_pay, (GHFunc)da_pay_max_key_ghfunc, &max_key); return max_key; } /** * da_pay_delete: * * delete an payee from the GHashTable * * Return value: TRUE if the key was found and deleted * */ gboolean da_pay_delete(guint32 key) { DB( g_print("da_pay_delete %d\n", key) ); return g_hash_table_remove(GLOBALS->h_pay, &key); } /** * da_pay_insert: * * insert an payee into the GHashTable * * Return value: TRUE if inserted * */ gboolean da_pay_insert(Payee *item) { guint32 *new_key; DB( g_print("da_pay_insert\n") ); new_key = g_new0(guint32, 1); *new_key = item->key; g_hash_table_insert(GLOBALS->h_pay, new_key, item); return TRUE; } /** * da_pay_append: * * append a new payee into the GHashTable * * Return value: TRUE if inserted * */ gboolean da_pay_append(Payee *item) { Payee *existitem; DB( g_print("da_pay_append\n") ); existitem = da_pay_get_by_name( item->name ); if( existitem == NULL ) { item->key = da_pay_get_max_key() + 1; da_pay_insert(item); return TRUE; } DB( g_print(" -> %s already exist: %d\n", item->name, item->key) ); return FALSE; } /** * da_pay_append_if_new: * * append a new payee into the GHashTable * * Return value: existing or new payee * */ Payee * da_pay_append_if_new(gchar *rawname) { Payee *retval = NULL; retval = da_pay_get_by_name(rawname); if(retval == NULL) { retval = da_pay_malloc(); retval->key = da_pay_get_max_key() + 1; retval->name = g_strdup(rawname); g_strstrip(retval->name); da_pay_insert(retval); } return retval; } static gboolean da_pay_name_grfunc(gpointer key, Payee *item, gchar *name) { if( name && item->name ) { if(!strcasecmp(name, item->name)) return TRUE; } return FALSE; } /** * da_pay_get_by_name: * * Get an payee structure by its name * * Return value: Payee * or NULL if not found * */ Payee * da_pay_get_by_name(gchar *rawname) { Payee *retval = NULL; gchar *stripname; DB( g_print("da_pay_get_by_name\n") ); if( rawname ) { stripname = g_strdup(rawname); g_strstrip(stripname); if( strlen(stripname) == 0 ) retval = da_pay_get(0); else retval = g_hash_table_find(GLOBALS->h_pay, (GHRFunc)da_pay_name_grfunc, stripname); g_free(stripname); } return retval; } /** * da_pay_get: * * Get an payee structure by key * * Return value: Payee * or NULL if not found * */ Payee * da_pay_get(guint32 key) { //DB( g_print("da_pay_get\n") ); return g_hash_table_lookup(GLOBALS->h_pay, &key); } void da_pay_consistency(Payee *item) { g_strstrip(item->name); //5.2.4 we drop internal xfer here as it will disapear //was faulty possible if( item->paymode == OLDPAYMODE_INTXFER ) item->paymode = PAYMODE_XFER; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ #if MYDEBUG static void da_pay_debug_list_ghfunc(gpointer key, gpointer value, gpointer user_data) { guint32 *id = key; Payee *item = value; DB( g_print(" %d :: %s\n", *id, item->name) ); } static void da_pay_debug_list(void) { DB( g_print("\n** debug **\n") ); g_hash_table_foreach(GLOBALS->h_pay, da_pay_debug_list_ghfunc, NULL); DB( g_print("\n** end debug **\n") ); } #endif /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ void payee_delete_unused(void) { GList *lpay, *list; lpay = list = g_hash_table_get_values(GLOBALS->h_pay); while (list != NULL) { Payee *entry = list->data; if(entry->usage_count <= 0 && entry->key > 0) da_pay_delete (entry->key); list = g_list_next(list); } g_list_free(lpay); } void payee_fill_usage(void) { GList *lpay; GList *lst_acc, *lnk_acc; GList *lnk_txn; GList *lrul, *list; lpay = list = g_hash_table_get_values(GLOBALS->h_pay); while (list != NULL) { Payee *entry = list->data; entry->usage_count = 0; list = g_list_next(list); } g_list_free(lpay); lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; lnk_txn = g_queue_peek_head_link(acc->txn_queue); while (lnk_txn != NULL) { Transaction *txn = lnk_txn->data; Payee *pay = da_pay_get (txn->kpay); if(pay) pay->usage_count++; lnk_txn = g_list_next(lnk_txn); } lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); list = g_list_first(GLOBALS->arc_list); while (list != NULL) { Archive *entry = list->data; Payee *pay = da_pay_get (entry->kpay); if(pay) pay->usage_count++; list = g_list_next(list); } lrul = list = g_hash_table_get_values(GLOBALS->h_rul); while (list != NULL) { Assign *entry = list->data; Payee *pay = da_pay_get (entry->kpay); if(pay) pay->usage_count++; list = g_list_next(list); } g_list_free(lrul); } void payee_move(guint32 key1, guint32 key2) { GList *lst_acc, *lnk_acc; GList *lnk_txn; GList *lrul, *list; lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; lnk_txn = g_queue_peek_head_link(acc->txn_queue); while (lnk_txn != NULL) { Transaction *txn = lnk_txn->data; if(txn->kpay == key1) { txn->kpay = key2; txn->flags |= OF_CHANGED; } lnk_txn = g_list_next(lnk_txn); } lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); list = g_list_first(GLOBALS->arc_list); while (list != NULL) { Archive *entry = list->data; if(entry->kpay == key1) { entry->kpay = key2; } list = g_list_next(list); } lrul = list = g_hash_table_get_values(GLOBALS->h_rul); while (list != NULL) { Assign *entry = list->data; if(entry->kpay == key1) { entry->kpay = key2; } list = g_list_next(list); } g_list_free(lrul); } gboolean payee_rename(Payee *item, const gchar *newname) { Payee *existitem; gchar *stripname; gboolean retval = FALSE; stripname = g_strdup(newname); g_strstrip(stripname); existitem = da_pay_get_by_name(stripname); if( existitem != NULL && existitem->key != item->key) { DB( g_print("- error, same name already exist with other key %d <> %d\n",existitem->key, item->key) ); g_free(stripname); } else { DB( g_print("- renaming\n") ); g_free(item->name); item->name = stripname; retval = TRUE; } return retval; } static gint payee_glist_name_compare_func(Payee *a, Payee *b) { return hb_string_utf8_compare(a->name, b->name); } static gint payee_glist_key_compare_func(Payee *a, Payee *b) { return a->key - b->key; } GList * payee_glist_sorted(gint column) { GList *list = g_hash_table_get_values(GLOBALS->h_pay); if(column == 0) return g_list_sort(list, (GCompareFunc)payee_glist_key_compare_func); else return g_list_sort(list, (GCompareFunc)payee_glist_name_compare_func); } gboolean payee_load_csv(gchar *filename, gchar **error) { gboolean retval; GIOChannel *io; gchar *tmpstr; gint io_stat; gchar **str_array; const gchar *encoding; gint nbcol; encoding = homebank_file_getencoding(filename); DB( g_print(" -> encoding should be %s\n", encoding) ); retval = TRUE; *error = NULL; io = g_io_channel_new_file(filename, "r", NULL); if(io != NULL) { if( encoding != NULL ) { g_io_channel_set_encoding(io, encoding, NULL); } for(;;) { io_stat = g_io_channel_read_line(io, &tmpstr, NULL, NULL, NULL); if( io_stat == G_IO_STATUS_EOF) break; if( io_stat == G_IO_STATUS_NORMAL) { if( tmpstr != NULL) { DB( g_print("\n + strip\n") ); hb_string_strip_crlf(tmpstr); DB( g_print(" + split '%s'\n", tmpstr) ); str_array = g_strsplit (tmpstr, ";", 2); // payee;category : later paymode? nbcol = g_strv_length (str_array); if( nbcol > 2 ) { *error = _("invalid CSV format"); retval = FALSE; DB( g_print(" + error %s\n", *error) ); } else { Payee *pay = NULL; Category *cat = NULL; if( nbcol >= 1 ) { DB( g_print(" add pay:'%s' ?\n", str_array[0]) ); pay = da_pay_append_if_new(str_array[0]); DB( g_print(" pay: %p\n", pay) ); if( pay != NULL ) { GLOBALS->changes_count++; } } if( nbcol == 2 ) { DB( g_print(" add cat:'%s'\n", str_array[1]) ); cat = da_cat_append_ifnew_by_fullname(str_array[1]); DB( g_print(" cat: %p %p\n", cat, pay) ); if( cat != NULL ) { if( pay != NULL) { DB( g_print(" set default cat to %d\n", cat->key) ); pay->kcat = cat->key; } GLOBALS->changes_count++; } } } g_strfreev (str_array); } g_free(tmpstr); } } g_io_channel_unref (io); } return retval; } void payee_save_csv(gchar *filename) { GIOChannel *io; GList *lpay, *list; gchar *outstr; io = g_io_channel_new_file(filename, "w", NULL); if(io != NULL) { lpay = list = payee_glist_sorted(1); while (list != NULL) { Payee *item = list->data; gchar *fullcatname; if(item->key != 0) { fullcatname = NULL; if( item->kcat > 0 ) { Category *cat = da_cat_get(item->kcat); if( cat != NULL ) { fullcatname = cat->fullname; } } if( fullcatname != NULL ) outstr = g_strdup_printf("%s;%s\n", item->name, fullcatname); else outstr = g_strdup_printf("%s;\n", item->name); DB( g_print(" + export %s\n", outstr) ); g_io_channel_write_chars(io, outstr, -1, NULL, NULL); g_free(outstr); g_free(fullcatname); } list = g_list_next(list); } g_list_free(lpay); g_io_channel_unref (io); } } homebank-5.3.2/src/hb-currency.c0000644000175000017500000006315713604720365013424 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hb-currency.h" #include #ifdef G_OS_WIN32 #include #endif /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; extern Currency4217 iso4217cur[]; extern guint n_iso4217cur; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ void da_cur_free(Currency *item) { DB( g_print("da_cur_free\n") ); if(item != NULL) { DB( g_print(" => %d, %s\n", item->key, item->iso_code) ); g_free(item->name); g_free(item->iso_code); g_free(item->symbol); g_free(item->decimal_char); g_free(item->grouping_char); g_free(item); } } Currency * da_cur_malloc(void) { DB( g_print("da_cur_malloc\n") ); return g_malloc0(sizeof(Currency)); } void da_cur_destroy(void) { DB( g_print("da_cur_destroy\n") ); g_hash_table_destroy(GLOBALS->h_cur); } void da_cur_new(void) { Currency4217 *curfmt; DB( g_print("da_cur_new\n") ); GLOBALS->h_cur = g_hash_table_new_full(g_int_hash, g_int_equal, (GDestroyNotify)g_free, (GDestroyNotify)da_cur_free); // insert default base currency curfmt = iso4217format_get(PREFS->IntCurrSymbol); if(curfmt == NULL) curfmt = iso4217format_get("USD"); if(curfmt) { DB( g_printf("curfmt %p\n", curfmt) ); currency_add_from_user(curfmt); } } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void da_cur_max_key_ghfunc(gpointer key, Currency *item, guint32 *max_key) { *max_key = MAX(*max_key, item->key); } static gboolean da_cur_name_grfunc(gpointer key, Currency *item, gchar *name) { if( name && item->name ) { if(!strcasecmp(name, item->name)) return TRUE; } return FALSE; } static gboolean da_cur_iso_grfunc(gpointer key, Currency *item, gchar *iso) { if( iso && item->iso_code ) { if(!strcasecmp(iso, item->iso_code)) return TRUE; } return FALSE; } guint da_cur_length(void) { return g_hash_table_size(GLOBALS->h_cur); } gboolean da_cur_delete(guint32 key) { DB( g_print("da_cur_delete %d\n", key) ); return g_hash_table_remove(GLOBALS->h_cur, &key); } void da_cur_init_from4217(Currency *cur, Currency4217 *curfmt) { cur->symbol = g_strdup(curfmt->curr_symbol); cur->sym_prefix = curfmt->curr_is_prefix; cur->decimal_char = g_strdup(curfmt->curr_dec_char); cur->grouping_char = g_strdup(curfmt->curr_grp_char); cur->frac_digits = curfmt->curr_frac_digit; da_cur_initformat(cur); } void da_cur_initformat(Currency *item) { DB( g_print("init currency %s, %d \n", item->symbol, item->frac_digits) ); // for formatd g_snprintf(item->format , 8-1, "%%.%df", item->frac_digits); if(item->sym_prefix == TRUE) g_snprintf(item->monfmt , 32-1, "%s %%s", item->symbol); else g_snprintf(item->monfmt , 32-1, "%%s %s", item->symbol); DB( g_print("fmt '%s'\n", item->format) ); DB( g_print("monfmt '%s'\n", item->monfmt) ); } gboolean da_cur_insert(Currency *item) { guint32 *new_key; DB( g_print("da_cur_insert\n") ); new_key = g_new0(guint32, 1); *new_key = item->key; g_hash_table_insert(GLOBALS->h_cur, new_key, item); da_cur_initformat(item); return TRUE; } gboolean da_cur_append(Currency *item) { Currency *existitem; guint32 *new_key; DB( g_print("da_cur_append\n") ); /* ensure no duplicate */ existitem = da_cur_get_by_name( item->name ); if( existitem == NULL ) { new_key = g_new0(guint32, 1); *new_key = da_cur_get_max_key() + 1; item->key = *new_key; //item->pos = da_cur_length() + 1; DB( g_print(" -> insert id: %d\n", *new_key) ); g_hash_table_insert(GLOBALS->h_cur, new_key, item); da_cur_initformat(item); return TRUE; } DB( g_print(" -> %s already exist: %d\n", item->iso_code, item->key) ); return FALSE; } guint32 da_cur_get_max_key(void) { guint32 max_key = 0; g_hash_table_foreach(GLOBALS->h_cur, (GHFunc)da_cur_max_key_ghfunc, &max_key); return max_key; } Currency * da_cur_get_by_name(gchar *name) { DB( g_print("da_cur_get_by_name\n") ); return g_hash_table_find(GLOBALS->h_cur, (GHRFunc)da_cur_name_grfunc, name); } Currency * da_cur_get_by_iso_code(gchar *iso_code) { DB( g_print("da_cur_get_by_iso_code\n") ); return g_hash_table_find(GLOBALS->h_cur, (GHRFunc)da_cur_iso_grfunc, iso_code); } Currency * da_cur_get(guint32 key) { //DB( g_print("da_cur_get\n") ); return g_hash_table_lookup(GLOBALS->h_cur, &key); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ gboolean currency_is_euro(guint32 key) { Currency *item; gboolean retval = FALSE; item = da_cur_get(key); if( item && item->iso_code ) { if(!strcasecmp("EUR", item->iso_code)) retval = TRUE; } return retval; } /** * currency_is_used: * * controls if a currency is used [base or account] * * Return value: TRUE if used, FALSE, otherwise */ gboolean currency_is_used(guint32 key) { GList *list; gboolean retval; if(GLOBALS->kcur == key) return TRUE; retval = FALSE; list = g_hash_table_get_values(GLOBALS->h_acc); while (list != NULL) { Account *item = list->data; if(item->kcur == key) { retval = TRUE; goto end; } list = g_list_next(list); } end: g_list_free(list); return retval; } Currency4217 *iso4217format_get(gchar *code) { Currency4217 *cur; guint i; for (i = 0; i< n_iso4217cur; i++) { cur = &iso4217cur[i]; if(g_strcmp0(cur->curr_iso_code, code) == 0) { return cur; } } return NULL; } static void currency_get_system_format(Currency *item) { DB( g_printf("\n[(currency] get format from system '%s'\n", item->iso_code) ); #ifdef G_OS_UNIX struct lconv *lc = localeconv(); DB( g_print("int_curr_symbol '%s'\n", lc->int_curr_symbol) ); DB( g_print("mon_decimal_point is utf8: %d\n", g_utf8_validate(lc->mon_decimal_point, -1, NULL)) ); DB( g_print("mon_decimal_point '%s'\n", lc->mon_decimal_point) ); DB( g_print("mon_decimal_point %x %x %x %x\n", lc->mon_decimal_point[0], lc->mon_decimal_point[1], lc->mon_decimal_point[2], lc->mon_decimal_point[3]) ); DB( g_print("mon_thousands_sep is utf8: %d\n", g_utf8_validate(lc->mon_thousands_sep, -1, NULL)) ); DB( g_print("mon_thousands_sep '%s'\n", lc->mon_thousands_sep) ); DB( g_print("mon_thousands_sep %x %x %x %x\n", lc->mon_thousands_sep[0], lc->mon_thousands_sep[1], lc->mon_thousands_sep[2], lc->mon_thousands_sep[3]) ); DB( g_print("frac_digits '%d'\n", (gint)lc->frac_digits) ); DB( g_print("currency_symbol '%s'\n", lc->currency_symbol) ); DB( g_print("p_cs_precedes '%d'\n", lc->p_cs_precedes) ); DB( g_print("n_cs_precedes '%d'\n", lc->n_cs_precedes) ); /* ok assign */ item->symbol = g_strdup(lc->currency_symbol); if( lc->p_cs_precedes || lc->n_cs_precedes ) { item->sym_prefix = TRUE; DB( g_print("locale mon cs is a prefix\n") ); } else { item->sym_prefix = FALSE; } item->decimal_char = g_strdup(lc->mon_decimal_point); item->grouping_char = g_strdup(lc->mon_thousands_sep); //todo:fix //PREFS->base_cur.grouping_char = g_locale_to_utf8(lc->mon_thousands_sep, -1, NULL, NULL, NULL); //PREFS->base_cur.grouping_char = g_convert (lc->mon_thousands_sep, -1, "UTF-8", "ISO-8859-1", NULL, NULL, NULL); DB( g_print(" -> grouping_char: '%s'\n", item->grouping_char) ); item->frac_digits = lc->frac_digits; //fix 378992/421228 if( item->frac_digits > MAX_FRAC_DIGIT ) { item->frac_digits = 2; g_free(item->decimal_char); item->decimal_char = g_strdup("."); } #else #ifdef G_OS_WIN32 #define BUFFER_SIZE 512 char buffer[BUFFER_SIZE]; //LPWSTR wcBuffer = buffer; LPSTR wcBuffer = buffer; int iResult; //https://msdn.microsoft.com/en-us/library/windows/desktop/dd464799%28v=vs.85%29.aspx //see g_locale_to_utf8 here iResult = GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SCURRENCY, wcBuffer, BUFFER_SIZE); if(iResult > 0) { DB( g_print("LOCALE_SCURRENCY='%s'\n", buffer) ); item->symbol = g_locale_to_utf8(buffer, -1, NULL, NULL, NULL); } item->sym_prefix = FALSE; iResult = GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_IPOSSYMPRECEDES, wcBuffer, BUFFER_SIZE); if(iResult > 0) { DB( g_print("LOCALE_IPOSSYMPRECEDES='%s'\n", buffer) ); //todo item->sym_prefix } iResult = GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, wcBuffer, BUFFER_SIZE); if(iResult > 0) { DB( g_print("LOCALE_SDECIMAL='%s'\n", buffer) ); item->decimal_char = g_locale_to_utf8(buffer, -1, NULL, NULL, NULL); } iResult = GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_STHOUSAND, wcBuffer, BUFFER_SIZE); if(iResult > 0) { DB( g_print("LOCALE_STHOUSAND='%s'\n", buffer) ); item->grouping_char = g_locale_to_utf8(buffer, -1, NULL, NULL, NULL); } iResult = GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_ICURRDIGITS, wcBuffer, BUFFER_SIZE); if(iResult > 0) { DB( g_print("LOCALE_ICURRDIGITS='%s'\n", buffer) ); item->frac_digits = atoi(buffer); } else item->frac_digits = 2; #endif #endif } Currency *currency_add_from_user(Currency4217 *curfmt) { Currency *item; DB( g_printf("\n[(currency] found adding %s\n", curfmt->curr_iso_code) ); item = da_cur_malloc(); //no mem alloc here //item->key = i; if(curfmt != NULL) { item->name = g_strdup(curfmt->name); //item->country = cur.country_name; item->iso_code = g_strdup(curfmt->curr_iso_code); //1634615 if the currency match the system, fill with it if(!strcmp(item->iso_code, PREFS->IntCurrSymbol)) { currency_get_system_format(item); } else { item->frac_digits = curfmt->curr_frac_digit; item->symbol = g_strdup(curfmt->curr_symbol); item->sym_prefix = curfmt->curr_is_prefix; item->decimal_char = g_strdup(curfmt->curr_dec_char); item->grouping_char = g_strdup(curfmt->curr_grp_char); } } else { item->name = g_strdup("unknown"); //item->country = cur.country_name; item->iso_code = g_strdup("XXX"); item->frac_digits = 2; item->symbol = g_strdup("XXX"); item->sym_prefix = FALSE; item->decimal_char = g_strdup("."); item->grouping_char = NULL; } da_cur_append(item); return item; } static gboolean currency_rate_update(gchar *isocode, gdouble rate, guint32 date) { gboolean retval = FALSE; Currency *cur; cur = da_cur_get_by_iso_code (isocode); if(cur) { DB( g_print(" found cur='%s'\n", cur->iso_code) ); cur->rate = rate; cur->mdate = date; GLOBALS->changes_count++; retval = TRUE; } return retval; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /* currency API * discontinued see #1730527, #1785210 */ /* real open source fixer API */ /* DNS should be: https://frankfurter.app * see https://github.com/fixerAPI/fixer/issues/107 */ /* old ** api.fixer.io deprecated since 30/04/2019 ** QS: https://api.fixer.io/latest?base=EUR&symbols=USD,CHF,AUD,CAD,JPY,CNY,GBP ** ** test API ** gchar fixeriojson[] = ** "{    }"; ** " { \r \"base\" : \"EUR\", \ ** \"date\": \n\r \"2017-12-04\", \ ** \"rates\" \n\n :{\"AUD\":1.5585,\"CAD\":1.5034,\"CHF\":1.1665,\"CNY\":7.8532,\"GBP\":0.87725,\"JPY\":133.91,\"USD\":1.1865 \ ** } }"; */ static gboolean api_fixerio_parse(const gchar *body, GError **error) { gchar *rawjson; gchar *p; gchar strbuf[48]; gchar isocode[8]; gdouble rate; guint32 date = GLOBALS->today; guint count = 0; if(body) { //there is no need of a complex JSON parser here, so let's hack ! rawjson = g_strdup(body); hb_string_inline(rawjson); DB( g_printf("\nbody: '%s'\n", rawjson ) ); //get date p = g_strstr_len(rawjson, -1, "\"date\""); if(p) { strncpy(strbuf, p+8, 10); strbuf[10]='\0'; date = hb_date_get_julian(strbuf, PRF_DATEFMT_YMD); DB( g_printf("\n-date: %.10s %d\n", strbuf, date) ); } //get rates p = g_strstr_len(rawjson, -1, "\"rates\""); if(p) { p = p+8; do { p = hb_string_copy_jsonpair(strbuf, p); strncpy(isocode, strbuf, 3); isocode[3]='\0'; rate = g_ascii_strtod(strbuf+4, NULL); DB( g_printf("\npair: '%s' '%s' %f\n", strbuf, isocode, rate ) ); if( currency_rate_update(isocode, rate, date) ) count++; } while( p != NULL ); } g_free(rawjson); } return( (count > 0) ? TRUE : FALSE); } static gchar *api_fixerio_query_build(void) { GList *list; GString *node; Currency *base; Currency *item; gint i; base = da_cur_get (GLOBALS->kcur); node = g_string_sized_new(512); //todo: think about encapsulate the API call ourself //todo: let the user choose http / https g_string_append_printf(node, "https://frankfurter.app/latest?base=%s&symbols=", base->iso_code); //g_string_append_printf(node, "https://api.fixer.io/latest?base=%s&symbols=", base->iso_code); list = g_hash_table_get_values(GLOBALS->h_cur); i = g_list_length (list); while (list != NULL) { item = list->data; if( (item->key != GLOBALS->kcur) && (strlen(item->iso_code) == 3) ) { g_string_append_printf(node, "%s", item->iso_code); if(i > 1) { g_string_append(node, ","); } } i--; list = g_list_next(list); } g_list_free(list); return g_string_free(node, FALSE); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ gboolean currency_online_sync(GError **error) { SoupSession *session; SoupMessage *msg; gchar *query; gboolean retval = TRUE; DB( g_printf("\n[currency] sync online\n") ); query = api_fixerio_query_build(); DB( g_printf("query: '%s'\n", query) ); /* //test API retval = api_fixerio_parse(fixeriojson, error); */ session = soup_session_new (); msg = soup_message_new ("GET", query); if(msg != NULL) { soup_session_send_message (session, msg); DB( g_print("status_code: %d %d\n", msg->status_code, SOUP_STATUS_IS_SUCCESSFUL(msg->status_code) ) ); DB( g_print("reason: %s\n", msg->reason_phrase) ); DB( g_print("datas: %s\n", msg->response_body->data) ); if( SOUP_STATUS_IS_SUCCESSFUL(msg->status_code) == TRUE ) { //#1750426 ignore the retval here (false when no rate was found, as we don't care) api_fixerio_parse(msg->response_body->data, error); } else { *error = g_error_new_literal(1, msg->status_code, msg->reason_phrase); retval = FALSE; } g_object_unref(msg); } else { *error = g_error_new_literal(1, 0, "cannot parse URI"); retval = FALSE; } g_free(query); soup_session_abort (session); g_object_unref(session); return retval; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ //struct iso_4217_currency iso_4217_currencies[]; /*debug testing static void fill_currency(void) { gint i; struct iso_4217_currency cur; Currency *item; for (i = 0; i< 500; i++) { cur = iso_4217_currencies[i]; if(cur.iso_code == NULL) break; item = da_cur_malloc(); //no mem alloc here item->key = i; item->name = cur.currency; item->country = cur.country; item->iso_code = cur.iso_code; da_cur_insert(item); } }*/ Currency4217 iso4217cur[] = { { "AED", 2, ".", ",", TRUE, "د.إ.‏", "UAE Dirham" }, { "AFN", 0, ",", ",", TRUE, "؋", "Afghani" }, { "ALL", 0, ",", " ", FALSE, "Lekë", "Lek" }, { "AMD", 2, ".", ",", FALSE, "֏", "Armenian Dram" }, { "ANG", 2, ",", ",", TRUE, "NAf.", "Netherlands Antillian Guilder" }, { "AOA", 2, ",", " ", FALSE, "Kz", "Kwanza" }, { "ARS", 2, ",", ".", TRUE, "$", "Argentine Peso" }, { "AUD", 2, ".", ",", TRUE, "$", "Australian Dollar" }, { "AWG", 2, ",", ".", TRUE, "Afl.", "Aruban Guilder" }, { "AZN", 2, ",", " ", TRUE, "₼", "Azerbaijanian Manat" }, { "BAM", 2, ",", ".", FALSE, "KM", "Convertible Marks" }, { "BBD", 2, ".", ",", TRUE, "$", "Barbados Dollar" }, { "BDT", 2, ".", ",", TRUE, "৳", "Taka" }, { "BGN", 2, ",", " ", FALSE, "лв.", "Bulgarian Lev" }, { "BHD", 3, ".", ",", TRUE, "د.ب.‏", "Bahraini Dinar" }, { "BIF", 0, ",", " ", FALSE, "FBu", "Burundi Franc" }, { "BMD", 2, ".", ",", TRUE, "$", "Bermudian Dollar" }, { "BND", 2, ",", ".", TRUE, "$", "Brunei Dollar" }, { "BOB", 2, ",", ".", TRUE, "Bs", "Boliviano" }, { "BOV", 2, ".", "", FALSE, "BOV", "Mvdol" }, { "BRL", 2, ",", ".", TRUE, "R$", "Brazilian Real" }, { "BSD", 2, ".", ",", TRUE, "$", "Bahamian Dollar" }, { "BTN", 2, ".", ",", TRUE, "Nu.", "Ngultrum" }, { "BWP", 2, ".", " ", TRUE, "P", "Pula" }, { "BYN", 0, ",", " ", FALSE, "Br", "Belarussian Ruble" }, { "BYR", 0, ",", " ", FALSE, "Br", "Old Belarussian Ruble" }, { "BZD", 2, ".", ",", TRUE, "$", "Belize Dollar" }, { "CAD", 2, ",", " ", TRUE, "$", "Canadian Dollar" }, { "CDF", 2, ",", " ", TRUE, "FC", "Congolese Franc" }, { "CHE", 2, ".", "", FALSE, "CHE", "WIR Euro" }, { "CHF", 2, ",", "'", TRUE, "CHF", "Swiss Franc" }, { "CHW", 2, ".", "", FALSE, "CHW", "WIR Franc" }, { "CLF", 2, ".", "", FALSE, "CLF", "Unidades de fomento" }, { "CLP", 0, ",", ".", TRUE, "$", "Chilean Peso" }, { "CNY", 2, ".", ",", TRUE, "¥", "Yuan Renminbi" }, { "COP", 0, ",", ".", TRUE, "$", "Colombian Peso" }, { "COU", 2, ".", "", FALSE, "COU", "Unidad de Valor Real" }, { "CRC", 0, ",", ".", TRUE, "₡", "Costa Rican Colon" }, { "CUP", 2, ".", ",", TRUE, "$", "Cuban Peso" }, { "CVE", 2, "$", " ", FALSE, "​", "Cape Verde Escudo" }, { "CYP", 2, ".", "", FALSE, "CYP", "Cyprus Pound" }, { "CZK", 2, ",", " ", FALSE, "Kč", "Czech Koruna" }, { "DJF", 0, ",", " ", TRUE, "Fdj", "Djibouti Franc" }, { "DKK", 2, ",", ".", TRUE, "kr", "Danish Krone" }, { "DOP", 2, ".", ",", TRUE, "$", "Dominican Peso" }, { "DZD", 2, ",", " ", FALSE, "DA", "Algerian Dinar" }, { "EEK", 2, ".", "", FALSE, "EEK", "Kroon" }, { "EGP", 2, ".", ",", TRUE, "ج.م.‏", "Egyptian Pound" }, { "ERN", 2, ".", ",", TRUE, "Nfk", "Nakfa" }, { "ETB", 2, ".", ",", TRUE, "Br", "Ethiopian Birr" }, { "EUR", 2, ",", " ", TRUE, "€", "Euro" }, { "FJD", 2, ".", ",", TRUE, "$", "Fiji Dollar" }, { "FKP", 2, ".", ",", TRUE, "£", "Falkland Islands Pound" }, { "GBP", 2, ".", ",", TRUE, "£", "Pound Sterling" }, { "GEL", 2, ",", " ", TRUE, "₾", "Lari" }, { "GHS", 2, ".", ",", TRUE, "GH₵", "Ghana Cedi" }, { "GIP", 2, ".", ",", TRUE, "£", "Gibraltar Pound" }, { "GMD", 2, ".", ",", TRUE, "D", "Dalasi" }, { "GNF", 0, ",", " ", TRUE, "FG", "Guinea Franc" }, { "GTQ", 2, ".", ",", TRUE, "Q", "Quetzal" }, { "GYD", 0, ".", ",", TRUE, "$", "Guyana Dollar" }, { "HKD", 2, ".", ",", TRUE, "$", "Hong Kong Dollar" }, { "HNL", 2, ".", ",", TRUE, "L", "Lempira" }, { "HRK", 2, ",", ".", FALSE, "kn", "Croatian Kuna" }, { "HTG", 2, ",", " ", FALSE, "G", "Gourde" }, { "HUF", 2, ",", " ", FALSE, "HUF", "Forint" }, { "IDR", 0, ",", ".", TRUE, "Rp", "Rupiah" }, { "ILS", 2, ".", ",", TRUE, "₪", "New Israeli Sheqel" }, { "INR", 2, ".", ",", TRUE, "₹", "Indian Rupee" }, { "IQD", 2, ".", ",", TRUE, "د.ع.‏", "Iraqi Dinar" }, { "IRR", 2, "/", ",", TRUE, "ريال", "Iranian Rial" }, { "ISK", 0, ",", ".", FALSE, "ISK", "Iceland Krona" }, { "JMD", 2, ".", ",", TRUE, "$", "Jamaican Dollar" }, { "JOD", 3, ".", ",", TRUE, "د.ا.‏", "Jordanian Dinar" }, { "JPY", 0, ".", ",", TRUE, "¥", "Yen" }, { "KES", 2, ".", ",", TRUE, "Ksh", "Kenyan Shilling" }, { "KGS", 2, ",", " ", FALSE, "сом", "Som" }, { "KHR", 2, ".", ",", FALSE, "៛", "Riel" }, { "KMF", 0, ",", " ", TRUE, "CF", "Comoro Franc" }, { "KPW", 2, ".", "", FALSE, "KPW", "North Korean Won" }, { "KRW", 0, ".", ",", TRUE, "₩", "Won" }, { "KWD", 3, ".", ",", TRUE, "د.ك.‏", "Kuwaiti Dinar" }, { "KYD", 2, ".", ",", TRUE, "$", "Cayman Islands Dollar" }, { "KZT", 2, ",", " ", FALSE, "₸", "Tenge" }, { "LAK", 0, ",", ".", TRUE, "₭", "Kip" }, { "LBP", 2, ".", ",", TRUE, "ل.ل.‏", "Lebanese Pound" }, { "LKR", 2, ".", ",", TRUE, "Rs.", "Sri Lanka Rupee" }, { "LRD", 2, ".", ",", TRUE, "$", "Liberian Dollar" }, { "LSL", 2, ".", "", FALSE, "LSL", "Loti" }, { "LTL", 2, ".", "", FALSE, "LTL", "Lithuanian Litas" }, { "LVL", 2, ".", "", FALSE, "LVL", "Latvian Lats" }, { "LYD", 3, ".", ",", TRUE, "د.ل.‏", "Libyan Dinar" }, { "MAD", 2, ",", " ", FALSE, "DH", "Moroccan Dirham" }, { "MDL", 2, ",", " ", FALSE, "L", "Moldovan Leu" }, { "MGA", 0, ",", " ", TRUE, "Ar", "Malagasy Ariary" }, { "MKD", 2, ",", " ", TRUE, "den", "Denar" }, { "MMK", 0, ".", ",", TRUE, "K", "Kyat" }, { "MNT", 0, ".", ",", TRUE, "₮", "Tugrik" }, { "MOP", 2, ",", " ", TRUE, "MOP", "Pataca" }, { "MRO", 0, ",", " ", TRUE, "UM", "Ouguiya" }, { "MTL", 2, ".", "", FALSE, "MTL", "Maltese Lira" }, { "MUR", 0, ",", " ", TRUE, "Rs", "Mauritius Rupee" }, { "MVR", 2, ".", ",", FALSE, "ރ.", "Rufiyaa" }, { "MWK", 2, ".", ",", TRUE, "MK", "Kwacha" }, { "MXN", 2, ".", ",", TRUE, "$", "Mexican Peso" }, { "MXV", 2, ".", "", FALSE, "MXV", "Mexican Unidad de Inversion (UDI)" }, { "MYR", 2, ".", ",", TRUE, "RM", "Malaysian Ringgit" }, { "MZN", 2, ",", " ", FALSE, "MTn", "Metical" }, { "NAD", 2, ",", " ", TRUE, "$", "Namibia Dollar" }, { "NGN", 2, ".", ",", TRUE, "₦", "Naira" }, { "NIO", 2, ".", ",", TRUE, "C$", "Cordoba Oro" }, { "NOK", 2, ",", " ", TRUE, "kr", "Norwegian Krone" }, { "NPR", 2, ".", ",", TRUE, "रु", "Nepalese Rupee" }, { "NZD", 2, ".", ",", TRUE, "$", "New Zealand Dollar" }, { "OMR", 3, ".", ",", TRUE, "ر.ع.‏", "Rial Omani" }, { "PAB", 2, ".", ",", TRUE, "B/.", "Balboa" }, { "PEN", 2, ".", ",", TRUE, "S/.", "Nuevo Sol" }, { "PGK", 2, ".", ",", TRUE, "K", "Kina" }, { "PHP", 2, ",", ",", TRUE, "₱", "Philippine Peso" }, { "PKR", 0, ".", ",", TRUE, "Rs", "Pakistan Rupee" }, { "PLN", 2, ",", " ", FALSE, "zł", "Zloty" }, { "PYG", 0, ",", ".", TRUE, "₲", "Guarani" }, { "QAR", 2, ".", ",", TRUE, "ر.ق.‏", "Qatari Rial" }, { "RON", 2, ",", ".", FALSE, "RON", "New Leu" }, { "RSD", 0, ",", ".", FALSE, "RSD", "Serbian Dinar" }, { "RUB", 2, ",", " ", TRUE, "₽", "Russian Ruble" }, { "RWF", 0, ",", " ", TRUE, "RF", "Rwanda Franc" }, { "SAR", 2, ".", ",", TRUE, "ر.س.‏", "Saudi Riyal" }, { "SBD", 2, ".", ",", TRUE, "$", "Solomon Islands Dollar" }, { "SCR", 2, ",", " ", TRUE, "SR", "Seychelles Rupee" }, { "SDG", 2, ".", ",", TRUE, "SDG", "Sudanese Pound" }, { "SEK", 2, ",", ".", FALSE, "kr", "Swedish Krona" }, { "SGD", 2, ".", ",", TRUE, "$", "Singapore Dollar" }, { "SHP", 2, ".", ",", TRUE, "£", "Saint Helena Pound" }, { "SLL", 0, ".", ",", TRUE, "Le", "Leone" }, { "SOS", 0, ".", ",", TRUE, "S", "Somali Shilling" }, { "SRD", 2, ",", ".", TRUE, "$", "Surinam Dollar" }, { "STD", 0, ",", " ", FALSE, "Db", "Dobra" }, { "SVC", 2, ".", "", FALSE, "SVC", "El Salvador Colon" }, { "SYP", 0, ",", " ", TRUE, "LS", "Syrian Pound" }, { "SZL", 2, ",", " ", TRUE, "E", "Lilangeni" }, { "THB", 2, ".", ",", TRUE, "฿", "Baht" }, { "TJS", 2, ",", " ", FALSE, "смн", "Somoni" }, { "TMM", 2, ".", "", FALSE, "TMM", "Manat" }, { "TND", 3, ",", " ", TRUE, "DT", "Tunisian Dinar" }, { "TOP", 2, ".", ",", TRUE, "T$", "Pa'anga" }, { "TRY", 2, ",", ".", FALSE, "₺", "New Turkish Lira" }, { "TTD", 2, ".", ",", TRUE, "$", "Trinidad and Tobago Dollar" }, { "TWD", 2, ".", ",", TRUE, "NT$", "New Taiwan Dollar" }, { "TZS", 0, ".", ",", TRUE, "TSh", "Tanzanian Shilling" }, { "UAH", 2, ",", " ", FALSE, "₴", "Hryvnia" }, { "UGX", 0, ".", ",", TRUE, "USh", "Uganda Shilling" }, { "USD", 2, ",", " ", TRUE, "$", "US Dollar" }, { "USN", 2, ".", "", FALSE, "USN", "US Dollar (Next day)" }, { "USS", 2, ".", "", FALSE, "USS", "US Dollar (Same day)" }, { "UYI", 2, ".", "", FALSE, "UYI", "Uruguay Peso en Unidades Indexadas" }, { "UYU", 2, ",", ".", TRUE, "$", "Peso Uruguayo" }, { "UZS", 0, ",", " ", TRUE, "soʻm", "Uzbekistan Sum" }, { "VEF", 2, ",", ".", TRUE, "Bs.", "Bolivar Fuerte" }, { "VND", 2, ",", ".", FALSE, "₫", "Dong" }, { "VUV", 0, ",", " ", TRUE, "VT", "Vatu" }, { "WST", 2, ".", ",", TRUE, "WS$", "Tala" }, { "XAF", 0, ",", " ", TRUE, "FCFA", "CFA Franc BEAC" }, { "XAG", 2, ".", "", FALSE, "XAG", "Silver" }, { "XAU", 2, ".", "", FALSE, "XAU", "Gold" }, { "XBA", 2, ".", "", FALSE, "XBA", "European Composite Unit (EURCO)" }, { "XBB", 2, ".", "", FALSE, "XBB", "European Monetary Unit (E.M.U.-6)" }, { "XBC", 2, ".", "", FALSE, "XBC", "European Unit of Account 9 (E.U.A.-9)" }, { "XBD", 2, ".", "", FALSE, "XBD", "European Unit of Account 17 (E.U.A.-17)" }, { "XCD", 2, ",", " ", TRUE, "$", "East Caribbean Dollar" }, { "XDR", 2, ",", " ", TRUE, "XDR", "Special Drawing Rights" }, { "XFO", 2, ".", "", FALSE, "XFO", "Gold-Franc" }, { "XFU", 2, ".", "", FALSE, "XFU", "UIC-Franc" }, { "XOF", 0, ",", " ", TRUE, "CFA", "CFA Franc BCEAO" }, { "XPD", 2, ".", "", FALSE, "XPD", "Palladium" }, { "XPF", 0, ",", " ", FALSE, "FCFP", "CFP Franc" }, { "XPT", 2, ".", "", FALSE, "XPT", "Platinum" }, { "XTS", 2, ".", "", FALSE, "XTS", "Code for testing purposes" }, { "XXX", 2, ".", "", FALSE, "XXX", "No currency" }, { "YER", 2, ".", ",", TRUE, "ر.ي.‏", "Yemeni Rial" }, { "ZAR", 2, ",", " ", TRUE, "R", "Rand" }, { "ZMK", 2, ".", "", FALSE, "ZMK", "Zambian Kwacha" }, { "ZWD", 2, ".", "", FALSE, "ZWD", "Zimbabwe Dollar" } }; guint n_iso4217cur = G_N_ELEMENTS (iso4217cur); homebank-5.3.2/src/ui-category.c0000644000175000017500000020270113604720365013421 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "ui-category.h" #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; extern gchar *CYA_CAT_TYPE[]; static void ui_cat_manage_populate_listview(struct ui_cat_manage_dialog_data *data); /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static GtkWidget * container_get_nth(GtkBox *container, gint nth) { GList *lchild, *list; GtkWidget *child; if(!GTK_IS_CONTAINER(container)) return NULL; lchild = list = gtk_container_get_children (GTK_CONTAINER(container)); child = g_list_nth_data (list, nth); g_list_free(lchild); return child; } GtkWidget * ui_cat_entry_popover_get_entry(GtkBox *box) { return container_get_nth(box, 0); } Category *ui_cat_entry_popover_get(GtkBox *box) { GtkWidget *entry; gchar *name; Category *item = NULL; DB( g_print ("ui_cat_entry_popover_get()\n") ); entry = container_get_nth(box, 0); if( entry != NULL && GTK_IS_ENTRY(entry) ) { name = (gchar *)gtk_entry_get_text(GTK_ENTRY (entry)); item = da_cat_get_by_fullname(name); } return item; } guint32 ui_cat_entry_popover_get_key_add_new(GtkBox *box) { Category *item; GtkWidget *entry; GtkTreeModel *store; DB( g_print ("ui_cat_entry_popover_get_key_add_new()\n") ); /* automatic add */ //todo: check prefs + ask the user here 1st time entry = container_get_nth(box, 0); if( entry != NULL && GTK_IS_ENTRY(entry) ) { gchar *name = (gchar *)gtk_entry_get_text(GTK_ENTRY (entry)); item = da_cat_get_by_fullname(name); if(item != NULL) return item->key; item = da_cat_append_ifnew_by_fullname(name); if( item != NULL ) { store = gtk_entry_completion_get_model(gtk_entry_get_completion(GTK_ENTRY(entry))); if( store ) gtk_list_store_insert_with_values(GTK_LIST_STORE(store), NULL, -1, 0, item->name, 1, item, -1); return item->key; } } return 0; } guint32 ui_cat_entry_popover_get_key(GtkBox *box) { Category *item = ui_cat_entry_popover_get(box); return ((item != NULL) ? item->key : 0); } void ui_cat_entry_popover_set_active(GtkBox *box, guint32 key) { GtkWidget *entry; DB( g_print ("ui_cat_comboboxentry_set_active()\n") ); entry = container_get_nth(box, 0); if( entry != NULL && GTK_IS_ENTRY(entry) ) { Category *item = da_cat_get(key); hbtk_entry_set_text(GTK_ENTRY(entry), item != NULL ? item->fullname : ""); } } static void ui_cat_entry_popover_cb_row_activated(GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data) { GtkTreeSelection *treeselection; GtkTreeModel *model; GtkTreeIter iter; GtkEntry *entry = user_data; if( GTK_IS_ENTRY(entry) ) { treeselection = gtk_tree_view_get_selection(tree_view); if( gtk_tree_selection_get_selected(treeselection, &model, &iter) ) { Category *item; gtk_tree_model_get(model, &iter, 1, &item, -1); if(item) gtk_entry_set_text(GTK_ENTRY(user_data), item->fullname); } } } static void ui_cat_entry_popover_text_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Category *entry; gchar *name; gchar *string; gtk_tree_model_get(model, iter, 1, &entry, -1); if(entry->key == 0) name = _("(no category)"); else name = entry->name; gchar type = category_get_type_char(entry); #if MYDEBUG string = g_markup_printf_escaped ("%d > [%d] %s [%c] %d %c", entry->key, entry->parent, name, type, entry->flags, (entry->flags & GF_MIXED) ?'m':' ' ); #else if(entry->key == 0) string = g_strdup(name); else { if( entry->parent == 0 ) string = g_markup_printf_escaped("%s [%c]", name, type); else string = g_markup_printf_escaped(" %c %s", type, name); //string = g_strdup_printf(" - %s", name); } #endif //g_object_set(renderer, "text", string, NULL); g_object_set(renderer, "markup", string, NULL); g_free(string); } static void ui_cat_entry_popover_populate(GtkListStore *store) { GHashTableIter hiter; gpointer key, value; g_hash_table_iter_init (&hiter, GLOBALS->h_cat); while (g_hash_table_iter_next (&hiter, &key, &value)) { Category *item = value; gtk_list_store_insert_with_values(GTK_LIST_STORE(store), NULL, -1, 0, item->fullname, 1, item, -1); } gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING); } static void ui_cat_entry_popover_function (GtkEditable *editable, gpointer user_data) { DB( g_print("text changed to %s\n", gtk_entry_get_text(GTK_ENTRY(editable)) ) ); } static void ui_cat_entry_popover_cb_toggled (GtkToggleButton *togglebutton, gpointer user_data) { GtkWidget *entry = user_data; GtkAllocation allocation; GtkPopover *popover; if(GTK_IS_ENTRY(entry)) { gtk_widget_get_allocation (entry, &allocation); popover = gtk_menu_button_get_popover(GTK_MENU_BUTTON(togglebutton)); if(GTK_IS_POPOVER(popover)) { gtk_widget_set_size_request (GTK_WIDGET(popover), allocation.width + (2*SPACING_POPOVER), -1); DB( g_print("should set width to %d\n", allocation.width + (2*SPACING_POPOVER)) ); } } } static gint ui_cat_entry_popover_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { gint retval = 0; gchar *name1, *name2; gtk_tree_model_get(model, a, 0, &name1, -1); gtk_tree_model_get(model, b, 0, &name2, -1); retval = hb_string_utf8_compare(name1, name2); g_free(name2); g_free(name1); return retval; } static gboolean ui_cat_entry_popover_completion_func (GtkEntryCompletion *completion, const gchar *key, GtkTreeIter *iter, gpointer user_data) { Category *item = NULL; gchar *normalized_string; gchar *case_normalized_string; gboolean ret = FALSE; GtkTreeModel *model; model = gtk_entry_completion_get_model (completion); gtk_tree_model_get (model, iter, 1, &item, -1); if (item != NULL) { normalized_string = g_utf8_normalize (item->fullname, -1, G_NORMALIZE_ALL); if (normalized_string != NULL) { case_normalized_string = g_utf8_casefold (normalized_string, -1); //g_print("match '%s' for '%s' ?\n", key, case_normalized_string); //if (!strncmp (key, case_normalized_string, strlen (key))) if (g_strstr_len (case_normalized_string, strlen (case_normalized_string), key )) { ret = TRUE; // g_print(" ==> yes !\n"); } g_free (case_normalized_string); } g_free (normalized_string); } return ret; } static void ui_cat_entry_popover_destroy( GtkWidget *widget, gpointer user_data ) { DB( g_print ("[pay entry popover] destroy\n") ); } GtkWidget * ui_cat_entry_popover_new(GtkWidget *label) { GtkWidget *mainbox, *box, *entry, *menubutton, *image, *popover, *scrollwin, *treeview; GtkListStore *store; GtkEntryCompletion *completion; DB( g_print ("[pay entry popover] new\n") ); mainbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET(mainbox)), GTK_STYLE_CLASS_LINKED); entry = gtk_entry_new(); gtk_box_pack_start(GTK_BOX(mainbox), entry, TRUE, TRUE, 0); menubutton = gtk_menu_button_new (); //data->MB_template = menubutton; image = gtk_image_new_from_icon_name ("pan-down-symbolic", GTK_ICON_SIZE_BUTTON); gtk_container_add(GTK_CONTAINER(menubutton), image); gtk_menu_button_set_direction (GTK_MENU_BUTTON(menubutton), GTK_ARROW_LEFT ); //gtk_widget_set_halign (menubutton, GTK_ALIGN_END); gtk_box_pack_start(GTK_BOX(mainbox), menubutton, FALSE, FALSE, 0); completion = gtk_entry_completion_new (); gtk_entry_set_completion (GTK_ENTRY (entry), completion); g_object_unref(completion); store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_POINTER ); gtk_tree_sortable_set_default_sort_func(GTK_TREE_SORTABLE(store), ui_cat_entry_popover_compare_func, NULL, NULL); ui_cat_entry_popover_populate(store); gtk_entry_completion_set_model (completion, GTK_TREE_MODEL(store)); gtk_entry_completion_set_match_func(completion, ui_cat_entry_popover_completion_func, NULL, NULL); g_object_unref(store); gtk_entry_completion_set_text_column (completion, 0); gtk_widget_show_all(mainbox); box = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING_MEDIUM); scrollwin = gtk_scrolled_window_new(NULL,NULL); gtk_box_pack_start(GTK_BOX(box), scrollwin, TRUE, TRUE, 0); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); //gtk_scrolled_window_set_min_content_height(GTK_SCROLLED_WINDOW(scrollwin), HB_MINHEIGHT_LIST); treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL(store)); gtk_container_add(GTK_CONTAINER(scrollwin), GTK_WIDGET(treeview)); gtk_widget_show_all(box); //gtk_widget_set_can_focus(GTK_WIDGET(treeview), FALSE); GtkCellRenderer *renderer; GtkTreeViewColumn *column; renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "ellipsize", PANGO_ELLIPSIZE_END, "ellipsize-set", TRUE, //taken from nemo, not exactly a resize to content, but good compromise "width-chars", 40, NULL); column = gtk_tree_view_column_new_with_attributes (NULL, renderer, "text", 0, NULL); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_cat_entry_popover_text_cell_data_function, NULL, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); gtk_tree_view_set_hover_selection(GTK_TREE_VIEW(treeview), TRUE); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(treeview), FALSE); gtk_tree_view_set_activate_on_single_click(GTK_TREE_VIEW(treeview), TRUE); //gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)), GTK_SELECTION_BROWSE); //popover = create_popover (menubutton, box, GTK_POS_BOTTOM); popover = create_popover (menubutton, box, GTK_POS_LEFT); //gtk_widget_set_size_request (popover, HB_MINWIDTH_LIST, HB_MINHEIGHT_LIST); gtk_widget_set_vexpand(popover, TRUE); gtk_menu_button_set_popover(GTK_MENU_BUTTON(menubutton), popover); // connect our dispose function g_signal_connect (entry, "destroy", G_CALLBACK (ui_cat_entry_popover_destroy), NULL); g_signal_connect_after (entry , "changed", G_CALLBACK (ui_cat_entry_popover_function), NULL); g_signal_connect (menubutton, "toggled", G_CALLBACK (ui_cat_entry_popover_cb_toggled), entry); g_signal_connect (treeview, "row-activated", G_CALLBACK (ui_cat_entry_popover_cb_row_activated), entry); #if( (GTK_MAJOR_VERSION == 3) && (GTK_MINOR_VERSION >= 22) ) g_signal_connect_swapped(treeview, "row-activated", G_CALLBACK(gtk_popover_popdown), popover); #else g_signal_connect_swapped(treeview, "row-activated", G_CALLBACK(gtk_widget_hide), popover); #endif //g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)), "changed", G_CALLBACK (ui_cat_entry_popover_cb_selection), entry); //g_signal_connect_swapped(gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)), "changed", G_CALLBACK(gtk_popover_popdown), popover); if(label) gtk_label_set_mnemonic_widget (GTK_LABEL(label), entry); //gtk_widget_set_size_request(comboboxentry, HB_MINWIDTH_LIST, -1); return mainbox; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /** * ui_cat_comboboxentry_get_key: * * get the key of the active category or 0 * * Return value: the key or 0 * */ guint32 ui_cat_comboboxentry_get_key_add_new(GtkComboBox *entry_box) { Category *item; gchar *name; DB( g_print ("ui_cat_comboboxentry_get_key()\n") ); name = (gchar *)gtk_entry_get_text(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box)))); item = da_cat_get_by_fullname(name); if(item != NULL) return item->key; item = da_cat_append_ifnew_by_fullname(name); if( item != NULL ) { ui_cat_comboboxentry_add(entry_box, item); return item->key; } return 0; } /** * ui_cat_comboboxentry_get_key: * * get the key of the active category or 0 * * Return value: the key or 0 * */ guint32 ui_cat_comboboxentry_get_key(GtkComboBox *entry_box) { Category *item; gchar *name; DB( g_print ("ui_cat_comboboxentry_get_key()\n") ); name = (gchar *)gtk_entry_get_text(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box)))); item = da_cat_get_by_fullname(name); if(item != NULL) return item->key; return 0; } Category *ui_cat_comboboxentry_get(GtkComboBox *entry_box) { Category *item = NULL; gchar *name; DB( g_print ("ui_cat_comboboxentry_get_key()\n") ); name = (gchar *)gtk_entry_get_text(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box)))); item = da_cat_get_by_fullname(name); return item; } gboolean ui_cat_comboboxentry_set_active(GtkComboBox *entry_box, guint32 key) { Category *item; DB( g_print ("ui_cat_comboboxentry_set_active()\n") ); if( key > 0 ) { item = da_cat_get(key); if( item != NULL) { if( item->parent == 0) gtk_entry_set_text(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box))), item->name); else { gtk_entry_set_text(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box))), item->fullname); } return TRUE; } } gtk_entry_set_text(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box))), ""); return FALSE; } /** * ui_cat_comboboxentry_add: * * Add a single element (useful for dynamics add) * * Return value: -- * */ void ui_cat_comboboxentry_add(GtkComboBox *entry_box, Category *item) { DB( g_print ("ui_cat_comboboxentry_add()\n") ); DB( g_print (" -> try to add: '%s'\n", item->name) ); if( item->name != NULL ) { GtkTreeModel *model; GtkTreeIter iter; gchar *fullname, *name; fullname = item->fullname; model = gtk_combo_box_get_model(GTK_COMBO_BOX(entry_box)); if( item->parent == 0 ) name = g_strdup(item->name); else name = g_strdup_printf(" - %s", item->name); gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, LST_CMBCAT_DATAS, item, LST_CMBCAT_FULLNAME, fullname, LST_CMBCAT_SORTNAME, NULL, LST_CMBCAT_NAME, name, LST_CMBCAT_SUBCAT, item->parent == 0 ? 1 : 0, -1); g_free(name); } } static void ui_cat_comboboxentry_populate_ghfunc(gpointer key, gpointer value, struct catPopContext *ctx) { GtkTreeIter iter; Category *item = value; Category *pitem = NULL; gchar *fullname, *name, *sortname; gchar type; if( ( item->key != ctx->except_key ) ) { pitem = da_cat_get(item->parent); type = category_get_type_char(item); fullname = item->fullname; sortname = NULL; name = NULL; //DB( g_print ("cat combo populate [%d:%d] %s\n", item->parent, item->key, fullname) ); if(item->key == 0) { name = g_strdup(item->name); sortname = g_strdup(item->name); } else { if( item->parent == 0 ) { name = g_strdup_printf("%s [%c]", item->name, type); sortname = g_strdup_printf("%s", item->name); } else { if(pitem) { name = g_strdup_printf(" %c %s", type, item->name); sortname = g_strdup_printf("%s_%s", pitem->name, item->name); } } } hb_string_replace_char(' ', sortname); //gtk_list_store_append (GTK_LIST_STORE(ctx->model), &iter); //gtk_list_store_set (GTK_LIST_STORE(ctx->model), &iter, gtk_list_store_insert_with_values(GTK_LIST_STORE(ctx->model), &iter, -1, LST_CMBCAT_DATAS, item, LST_CMBCAT_FULLNAME, fullname, LST_CMBCAT_SORTNAME, sortname, LST_CMBCAT_NAME, name, LST_CMBCAT_SUBCAT, item->parent == 0 ? 1 : 0, -1); DB( g_print(" - add [%2d:%2d] '%-12s' '%-12s' '%s' '%s' %d\n", item->parent, item->key, pitem->name, name, fullname, sortname, item->parent == 0 ? 1 : 0) ); g_free(sortname); g_free(name); } } /** * ui_cat_comboboxentry_populate: * * Populate the list and completion * * Return value: -- * */ void ui_cat_comboboxentry_populate(GtkComboBox *entry_box, GHashTable *hash) { ui_cat_comboboxentry_populate_except(entry_box, hash, -1); } void ui_cat_comboboxentry_populate_except(GtkComboBox *entry_box, GHashTable *hash, guint except_key) { GtkTreeModel *model; //GtkEntryCompletion *completion; struct catPopContext ctx; DB( g_print ("ui_cat_comboboxentry_populate()\n") ); model = gtk_combo_box_get_model(GTK_COMBO_BOX(entry_box)); //completion = gtk_entry_get_completion(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (entry_box)))); /* keep our model alive and detach from comboboxentry and completion */ //g_object_ref(model); //gtk_combo_box_set_model(GTK_COMBO_BOX(entry_box), NULL); //gtk_entry_completion_set_model (completion, NULL); /* clear and populate */ ctx.model = model; ctx.except_key = except_key; gtk_list_store_clear (GTK_LIST_STORE(model)); //gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(GTK_LIST_STORE(model)), GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID, GTK_SORT_ASCENDING); g_hash_table_foreach(hash, (GHFunc)ui_cat_comboboxentry_populate_ghfunc, &ctx); /* reatach our model */ //gtk_combo_box_set_model(GTK_COMBO_BOX(entry_box), model); //gtk_entry_completion_set_model (completion, model); //g_object_unref(model); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(model), GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING); } static gint ui_cat_comboboxentry_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { gint retval = 0; gchar *name1, *name2; gtk_tree_model_get(model, a, LST_CMBCAT_SORTNAME, &name1, -1); gtk_tree_model_get(model, b, LST_CMBCAT_SORTNAME, &name2, -1); //DB( g_print(" compare '%s' '%s'\n", name1, name2) ); retval = hb_string_utf8_compare(name1, name2); g_free(name2); g_free(name1); return retval; } static void ui_cat_comboboxentry_test (GtkCellLayout *cell_layout, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data) { gchar *name; gboolean subcat; gint style; //PANGO_STYLE_ITALIC gtk_tree_model_get(tree_model, iter, LST_CMBCAT_NAME, &name, LST_CMBCAT_SUBCAT, &subcat, -1); style = subcat == 0 ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL; if( name == NULL ) name = _("(no category)"); //todo: not used g_object_set(cell, "style", style, "text", name, NULL); //leak g_free(name); } static gboolean ui_cat_comboboxentry_completion_func (GtkEntryCompletion *completion, const gchar *key, GtkTreeIter *iter, gpointer user_data) { gchar *item = NULL; gchar *normalized_string; gchar *case_normalized_string; gboolean ret = FALSE; GtkTreeModel *model; model = gtk_entry_completion_get_model (completion); gtk_tree_model_get (model, iter, LST_CMBCAT_FULLNAME, &item, -1); if (item != NULL) { normalized_string = g_utf8_normalize (item, -1, G_NORMALIZE_ALL); if (normalized_string != NULL) { case_normalized_string = g_utf8_casefold (normalized_string, -1); //g_print("match '%s' for '%s' ?\n", key, case_normalized_string); //if (!strncmp (key, case_normalized_string, strlen (key))) if (g_strstr_len (case_normalized_string, strlen (case_normalized_string), key )) { ret = TRUE; // g_print(" ==> yes !\n"); } g_free (case_normalized_string); } g_free (normalized_string); } g_free (item); return ret; } /** * ui_cat_comboboxentry_new: * * Create a new category comboboxentry * * Return value: the new widget * */ GtkWidget * ui_cat_comboboxentry_new(GtkWidget *label) { GtkListStore *store; GtkWidget *comboboxentry; GtkEntryCompletion *completion; GtkCellRenderer *renderer; DB( g_print ("ui_cat_comboboxentry_new()\n") ); store = gtk_list_store_new (NUM_LST_CMBCAT, G_TYPE_POINTER, G_TYPE_STRING, //fullname Car:Fuel G_TYPE_STRING, //parent name Car G_TYPE_STRING, //name Car or Fuel G_TYPE_BOOLEAN //subcat = 1 ); gtk_tree_sortable_set_default_sort_func(GTK_TREE_SORTABLE(store), ui_cat_comboboxentry_compare_func, NULL, NULL); completion = gtk_entry_completion_new (); gtk_entry_completion_set_model (completion, GTK_TREE_MODEL(store)); //g_object_set(completion, "text-column", LST_CMBCAT_FULLNAME, NULL); gtk_entry_completion_set_match_func(completion, ui_cat_comboboxentry_completion_func, NULL, NULL); //gtk_entry_completion_set_minimum_key_length(completion, 2); gtk_entry_completion_set_text_column(completion, 1); /*renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (completion), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (completion), renderer, "text", LST_CMBCAT_FULLNAME, NULL); gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (completion), renderer, ui_cat_comboboxentry_test, NULL, NULL); */ // dothe same for combobox comboboxentry = gtk_combo_box_new_with_model_and_entry(GTK_TREE_MODEL(store)); gtk_combo_box_set_entry_text_column(GTK_COMBO_BOX(comboboxentry), LST_CMBCAT_FULLNAME); gtk_cell_layout_clear(GTK_CELL_LAYOUT (comboboxentry)); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (comboboxentry), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (comboboxentry), renderer, "text", LST_CMBCAT_FULLNAME, NULL); gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (comboboxentry), renderer, ui_cat_comboboxentry_test, NULL, NULL); gtk_entry_set_completion (GTK_ENTRY (gtk_bin_get_child(GTK_BIN (comboboxentry))), completion); g_object_unref(store); if(label) gtk_label_set_mnemonic_widget (GTK_LABEL(label), comboboxentry); gtk_widget_set_size_request(comboboxentry, HB_MINWIDTH_LIST, -1); return comboboxentry; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void ui_cat_listview_fixed_toggled (GtkCellRendererToggle *cell, gchar *path_str, gpointer data) { GtkTreeModel *model = (GtkTreeModel *)data; GtkTreeIter iter, child; GtkTreePath *path = gtk_tree_path_new_from_string (path_str); gboolean fixed; gint n_child; /* get toggled iter */ gtk_tree_model_get_iter (model, &iter, path); gtk_tree_model_get (model, &iter, LST_DEFCAT_TOGGLE, &fixed, -1); /* do something with the value */ fixed ^= 1; /* set new value */ gtk_tree_store_set (GTK_TREE_STORE (model), &iter, LST_DEFCAT_TOGGLE, fixed, -1); /* propagate to child */ n_child = gtk_tree_model_iter_n_children (GTK_TREE_MODEL(model), &iter); gtk_tree_model_iter_children (GTK_TREE_MODEL(model), &child, &iter); while(n_child > 0) { gtk_tree_store_set (GTK_TREE_STORE (model), &child, LST_DEFCAT_TOGGLE, fixed, -1); n_child--; gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &child); } /* clean up */ gtk_tree_path_free (path); } static gint ui_cat_listview_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { gint sortcol = GPOINTER_TO_INT(userdata); Category *entry1, *entry2; gint retval = 0; gtk_tree_model_get(model, a, LST_DEFCAT_DATAS, &entry1, -1); gtk_tree_model_get(model, b, LST_DEFCAT_DATAS, &entry2, -1); switch (sortcol) { case LST_DEFCAT_SORT_NAME: retval = (entry1->flags & GF_INCOME) - (entry2->flags & GF_INCOME); if(!retval) { retval = hb_string_utf8_compare(entry1->name, entry2->name); } break; case LST_DEFCAT_SORT_USED: retval = entry1->usage_count - entry2->usage_count; break; default: g_return_val_if_reached(0); } return retval; } /* ** draw some text from the stored data structure */ static void ui_cat_listview_text_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Category *entry; gchar *name; gchar *string; gtk_tree_model_get(model, iter, LST_DEFCAT_DATAS, &entry, -1); if(entry->key == 0) name = _("(no category)"); else name = entry->name; gchar type = category_get_type_char(entry); #if MYDEBUG string = g_markup_printf_escaped ("%d > [%d] %s [%c] %d %c", entry->key, entry->parent, name, type, entry->flags, (entry->flags & GF_MIXED) ?'m':' ' ); #else if(entry->key == 0) string = g_strdup(name); else { if( entry->parent == 0 ) string = g_markup_printf_escaped("%s [%c]", name, type); else string = g_markup_printf_escaped(" %c %s", type, name); //string = g_strdup_printf(" - %s", name); } #endif //g_object_set(renderer, "text", string, NULL); g_object_set(renderer, "markup", string, NULL); g_free(string); } static void ui_cat_listview_count_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Category *entry; gchar buffer[256]; gtk_tree_model_get(model, iter, LST_DEFCAT_DATAS, &entry, -1); if(entry->usage_count > 0) { g_snprintf(buffer, 256-1, "%d", entry->usage_count); g_object_set(renderer, "text", buffer, NULL); } else g_object_set(renderer, "text", "", NULL); } /* = = = = = = = = = = = = = = = = */ void ui_cat_listview_add(GtkTreeView *treeview, Category *item, GtkTreeIter *parent) { GtkTreeModel *model; GtkTreeIter iter; GtkTreePath *path; DB( g_print ("ui_cat_listview_add()\n") ); if( item->name != NULL ) { model = gtk_tree_view_get_model(treeview); gtk_tree_store_append (GTK_TREE_STORE(model), &iter, parent); gtk_tree_store_set (GTK_TREE_STORE(model), &iter, LST_DEFCAT_TOGGLE, FALSE, LST_DEFCAT_DATAS, item, LST_DEFCAT_NAME, item->name, -1); //select the added line path = gtk_tree_model_get_path(model, &iter); gtk_tree_view_expand_to_path (treeview, path); gtk_tree_path_free(path); gtk_tree_selection_select_iter (gtk_tree_view_get_selection(treeview), &iter); } } Category * ui_cat_listview_get_selected(GtkTreeView *treeview) { GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; DB( g_print ("ui_cat_listview_get_selected()\n") ); selection = gtk_tree_view_get_selection(treeview); if (gtk_tree_selection_get_selected(selection, &model, &iter)) { Category *item; gtk_tree_model_get(model, &iter, LST_DEFCAT_DATAS, &item, -1); if( item->key != 0 ) return item; } return NULL; } Category * ui_cat_listview_get_selected_parent(GtkTreeView *treeview, GtkTreeIter *return_iter) { GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; GtkTreePath *path; Category *item; DB( g_print ("ui_cat_listview_get_selected_parent()\n") ); selection = gtk_tree_view_get_selection(treeview); if (gtk_tree_selection_get_selected(selection, &model, &iter)) { path = gtk_tree_model_get_path(model, &iter); DB( g_print ("path depth = %d\n", gtk_tree_path_get_depth(path)) ); if(gtk_tree_path_get_depth(path) > 1) { if( gtk_tree_path_up(path) ) { DB( g_print ("up ok\n") ); if(gtk_tree_model_get_iter(model, &iter, path)) { DB( g_print ("iter ok\n") ); gtk_tree_model_get(model, &iter, LST_DEFCAT_DATAS, &item, -1); if( item->key != 0 ) { *return_iter = iter; return item; } } } } else { DB( g_print ("path <=1\n") ); gtk_tree_model_get(model, &iter, LST_DEFCAT_DATAS, &item, -1); if( item->key != 0 ) { *return_iter = iter; return item; } } } return NULL; } void ui_cat_listview_remove_selected(GtkTreeView *treeview) { GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; DB( g_print("ui_cat_listview_remove_selected() \n") ); selection = gtk_tree_view_get_selection(treeview); if (gtk_tree_selection_get_selected(selection, &model, &iter)) { if( gtk_tree_model_iter_has_child(GTK_TREE_MODEL(model), &iter) == FALSE ) gtk_tree_store_remove(GTK_TREE_STORE(model), &iter); } } static gboolean ui_cat_listview_get_top_level (GtkTreeModel *liststore, guint32 key, GtkTreeIter *return_iter) { GtkTreeIter iter; gboolean valid; Category *item; DB( g_print("ui_cat_listview_get_top_level() \n") ); if( liststore != NULL ) { valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(liststore), &iter); while (valid) { gtk_tree_model_get (liststore, &iter, LST_DEFCAT_DATAS, &item, -1); if(item->key == key) { *return_iter = iter; return TRUE; } valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(liststore), &iter); } } return FALSE; } static void ui_cat_listview_populate_cat_ghfunc(gpointer key, gpointer value, struct catPopContext *ctx) { GtkTreeIter toplevel; Category *item = value; gint item_type; item_type = (item->flags & GF_INCOME) ? CAT_TYPE_INCOME : CAT_TYPE_EXPENSE; //DB( g_print("cat listview populate: %d %s\n", (guint32 *)key, item->name) ); //#1740368 add mixed cat as well if( (ctx->type == CAT_TYPE_ALL) || ctx->type == item_type || item->key == 0 || (item->flags & GF_MIXED) ) { if( item->parent == 0 ) { gtk_tree_store_append (GTK_TREE_STORE(ctx->model), &toplevel, NULL); gtk_tree_store_set (GTK_TREE_STORE(ctx->model), &toplevel, LST_DEFCAT_TOGGLE , FALSE, LST_DEFCAT_DATAS, item, LST_DEFCAT_NAME, item->name, -1); } } } static void ui_cat_listview_populate_subcat_ghfunc(gpointer key, gpointer value, struct catPopContext *ctx) { GtkTreeIter toplevel, child; Category *item = value; gboolean ret; //gint item_type; //#1740368 no need to filter on type, always insert all childs //item_type = (item->flags & GF_INCOME) ? CAT_TYPE_INCOME : CAT_TYPE_EXPENSE; //if( (ctx->type == CAT_TYPE_ALL) || ctx->type == item_type) //{ if( item->parent != 0 ) { ret = ui_cat_listview_get_top_level(ctx->model, item->parent, &toplevel); if( ret == TRUE ) { gtk_tree_store_append (GTK_TREE_STORE(ctx->model), &child, &toplevel); gtk_tree_store_set (GTK_TREE_STORE(ctx->model), &child, LST_DEFCAT_TOGGLE , FALSE, LST_DEFCAT_DATAS, item, LST_DEFCAT_NAME, item->name, -1); } } //} } static void ui_cat_listview_sort_force(GtkTreeSortable *sortable, gpointer user_data) { gint sort_column_id; GtkSortType order; DB( g_print("ui_cat_listview_sort_force()\n") ); gtk_tree_sortable_get_sort_column_id(sortable, &sort_column_id, &order); DB( g_print(" - id %d order %d\n", sort_column_id, order) ); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(sortable), GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID, order); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(sortable), sort_column_id, order); } void ui_cat_listview_populate(GtkWidget *view, gint type) { GtkTreeModel *model; struct catPopContext ctx = { 0 }; DB( g_print("ui_cat_listview_populate() \n") ); model = gtk_tree_view_get_model(GTK_TREE_VIEW(view)); gtk_tree_store_clear (GTK_TREE_STORE(model)); g_object_ref(model); /* Make sure the model stays with us after the tree view unrefs it */ gtk_tree_view_set_model(GTK_TREE_VIEW(view), NULL); /* Detach model from view */ /* clear and populate */ ctx.model = model; ctx.type = type; /* we have to do this in 2 times to ensure toplevel (cat) will be added before childs */ /* populate cat 1st */ g_hash_table_foreach(GLOBALS->h_cat, (GHFunc)ui_cat_listview_populate_cat_ghfunc, &ctx); g_hash_table_foreach(GLOBALS->h_cat, (GHFunc)ui_cat_listview_populate_subcat_ghfunc, &ctx); gtk_tree_view_set_model(GTK_TREE_VIEW(view), model); /* Re-attach model to view */ g_object_unref(model); gtk_tree_view_expand_all (GTK_TREE_VIEW(view)); } static gboolean ui_cat_listview_search_equal_func (GtkTreeModel *model, gint column, const gchar *key, GtkTreeIter *iter, gpointer search_data) { gboolean retval = TRUE; gchar *normalized_string; gchar *normalized_key; gchar *case_normalized_string = NULL; gchar *case_normalized_key = NULL; Category *item; //gtk_tree_model_get_value (model, iter, column, &value); gtk_tree_model_get(model, iter, LST_DEFCAT_DATAS, &item, -1); if(item != NULL) { normalized_string = g_utf8_normalize (item->name, -1, G_NORMALIZE_ALL); normalized_key = g_utf8_normalize (key, -1, G_NORMALIZE_ALL); if (normalized_string && normalized_key) { case_normalized_string = g_utf8_casefold (normalized_string, -1); case_normalized_key = g_utf8_casefold (normalized_key, -1); if (strncmp (case_normalized_key, case_normalized_string, strlen (case_normalized_key)) == 0) retval = FALSE; } g_free (normalized_key); g_free (normalized_string); g_free (case_normalized_key); g_free (case_normalized_string); } return retval; } GtkWidget * ui_cat_listview_new(gboolean withtoggle, gboolean withcount) { GtkTreeStore *store; GtkWidget *treeview; GtkCellRenderer *renderer; GtkTreeViewColumn *column; DB( g_print("ui_cat_listview_new() \n") ); store = gtk_tree_store_new( NUM_LST_DEFCAT, G_TYPE_BOOLEAN, G_TYPE_POINTER, G_TYPE_STRING ); treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); g_object_unref(store); gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (treeview), PREFS->grid_lines); gtk_tree_view_set_enable_tree_lines(GTK_TREE_VIEW (treeview), TRUE); // column 1: toggle if( withtoggle == TRUE ) { renderer = gtk_cell_renderer_toggle_new (); column = gtk_tree_view_column_new_with_attributes (_("Visible"), renderer, "active", LST_DEFCAT_TOGGLE, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); g_signal_connect (G_OBJECT(renderer), "toggled", G_CALLBACK (ui_cat_listview_fixed_toggled), store); } // column 2: name renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "ellipsize", PANGO_ELLIPSIZE_END, "ellipsize-set", TRUE, //taken from nemo, not exactly a resize to content, but good compromise "width-chars", 40, NULL); column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Category")); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_cat_listview_text_cell_data_function, GINT_TO_POINTER(LST_DEFCAT_NAME), NULL); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_column_set_min_width(column, HB_MINWIDTH_LIST); gtk_tree_view_column_set_sort_column_id (column, LST_DEFCAT_SORT_NAME); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); if( withcount == TRUE ) { column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, "#"); renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 0.5, NULL); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_cat_listview_count_cell_data_function, GINT_TO_POINTER(LST_DEFCAT_DATAS), NULL); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); gtk_tree_view_column_set_sort_column_id (column, LST_DEFCAT_SORT_USED); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); } /* empty */ column = gtk_tree_view_column_new(); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); gtk_tree_view_set_search_equal_func(GTK_TREE_VIEW(treeview), ui_cat_listview_search_equal_func, NULL, NULL); // treeview attribute gtk_tree_view_set_headers_visible (GTK_TREE_VIEW(treeview), withcount); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DEFCAT_SORT_NAME, ui_cat_listview_compare_func, GINT_TO_POINTER(LST_DEFCAT_SORT_NAME), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DEFCAT_SORT_USED, ui_cat_listview_compare_func, GINT_TO_POINTER(LST_DEFCAT_SORT_USED), NULL); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), LST_DEFCAT_SORT_NAME, GTK_SORT_ASCENDING); return treeview; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /** * ui_cat_manage_filter_text_handler * * filter to entry to avoid seizure of ':' char * */ static void ui_cat_manage_filter_text_handler (GtkEntry *entry, const gchar *text, gint length, gint *position, gpointer data) { GtkEditable *editable = GTK_EDITABLE(entry); gint i, count=0; gchar *result = g_new0 (gchar, length+1); for (i=0; i < length; i++) { if (text[i]==':') continue; result[count++] = text[i]; } if (count > 0) { g_signal_handlers_block_by_func (G_OBJECT (editable), G_CALLBACK (ui_cat_manage_filter_text_handler), data); gtk_editable_insert_text (editable, result, count, position); g_signal_handlers_unblock_by_func (G_OBJECT (editable), G_CALLBACK (ui_cat_manage_filter_text_handler), data); } g_signal_stop_emission_by_name (G_OBJECT (editable), "insert_text"); g_free (result); } static void ui_cat_manage_dialog_delete_unused( GtkWidget *widget, gpointer user_data) { struct ui_cat_manage_dialog_data *data = user_data; gboolean result; //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("(ui_cat_manage_dialog) delete unused - data %p\n", data) ); result = ui_dialog_msg_confirm_alert( GTK_WINDOW(data->dialog), _("Delete unused categories"), _("Are you sure you want to permanently\ndelete unused categories?"), _("_Delete") ); if( result == GTK_RESPONSE_OK ) { GtkTreeModel *model; model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_cat)); gtk_tree_store_clear (GTK_TREE_STORE(model)); category_delete_unused(); ui_cat_manage_populate_listview (data); } } /** * ui_cat_manage_dialog_load_csv: * */ static void ui_cat_manage_dialog_load_csv( GtkWidget *widget, gpointer user_data) { struct ui_cat_manage_dialog_data *data = user_data; gchar *filename = NULL; gchar *error; //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("(ui_cat_manage_dialog) load csv - data %p\n", data) ); if( ui_file_chooser_csv(GTK_WINDOW(data->dialog), GTK_FILE_CHOOSER_ACTION_OPEN, &filename, NULL) == TRUE ) { DB( g_print(" + filename is %s\n", filename) ); if(!category_load_csv(filename, &error)) { ui_dialog_msg_infoerror(GTK_WINDOW(data->dialog), GTK_MESSAGE_ERROR, _("File format error"), _("The CSV file must contains the exact numbers of column,\nseparated by a semi-colon, please see the help for more details.") ); } g_free( filename ); ui_cat_manage_populate_listview(data); } } /** * ui_cat_manage_dialog_save_csv: * */ static void ui_cat_manage_dialog_save_csv( GtkWidget *widget, gpointer user_data) { struct ui_cat_manage_dialog_data *data = user_data; gchar *filename = NULL; gchar *error; DB( g_print("(defcategory) save csv\n") ); //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); if( ui_file_chooser_csv(GTK_WINDOW(data->dialog), GTK_FILE_CHOOSER_ACTION_SAVE, &filename, NULL) == TRUE ) { DB( g_print(" + filename is %s\n", filename) ); category_save_csv(filename, &error); g_free( filename ); } } /** * ui_cat_manage_dialog_add: * * add an empty new category/subcategory * */ static void ui_cat_manage_dialog_add(GtkWidget *widget, gpointer user_data) { struct ui_cat_manage_dialog_data *data; gboolean subcat = GPOINTER_TO_INT(user_data); const gchar *name; //GtkTreeModel *model; GtkTreeIter parent_iter; GtkWidget *tmpwidget; Category *item, *paritem; gint type; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n(defcategory) add (data=%p) is subcat=%d\n", data, subcat) ); tmpwidget = (subcat == FALSE ? data->ST_name1 : data->ST_name2); name = gtk_entry_get_text(GTK_ENTRY(tmpwidget)); //model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_cat)); /* ignore if item is empty */ if (name && *name) { data->change++; item = da_cat_malloc(); item->name = g_strdup(name); g_strstrip(item->name); if( strlen(item->name) > 0 ) { /* if cat use new id */ if(subcat == FALSE) { type = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_type)); if(type == 1) item->flags |= GF_INCOME; if( da_cat_append(item) ) { DB( g_print(" => add cat: %p %d, %s type=%d\n", item, subcat, item->name, type) ); ui_cat_listview_add(GTK_TREE_VIEW(data->LV_cat), item, NULL); } } /* if subcat use parent id & gf_income */ else { paritem = ui_cat_listview_get_selected_parent(GTK_TREE_VIEW(data->LV_cat), &parent_iter); if(paritem) { DB( g_print(" => selitem parent: %d, %s\n", paritem->key, paritem->name) ); item->parent = paritem->key; item->flags |= (paritem->flags & GF_INCOME); item->flags |= GF_SUB; if(da_cat_append(item)) { DB( g_print(" => add subcat: %p %d, %s\n", item, subcat, item->name) ); ui_cat_listview_add(GTK_TREE_VIEW(data->LV_cat), item, &parent_iter); } } } } else da_cat_free(item); gtk_entry_set_text(GTK_ENTRY(tmpwidget),""); } } static void ui_cat_manage_dialog_edit_entry_cb(GtkEditable *editable, gpointer user_data) { GtkDialog *window = user_data; const gchar *buffer; buffer = gtk_entry_get_text(GTK_ENTRY(editable)); gtk_dialog_set_response_sensitive(GTK_DIALOG(window), GTK_RESPONSE_ACCEPT, strlen(buffer) > 0 ? TRUE : FALSE); } static void ui_cat_manage_dialog_edit(GtkWidget *widget, gpointer user_data) { struct ui_cat_manage_dialog_data *data; GtkWidget *dialog, *content, *mainvbox, *w_name, *w_type = NULL, *w_child; GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n(defcategory) edit\n") ); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_cat)); //if true there is a selected node if (gtk_tree_selection_get_selected(selection, &model, &iter)) { Category *item; gtk_tree_model_get(model, &iter, LST_DEFCAT_DATAS, &item, -1); dialog = gtk_dialog_new_with_buttons (_("Edit..."), GTK_WINDOW (data->dialog), 0, _("_Cancel"), GTK_RESPONSE_REJECT, _("_OK"), GTK_RESPONSE_ACCEPT, NULL); content = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); mainvbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, SPACING_MEDIUM); gtk_box_pack_start (GTK_BOX (content), mainvbox, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (mainvbox), SPACING_MEDIUM); w_name = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(w_name), item->name); gtk_widget_grab_focus (w_name); gtk_box_pack_start (GTK_BOX (mainvbox), w_name, FALSE, FALSE, 0); gtk_entry_set_activates_default (GTK_ENTRY(w_name), TRUE); //if(!(item->flags & GF_SUB)) //{ w_type = gtk_check_button_new_with_mnemonic(_("_Income")); gtk_box_pack_start (GTK_BOX (mainvbox), w_type, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w_type), item->flags & GF_INCOME ? TRUE : FALSE); //} w_child = gtk_check_button_new_with_mnemonic(_("Change type for _child")); gtk_box_pack_start (GTK_BOX (mainvbox), w_child, FALSE, FALSE, 0); g_signal_connect (G_OBJECT (w_name), "changed", G_CALLBACK (ui_cat_manage_dialog_edit_entry_cb), dialog); gtk_widget_show_all(mainvbox); if((item->flags & GF_SUB)) { gtk_widget_hide(w_child); } gtk_dialog_set_default_response(GTK_DIALOG( dialog ), GTK_RESPONSE_ACCEPT); //wait for the user gint result = gtk_dialog_run (GTK_DIALOG (dialog)); if(result == GTK_RESPONSE_ACCEPT) { const gchar *name; // 1: manage renaming name = gtk_entry_get_text(GTK_ENTRY(w_name)); // ignore if item is empty if (name && *name) { if( category_rename(item, name) ) { //to redraw the active entry gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_cat)); data->change++; } else { Category *parent; gchar *fromname, *toname = NULL; fromname = item->fullname; if( item->parent == 0) toname = g_strdup(name); else { parent = da_cat_get(item->parent); if( parent ) { toname = g_strdup_printf("%s:%s", parent->name, name); } } ui_dialog_msg_infoerror(GTK_WINDOW(dialog), GTK_MESSAGE_ERROR, _("Error"), _("Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists."), fromname, toname ); g_free(toname); } } // 2: manage flag change gboolean isIncome = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w_type)); gboolean doChild = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w_child)); data->change += category_change_type(item, isIncome, doChild); ui_cat_listview_sort_force(GTK_TREE_SORTABLE(model), NULL); } // cleanup and destroy gtk_widget_destroy (dialog); } } static void ui_cat_manage_dialog_merge_entry_cb(GtkComboBox *widget, gpointer user_data) { GtkDialog *window = user_data; gchar *buffer; buffer = (gchar *)gtk_entry_get_text(GTK_ENTRY (gtk_bin_get_child(GTK_BIN (widget)))); gtk_dialog_set_response_sensitive(GTK_DIALOG(window), GTK_RESPONSE_OK, strlen(buffer) > 0 ? TRUE : FALSE); } static void ui_cat_manage_dialog_merge(GtkWidget *widget, gpointer user_data) { struct ui_cat_manage_dialog_data *data; GtkWidget *dialog, *content, *mainvbox; GtkWidget *getwidget, *togglebutton; GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("(defcategory) merge\n") ); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_cat)); //if true there is a selected node if (gtk_tree_selection_get_selected(selection, &model, &iter)) { Category *srccat; gchar *title; gchar *secondtext; gtk_tree_model_get(model, &iter, LST_DEFCAT_DATAS, &srccat, -1); title = g_strdup_printf ( _("Merge category '%s'"), srccat->name); dialog = gtk_message_dialog_new (GTK_WINDOW (data->dialog), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_WARNING, GTK_BUTTONS_NONE, title, NULL ); gtk_dialog_add_buttons (GTK_DIALOG(dialog), _("_Cancel"), GTK_RESPONSE_CANCEL, _("Merge"), GTK_RESPONSE_OK, NULL); gtk_dialog_set_default_response(GTK_DIALOG (dialog), GTK_RESPONSE_CANCEL); content = gtk_message_dialog_get_message_area(GTK_MESSAGE_DIALOG (dialog)); mainvbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, SPACING_SMALL); gtk_box_pack_start (GTK_BOX (content), mainvbox, TRUE, TRUE, 0); secondtext = _("Transactions assigned to this category,\n" "will be moved to the category selected below."); g_object_set(GTK_MESSAGE_DIALOG (dialog), "secondary-text", secondtext, NULL); g_free(title); getwidget = ui_cat_comboboxentry_new(NULL); gtk_box_pack_start (GTK_BOX (mainvbox), getwidget, FALSE, FALSE, 0); secondtext = g_strdup_printf ( _("_Delete the category '%s'"), srccat->name); togglebutton = gtk_check_button_new_with_mnemonic(secondtext); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(togglebutton), TRUE); g_free(secondtext); gtk_box_pack_start (GTK_BOX (mainvbox), togglebutton, FALSE, FALSE, 0); //setup //gtk_combo_box_set_active(GTK_COMBO_BOX(getwidget), oldpos); g_signal_connect (G_OBJECT (getwidget), "changed", G_CALLBACK (ui_cat_manage_dialog_merge_entry_cb), dialog); gtk_dialog_set_response_sensitive(GTK_DIALOG(dialog), GTK_RESPONSE_OK, FALSE); ui_cat_comboboxentry_populate_except(GTK_COMBO_BOX(getwidget), GLOBALS->h_cat, srccat->key); gtk_widget_grab_focus (getwidget); gtk_widget_show_all(mainvbox); //wait for the user gint result = gtk_dialog_run (GTK_DIALOG (dialog)); if(result == GTK_RESPONSE_OK) { GtkTreeModel *model; Category *newcat, *parent; guint dstcatkey; model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_cat)); gtk_tree_store_clear (GTK_TREE_STORE(model)); dstcatkey = ui_cat_comboboxentry_get_key_add_new(GTK_COMBO_BOX(getwidget)); DB( g_print(" -> move cat to %d\n", dstcatkey) ); category_move(srccat->key, dstcatkey); newcat = da_cat_get (dstcatkey); //#1771720: update count newcat->usage_count += srccat->usage_count; srccat->usage_count = 0; //keep the income type with us parent = da_cat_get(srccat->parent); if(parent != NULL && (parent->flags & GF_INCOME)) newcat->flags |= GF_INCOME; //add the new category into listview if(newcat) ui_cat_listview_add(GTK_TREE_VIEW(data->LV_cat), newcat, NULL); // delete the old category if( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(togglebutton)) ) { DB( g_print(" -> delete %d '%s'\n", srccat->key, srccat->name ) ); ui_cat_listview_remove_selected(GTK_TREE_VIEW(data->LV_cat)); da_cat_delete(srccat->key); } data->change++; ui_cat_manage_populate_listview(data); } // cleanup and destroy gtk_widget_destroy (dialog); } } /* ** delete the selected category to our treeview and temp GList */ static void ui_cat_manage_dialog_delete(GtkWidget *widget, gpointer user_data) { struct ui_cat_manage_dialog_data *data; Category *item; gint result; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n(defcategory) delete (data=%p)\n", data) ); item = ui_cat_listview_get_selected(GTK_TREE_VIEW(data->LV_cat)); if( item != NULL ) { gchar *title = NULL; gchar *secondtext = NULL; title = g_strdup_printf ( _("Are you sure you want to permanently delete '%s'?"), item->name); if( item->usage_count > 0 ) { secondtext = _("This category is used.\n" "Any transaction using that category will be set to (no category)"); } result = ui_dialog_msg_confirm_alert( GTK_WINDOW(data->dialog), title, secondtext, _("_Delete") ); g_free(title); if( result == GTK_RESPONSE_OK ) { ui_cat_listview_remove_selected(GTK_TREE_VIEW(data->LV_cat)); category_move(item->key, 0); da_cat_delete(item->key); data->change++; } } } static void ui_cat_manage_dialog_expand_all(GtkWidget *widget, gpointer user_data) { struct ui_cat_manage_dialog_data *data; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n(defcategory) expand all (data=%p)\n", data) ); gtk_tree_view_expand_all(GTK_TREE_VIEW(data->LV_cat)); } static void ui_cat_manage_dialog_collapse_all(GtkWidget *widget, gpointer user_data) { struct ui_cat_manage_dialog_data *data; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n(defcategory) collapse all (data=%p)\n", data) ); gtk_tree_view_collapse_all(GTK_TREE_VIEW(data->LV_cat)); } static void ui_cat_manage_dialog_update(GtkWidget *treeview, gpointer user_data) { struct ui_cat_manage_dialog_data *data; //gint count; gboolean selected, sensitive; GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; GtkTreePath *path; gchar *category; gboolean haschild = FALSE; DB( g_print("ui_cat_manage_dialog_update()\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(treeview), GTK_TYPE_WINDOW)), "inst_data"); //window = gtk_widget_get_ancestor(GTK_WIDGET(treeview), GTK_TYPE_WINDOW); //DB( g_print("(defcategory) widget=%08lx, window=%08lx, inst_data=%08lx\n", treeview, window, data) ); //if true there is a selected node selected = gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_cat)), &model, &iter); DB( g_print(" selected = %d\n", selected) ); if(selected) { //path 0 active ? gtk_tree_model_get_iter_first(model, &iter); if(gtk_tree_selection_iter_is_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_cat)), &iter)) { DB( g_print(" 0 active = %d\n", 1) ); selected = FALSE; } } selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)); //count = gtk_tree_selection_count_selected_rows(selection); //DB( g_print(" => select count=%d\n", count) ); category = NULL; if (gtk_tree_selection_get_selected(selection, &model, &iter)) { gchar *tree_path_str; Category *item; gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, LST_DEFCAT_DATAS, &item, -1); haschild = gtk_tree_model_iter_has_child(GTK_TREE_MODEL(model), &iter); DB( g_print(" => has child=%d\n", haschild) ); path = gtk_tree_model_get_path(gtk_tree_view_get_model(GTK_TREE_VIEW(treeview)), &iter); tree_path_str = gtk_tree_path_to_string(path); DB( g_print(" => select is=%s, depth=%d (id=%d, %s) flags=%d\n", tree_path_str, gtk_tree_path_get_depth(path), item->key, item->name, item->flags ) ); g_free(tree_path_str); //get parent if subcategory selectd DB( g_print(" => get parent for title\n") ); if(gtk_tree_path_get_depth(path) != 1) gtk_tree_path_up(path); if(gtk_tree_model_get_iter(model, &iter, path)) { Category *tmpitem; gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, LST_DEFCAT_DATAS, &tmpitem, -1); if(tmpitem->key > 0) category = tmpitem->name; DB( g_print(" => parent is %s\n", category) ); } gtk_tree_path_free(path); } gtk_label_set_text(GTK_LABEL(data->LA_category), category); sensitive = (selected == TRUE) ? TRUE : FALSE; gtk_widget_set_sensitive(data->ST_name2, sensitive); gtk_widget_set_sensitive(data->BT_edit, sensitive); gtk_widget_set_sensitive(data->BT_merge, sensitive); //avoid deleting top categories sensitive = (haschild == TRUE) ? FALSE : sensitive; gtk_widget_set_sensitive(data->BT_delete, sensitive); } /* ** */ static void ui_cat_manage_dialog_selection(GtkTreeSelection *treeselection, gpointer user_data) { ui_cat_manage_dialog_update(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), NULL); } static void ui_cat_manage_dialog_onRowActivated (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *col, gpointer user_data) { GtkTreeModel *model; GtkTreeIter iter; DB( g_print("ui_cat_manage_dialog_onRowActivated()\n") ); model = gtk_tree_view_get_model(treeview); gtk_tree_model_get_iter_first(model, &iter); if(gtk_tree_selection_iter_is_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)), &iter) == FALSE) { ui_cat_manage_dialog_edit(GTK_WIDGET(treeview), NULL); } } static gboolean ui_cat_manage_dialog_cleanup(struct ui_cat_manage_dialog_data *data, gint result) { gboolean doupdate = FALSE; DB( g_print("(defcategory) cleanup\n") ); if(result == GTK_RESPONSE_ACCEPT) { //do_application_specific_something (); DB( g_print(" accept\n") ); GLOBALS->changes_count += data->change; } DB( g_print(" free tmp_list\n") ); //da_category_destroy(data->tmp_list); return doupdate; } static void ui_cat_manage_populate_listview(struct ui_cat_manage_dialog_data *data) { gint type; type = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_type)) == 1 ? CAT_TYPE_INCOME : CAT_TYPE_EXPENSE; ui_cat_listview_populate(data->LV_cat, type); gtk_tree_view_expand_all (GTK_TREE_VIEW(data->LV_cat)); } /* ** */ static void ui_cat_manage_dialog_setup(struct ui_cat_manage_dialog_data *data) { DB( g_print("(defcategory) setup\n") ); //init GList data->tmp_list = NULL; //data->tmp_list = hb-glist_clone_list(GLOBALS->cat_list, sizeof(struct _Group)); data->change = 0; //debug //da_cat_debug_list(); ui_cat_manage_populate_listview(data); } static void ui_cat_manage_type_changed_cb (GtkToggleButton *button, gpointer user_data) { ui_cat_manage_populate_listview(user_data); //g_print(" toggle type=%d\n", gtk_toggle_button_get_active(button)); } GtkWidget *ui_cat_manage_dialog (void) { struct ui_cat_manage_dialog_data *data; GtkWidget *window, *content, *mainvbox, *bbox, *table, *hbox, *vbox, *label, *scrollwin, *treeview; GtkWidget *menu, *menuitem, *widget, *image, *tbar, *addreveal; GtkToolItem *toolitem; gint w, h, row; data = g_malloc0(sizeof(struct ui_cat_manage_dialog_data)); if(!data) return NULL; window = gtk_dialog_new_with_buttons (_("Manage Categories"), GTK_WINDOW(GLOBALS->mainwindow), 0, _("_Close"), GTK_RESPONSE_ACCEPT, NULL); data->dialog = window; data->change = 0; gtk_window_set_icon_name(GTK_WINDOW (window), ICONNAME_HB_CATEGORY); //set a nice dialog size gtk_window_get_size(GTK_WINDOW(GLOBALS->mainwindow), &w, &h); gtk_window_set_default_size (GTK_WINDOW(window), -1, h/PHI); //store our window private data g_object_set_data(G_OBJECT(window), "inst_data", (gpointer)data); DB( g_print("(defcategory) window=%p, inst_data=%p\n", window, data) ); g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window); //window contents content = gtk_dialog_get_content_area(GTK_DIALOG (window)); mainvbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, SPACING_SMALL); gtk_box_pack_start (GTK_BOX (content), mainvbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER(mainvbox), SPACING_MEDIUM); //our table table = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM); gtk_box_pack_start (GTK_BOX (mainvbox), table, TRUE, TRUE, 0); row = 0; bbox = hbtk_radio_button_new(CYA_CAT_TYPE, TRUE); data->RA_type = bbox; gtk_widget_set_halign (bbox, GTK_ALIGN_CENTER); gtk_grid_attach (GTK_GRID (table), bbox, 0, row, 2, 1); hbtk_radio_button_connect (GTK_CONTAINER(bbox), "toggled", G_CALLBACK (ui_cat_manage_type_changed_cb), data); menu = gtk_menu_new (); gtk_widget_set_halign (menu, GTK_ALIGN_END); menuitem = gtk_menu_item_new_with_mnemonic (_("_Import CSV")); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (ui_cat_manage_dialog_load_csv), data); menuitem = gtk_menu_item_new_with_mnemonic (_("E_xport CSV")); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (ui_cat_manage_dialog_save_csv), data); menuitem = gtk_separator_menu_item_new(); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); menuitem = gtk_menu_item_new_with_mnemonic (_("_Delete unused")); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (ui_cat_manage_dialog_delete_unused), data); gtk_widget_show_all (menu); widget = gtk_menu_button_new(); image = gtk_image_new_from_icon_name (ICONNAME_HB_BUTTON_MENU, GTK_ICON_SIZE_MENU); //gchar *thename; //gtk_image_get_icon_name(image, &thename, NULL); //g_print("the name is %s\n", thename); g_object_set (widget, "image", image, "popup", GTK_MENU(menu), NULL); gtk_widget_set_halign (widget, GTK_ALIGN_END); gtk_grid_attach (GTK_GRID (table), widget, 1, row, 1, 1); //list row++; vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_grid_attach (GTK_GRID (table), vbox, 0, row, 2, 1); scrollwin = gtk_scrolled_window_new(NULL,NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_min_content_height(GTK_SCROLLED_WINDOW(scrollwin), HB_MINHEIGHT_LIST); treeview = ui_cat_listview_new(FALSE, TRUE); data->LV_cat = treeview; gtk_container_add(GTK_CONTAINER(scrollwin), treeview); gtk_widget_set_hexpand (scrollwin, TRUE); gtk_widget_set_vexpand (scrollwin, TRUE); gtk_box_pack_start (GTK_BOX(vbox), scrollwin, TRUE, TRUE, 0); //list toolbar tbar = gtk_toolbar_new(); gtk_toolbar_set_icon_size (GTK_TOOLBAR(tbar), GTK_ICON_SIZE_MENU); gtk_toolbar_set_style(GTK_TOOLBAR(tbar), GTK_TOOLBAR_ICONS); gtk_style_context_add_class (gtk_widget_get_style_context (tbar), GTK_STYLE_CLASS_INLINE_TOOLBAR); gtk_box_pack_start (GTK_BOX (vbox), tbar, FALSE, FALSE, 0); bbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); toolitem = gtk_tool_item_new(); gtk_container_add (GTK_CONTAINER(toolitem), bbox); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); widget = make_image_toggle_button(ICONNAME_LIST_ADD, _("Add")); data->BT_add = widget; gtk_container_add (GTK_CONTAINER (bbox), widget); widget = make_image_button(ICONNAME_LIST_EDIT, _("Edit")); data->BT_edit = widget; gtk_container_add (GTK_CONTAINER (bbox), widget); widget = make_image_button(ICONNAME_HB_LIST_MERGE, _("Move/Merge")); data->BT_merge = widget; gtk_container_add (GTK_CONTAINER (bbox), widget); widget = make_image_button(ICONNAME_LIST_DELETE, _("Delete")); data->BT_delete = widget; gtk_container_add (GTK_CONTAINER (bbox), widget); toolitem = gtk_separator_tool_item_new (); gtk_tool_item_set_expand (toolitem, TRUE); gtk_separator_tool_item_set_draw(GTK_SEPARATOR_TOOL_ITEM(toolitem), FALSE); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); toolitem = gtk_tool_item_new(); gtk_container_add (GTK_CONTAINER(toolitem), hbox); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); widget = make_image_button(ICONNAME_HB_BUTTON_EXPAND, _("Expand all")); data->BT_expand = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); widget = make_image_button(ICONNAME_HB_BUTTON_COLLAPSE, _("Collapse all")); data->BT_collapse = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); // subcategory + add button row++; addreveal = gtk_revealer_new (); gtk_grid_attach (GTK_GRID (table), addreveal, 0, row, 2, 1); vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, SPACING_SMALL); gtk_container_add(GTK_CONTAINER(addreveal), vbox); widget = gtk_entry_new (); data->ST_name1 = widget; gtk_entry_set_placeholder_text(GTK_ENTRY(data->ST_name1), _("new category") ); gtk_widget_set_hexpand (widget, TRUE); gtk_container_add (GTK_CONTAINER (vbox), widget); row++; hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); gtk_container_add (GTK_CONTAINER (vbox), hbox); data->LA_category = gtk_label_new(NULL); gtk_box_pack_start (GTK_BOX (hbox), data->LA_category, FALSE, FALSE, 0); label = gtk_label_new(":"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); data->ST_name2 = gtk_entry_new (); gtk_entry_set_placeholder_text(GTK_ENTRY(data->ST_name2), _("new subcategory") ); gtk_box_pack_start (GTK_BOX (hbox), data->ST_name2, TRUE, TRUE, 0); //connect all our signals g_object_bind_property (data->BT_add, "active", addreveal, "reveal-child", G_BINDING_BIDIRECTIONAL); g_signal_connect (G_OBJECT (data->ST_name1), "activate", G_CALLBACK (ui_cat_manage_dialog_add), GINT_TO_POINTER(FALSE)); g_signal_connect (G_OBJECT (data->ST_name2), "activate", G_CALLBACK (ui_cat_manage_dialog_add), GINT_TO_POINTER(TRUE)); g_signal_connect(G_OBJECT(data->ST_name1), "insert-text", G_CALLBACK(ui_cat_manage_filter_text_handler), NULL); g_signal_connect(G_OBJECT(data->ST_name2), "insert-text", G_CALLBACK(ui_cat_manage_filter_text_handler), NULL); g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_cat)), "changed", G_CALLBACK (ui_cat_manage_dialog_selection), NULL); g_signal_connect (GTK_TREE_VIEW(data->LV_cat), "row-activated", G_CALLBACK (ui_cat_manage_dialog_onRowActivated), NULL); g_signal_connect (G_OBJECT (data->BT_edit), "clicked", G_CALLBACK (ui_cat_manage_dialog_edit), NULL); g_signal_connect (G_OBJECT (data->BT_merge), "clicked", G_CALLBACK (ui_cat_manage_dialog_merge), NULL); g_signal_connect (G_OBJECT (data->BT_delete), "clicked", G_CALLBACK (ui_cat_manage_dialog_delete), NULL); g_signal_connect (G_OBJECT (data->BT_expand), "clicked", G_CALLBACK (ui_cat_manage_dialog_expand_all), NULL); g_signal_connect (G_OBJECT (data->BT_collapse), "clicked", G_CALLBACK (ui_cat_manage_dialog_collapse_all), NULL); //setup, init and show window category_fill_usage(); ui_cat_manage_dialog_setup(data); ui_cat_manage_dialog_update(data->LV_cat, NULL); gtk_widget_show_all (window); //wait for the user gint result = gtk_dialog_run (GTK_DIALOG (window)); switch (result) { case GTK_RESPONSE_ACCEPT: //do_application_specific_something (); break; default: //do_nothing_since_dialog_was_cancelled (); break; } // cleanup and destroy GLOBALS->changes_count += data->change; ui_cat_manage_dialog_cleanup(data, result); gtk_widget_destroy (window); g_free(data); return NULL; } homebank-5.3.2/src/gtk-chart-colors.c0000664000175000017500000002071613604720365014362 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "gtk-chart-colors.h" char *chart_colors[] = { "HomeBank", "Money", "SAP", "Quicken", "Office 2010", "Office 2013", "Analytics", "YNAB", NULL }; struct rgbcol ynab_colors[] = { { 238, 118, 96 }, { 245, 189, 115 }, { 239, 234, 172 }, { 143, 186, 209 }, { 211, 229, 134 }, { 163, 180, 120 }, { 167, 209, 195 }, { 51, 177, 191 }, { 214, 227, 99 }, //{ 246, 166, 209 }, // added color { 131, 131, 131 }, // others }; int ynab_nbcolors = G_N_ELEMENTS(ynab_colors); struct rgbcol money_colors[] = { { 255, 193, 96 }, { 92, 131, 180 }, { 165, 88, 124 }, { 108, 124, 101 }, { 230, 121, 99 }, { 91, 160, 154 }, { 207, 93, 96 }, { 70, 136, 106 }, { 245, 163, 97 }, { 158, 153, 88 }, { 255, 140, 90 }, { 122, 151, 173 }, { 84, 142, 128 }, { 185, 201, 149 }, { 165, 99, 103 }, { 77, 140, 172 }, { 251, 228, 128 }, { 73, 99, 149 }, { 192, 80, 77 }, { 139, 180, 103 }, { 132, 165, 214 }, { 221, 216, 115 }, { 77, 103, 137 }, { 165, 181, 156 }, }; int money_nbcolors = G_N_ELEMENTS(money_colors); struct rgbcol quicken_colors[] = { { 226, 73, 13 }, { 223, 180, 6 }, { 124, 179, 0 }, { 44, 108, 182 }, { 184, 81, 186 }, { 165, 165, 165 }, { 122, 122, 122 }, { 137, 42, 40 }, { 70, 161, 100 }, { 220, 106, 0 }, { 113, 113, 113 }, // others }; int quicken_nbcolors = G_N_ELEMENTS(quicken_colors); struct rgbcol analytics_colors[] = { { 5, 141, 199 }, //line color { 80, 180, 50 }, { 237, 86, 27 }, { 237, 239, 0 }, { 36, 203, 229 }, { 100, 229, 114 }, { 255, 150, 85 }, { 255, 242, 99 }, { 106, 249, 196 }, { 178, 222, 255 }, { 204, 204, 204 }, // others }; int analytics_nbcolors = G_N_ELEMENTS(analytics_colors); struct rgbcol office2010_colors[] = { { 60, 100, 149 }, { 150, 60, 59 }, { 120, 147, 68 }, { 99, 75, 123 }, { 61, 133, 157 }, { 196, 115, 49 }, { 73, 120, 176 }, { 179, 74, 71 }, { 144, 178, 84 }, { 117, 93, 153 }, { 73, 161, 185 }, { 232, 140, 65 }, { 126, 155, 199 }, { 202, 126, 126 }, { 174, 197, 129 }, { 156, 137, 182 }, { 123, 185, 206 }, { 248, 170, 121 }, }; int office2010_nbcolors = G_N_ELEMENTS(office2010_colors); struct rgbcol office2013_colors[] = { { 91, 155, 213 }, { 237, 125, 49 }, { 165, 165, 165 }, { 255, 192, 0 }, { 68, 114, 196 }, { 112, 173, 71 }, { 37, 94, 145 }, { 158, 72, 14 }, { 99, 99, 99 }, { 153, 115, 0 }, { 38, 68, 120 }, { 67, 104, 43 }, { 124, 175, 221 }, { 241, 151, 90 }, { 183, 183, 183 }, { 255, 205, 51 }, { 105, 142, 208 }, { 140, 193, 104 }, }; int office2013_nbcolors = G_N_ELEMENTS(office2013_colors); struct rgbcol sap_colors[] = { { 107, 148, 181 }, { 239, 205, 120 }, { 160, 117, 146 }, { 107, 181, 144 }, { 237, 164, 112 }, { 107, 106, 161 }, { 183, 213, 104 }, { 214, 128, 118 }, { 135, 115, 161 }, { 218, 217, 86 }, { 207, 111, 122 }, { 85, 168, 161 }, { 253, 213, 65 }, { 146, 98, 148 }, { 115, 192, 59 }, { 205, 81, 96 }, { 53, 180, 201 }, { 248, 175, 103 }, { 186, 97, 125 }, { 117, 202, 249 }, { 244, 131, 35 }, { 178, 45, 110 }, { 87, 229, 151 }, { 204, 171, 68 }, { 172, 110, 145 }, { 61, 132, 137 }, { 224, 117, 79 }, { 117, 84, 148 }, { 155, 206, 158 }, { 255, 133, 100 }, { 60, 98, 153 }, { 128, 197, 122 }, }; int sap_nbcolors = G_N_ELEMENTS(sap_colors); struct rgbcol homebank_colors[] = { { 72, 118, 176 }, { 180, 198, 230 }, { 227, 126, 35 }, { 238, 186, 123 }, { 97, 158, 58 }, { 175, 222, 142 }, { 184, 43, 44 }, { 231, 151, 149 }, { 136, 103, 185 }, { 190, 174, 210 }, { 127, 87, 77 }, { 184, 155, 147 }, { 202, 118, 190 }, { 230, 181, 208 }, { 126, 126, 126 }, { 198, 198, 198 }, { 187, 188, 56 }, { 218, 218, 144 }, { 109, 189, 205 }, { 176, 217, 228 }, { 237, 212, 0 }, { 255, 239, 101 }, { 207, 93, 96 }, { 234, 186, 187 }, { 193, 124, 17 }, { 240, 181, 90 }, { 186, 189, 182 }, { 225, 227, 223 }, { 115, 210, 22 }, { 175, 240, 112 }, { 255, 140, 90 }, { 255, 191, 165 }, }; int homebank_nbcolors = G_N_ELEMENTS(homebank_colors); struct rgbcol global_colors[] = { { 0, 0, 0}, // black {255, 255, 255}, // white {239, 239, 239}, // grey1 THTEXT 0.05 { 68, 68, 68}, // text THTEXT 0.78 { 51, 51, 51}, // xyline THTEXT 0.8 /* { 255, 0, 0}, // fake { 255, 255, 0}, // fake { 255, 0, 255}, // fake { 0, 255, 0}, // fake { 0, 0, 255}, // fake */ {255, 255, 255}, // theme base (bg) { 46, 52, 54}, // theme fg }; /* struct rgbcol global_colors[] = { { 0, 0, 0}, // black {255, 255, 255}, // white {238, 238, 238}, // #top/bottom lines {204, 204, 204}, // #dotted lines {102, 102, 102}, // #x-axis, scale text {153, 153, 153}, // # ?? { 0, 119, 204}, // #line color //new {239, 239, 239}, // intermediate lines { 68, 68, 68}, // text { 51, 51, 51}, // x/y axis };*/ void chart_color_global_default(void) { struct rgbcol *tcol; // set base color (adwaita) tcol = &global_colors[THBASE]; tcol->r = 255; tcol->g = 255; tcol->b = 255; // set text(bg) color (adwaita) tcol = &global_colors[THTEXT]; tcol->r = 46; tcol->g = 52; tcol->b = 54; } void cairo_user_set_rgbcol(cairo_t *cr, struct rgbcol *col) { cairo_set_source_rgb(cr, COLTOCAIRO(col->r), COLTOCAIRO(col->g), COLTOCAIRO(col->b)); } void cairo_user_set_rgbacol(cairo_t *cr, struct rgbcol *col, double alpha) { cairo_set_source_rgba(cr, COLTOCAIRO(col->r), COLTOCAIRO(col->g), COLTOCAIRO(col->b), alpha); } void cairo_user_set_rgbcol_over(cairo_t *cr, struct rgbcol *col, gboolean over) { if( over ) cairo_set_source_rgb(cr, COLTOCAIROOVER(col->r), COLTOCAIROOVER(col->g), COLTOCAIROOVER(col->b)); else cairo_set_source_rgb(cr, COLTOCAIRO(col->r), COLTOCAIRO(col->g), COLTOCAIRO(col->b)); } void colorscheme_init(GtkColorScheme *scheme, gint index) { scheme->cs_blue = 0; switch(index) { default: case CHART_COLMAP_HOMEBANK: scheme->colors = homebank_colors; scheme->nb_cols = homebank_nbcolors; scheme->cs_green = 4; scheme->cs_red = 6; scheme->cs_yellow = 2; scheme->cs_orange = 2; break; case CHART_COLMAP_MSMONEY: scheme->colors = money_colors; scheme->nb_cols = money_nbcolors; scheme->cs_blue = 17; scheme->cs_green = 19; scheme->cs_red = 18; scheme->cs_yellow = 16; scheme->cs_orange = 8; break; case CHART_COLMAP_QUICKEN: scheme->colors = quicken_colors; scheme->nb_cols = quicken_nbcolors; scheme->cs_blue = 3; scheme->cs_green = 2; scheme->cs_red = 0; scheme->cs_yellow = 1; scheme->cs_orange = 9; break; case CHART_COLMAP_ANALYTICS: scheme->colors = analytics_colors; scheme->nb_cols = analytics_nbcolors; scheme->cs_green = 1; scheme->cs_red = 2; scheme->cs_yellow = 3; scheme->cs_orange = 6; break; case CHART_COLMAP_OFFICE2010: scheme->colors = office2010_colors; scheme->nb_cols = office2010_nbcolors; scheme->cs_green = 2; scheme->cs_red = 1; scheme->cs_yellow = 5; scheme->cs_orange = 5; break; case CHART_COLMAP_OFFICE2013: scheme->colors = office2013_colors; scheme->nb_cols = office2013_nbcolors; scheme->cs_green = 5; scheme->cs_red = 1; scheme->cs_yellow = 3; scheme->cs_orange = 1; break; case CHART_COLMAP_SAP: scheme->colors = sap_colors; scheme->nb_cols = sap_nbcolors; scheme->cs_green = 14; scheme->cs_red = 15; scheme->cs_yellow = 12; scheme->cs_orange = 20; break; case CHART_COLMAP_YNAB: scheme->colors = ynab_colors; scheme->nb_cols = ynab_nbcolors; scheme->cs_blue = 3; scheme->cs_green = 5; scheme->cs_red = 0; scheme->cs_orange = 1; break; } } homebank-5.3.2/src/hb-transaction.c0000644000175000017500000007641113611320352014102 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hb-transaction.h" #include "hb-tag.h" #include "hb-split.h" /****************************************************************************/ /* Debug macro */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void da_transaction_clean(Transaction *item) { if(item != NULL) { if(item->memo != NULL) { g_free(item->memo); item->memo = NULL; } if(item->info != NULL) { g_free(item->info); item->info = NULL; } if(item->tags != NULL) { g_free(item->tags); item->tags = NULL; } if(item->splits != NULL) { da_split_destroy(item->splits); item->splits = NULL; item->flags &= ~(OF_SPLIT); //Flag that Splits are cleared } } } void da_transaction_free(Transaction *item) { if(item != NULL) { da_transaction_clean(item); g_free(item); } } Transaction * da_transaction_malloc(void) { return g_malloc0(sizeof(Transaction)); } Transaction *da_transaction_init(Transaction *txn, guint32 kacc) { guint32 date; DB( g_print("da_transaction_init\n") ); //#1860309 keep the date when init for add/inherit date = txn->date; da_transaction_clean(txn); memset(txn, 0, sizeof(Transaction)); txn->date = date; //fix: 318733 / 1335285 if( PREFS->heritdate == FALSE ) txn->date = GLOBALS->today; txn->kacc = kacc; da_transaction_set_default_template(txn); return txn; } Transaction *da_transaction_init_from_template(Transaction *txn, Archive *arc) { DB( g_print("da_transaction_init_from_template\n") ); da_transaction_clean(txn); //txn->date = 0; txn->amount = arc->amount; //#1258344 keep the current account if tpl is empty if(arc->kacc) txn->kacc = arc->kacc; txn->paymode = arc->paymode; txn->flags = arc->flags; txn->status = arc->status; txn->kpay = arc->kpay; txn->kcat = arc->kcat; txn->kxferacc = arc->kxferacc; if(arc->memo != NULL) txn->memo = g_strdup(arc->memo); if(arc->info != NULL) txn->info = g_strdup(arc->info); txn->tags = tags_clone(arc->tags); txn->splits = da_splits_clone(arc->splits); if( da_splits_length (txn->splits) > 0 ) txn->flags |= OF_SPLIT; //Flag that Splits are active return txn; } Transaction *da_transaction_set_default_template(Transaction *txn) { Account *acc; Archive *arc; DB( g_print("da_transaction_set_default_template\n") ); acc = da_acc_get(txn->kacc); if(acc != NULL && acc->karc > 0) { arc = da_archive_get(acc->karc); if( arc ) { DB( g_print(" - init with default template\n") ); da_transaction_init_from_template(txn, arc); } } return txn; } Transaction *da_transaction_clone(Transaction *src_item) { Transaction *new_item = g_memdup(src_item, sizeof(Transaction)); DB( g_print("da_transaction_clone\n") ); if(new_item) { //duplicate the string new_item->memo = g_strdup(src_item->memo); new_item->info = g_strdup(src_item->info); //duplicate tags/splits //no g_free here to avoid free the src tags (memdup copied the ptr) new_item->tags = tags_clone(src_item->tags); new_item->splits = da_splits_clone(src_item->splits); if( da_splits_length (new_item->splits) > 0 ) new_item->flags |= OF_SPLIT; //Flag that Splits are active } return new_item; } GList * da_transaction_new(void) { return NULL; } guint da_transaction_length(void) { GList *lst_acc, *lnk_acc; guint count = 0; lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; count += g_queue_get_length (acc->txn_queue); lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); return count; } static void da_transaction_queue_free_ghfunc(Transaction *item, gpointer data) { da_transaction_free (item); } void da_transaction_destroy(void) { GList *lacc, *list; lacc = g_hash_table_get_values(GLOBALS->h_acc); list = g_list_first(lacc); while (list != NULL) { Account *acc = list->data; g_queue_foreach(acc->txn_queue, (GFunc)da_transaction_queue_free_ghfunc, NULL); //txn queue is freed into account list = g_list_next(list); } g_list_free(lacc); } // used from register only static gint da_transaction_compare_datafunc(Transaction *a, Transaction *b, gpointer data) { gint retval = (gint)a->date - b->date; if(!retval) //#1749457 retval = a->pos - b->pos; return retval; } void da_transaction_queue_sort(GQueue *queue) { g_queue_sort(queue, (GCompareDataFunc)da_transaction_compare_datafunc, NULL); } static gint da_transaction_compare_func(Transaction *a, Transaction *b) { return ((gint)a->date - b->date); } GList *da_transaction_sort(GList *list) { return( g_list_sort(list, (GCompareFunc)da_transaction_compare_func)); } gboolean da_transaction_insert_memo(Transaction *item) { gboolean retval = FALSE; if( item->memo != NULL ) { //# 1673048 add filter on status and date obsolete if( (PREFS->txn_memoacp == TRUE) && (item->date >= (GLOBALS->today - PREFS->txn_memoacp_days)) ) { if( g_hash_table_lookup(GLOBALS->h_memo, item->memo) == NULL ) { retval = g_hash_table_insert(GLOBALS->h_memo, g_strdup(item->memo), NULL); } } } return retval; } gboolean da_transaction_insert_sorted(Transaction *newitem) { Account *acc; GList *lnk_txn; acc = da_acc_get(newitem->kacc); if(!acc) return FALSE; lnk_txn = g_queue_peek_tail_link(acc->txn_queue); while (lnk_txn != NULL) { Transaction *item = lnk_txn->data; if(item->date <= newitem->date) break; lnk_txn = g_list_previous(lnk_txn); } // we're at insert point, insert after txn g_queue_insert_after(acc->txn_queue, lnk_txn, newitem); da_transaction_insert_memo(newitem); return TRUE; } // nota: this is called only when loading xml file gboolean da_transaction_prepend(Transaction *item) { Account *acc; acc = da_acc_get(item->kacc); //#1661279 if(!acc) return FALSE; item->kcur = acc->kcur; g_queue_push_tail(acc->txn_queue, item); da_transaction_insert_memo(item); return TRUE; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static guint32 da_transaction_get_max_kxfer(void) { GList *lst_acc, *lnk_acc; GList *list; guint32 max_key = 0; DB( g_print("da_transaction_get_max_kxfer\n") ); lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; list = g_queue_peek_head_link(acc->txn_queue); while (list != NULL) { Transaction *item = list->data; if( item->flags & OF_INTXFER ) { max_key = MAX(max_key, item->kxfer); } list = g_list_next(list); } lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); DB( g_print(" max_key : %d \n", max_key) ); return max_key; } static void da_transaction_goto_orphan(Transaction *txn) { const gchar *oatn = "orphaned transactions"; Account *ori_acc, *acc; gboolean found; DB( g_print("\n[transaction] goto orphan\n") ); g_warning("txn consistency: moving to orphan %d '%s' %.2f", txn->date, txn->memo, txn->amount); acc = da_acc_get_by_name((gchar *)oatn); if(acc == NULL) { acc = da_acc_malloc(); acc->name = g_strdup(oatn); da_acc_append(acc); DB( g_print(" - created orphan acc %d\n", acc->key) ); } ori_acc = da_acc_get(txn->kacc); if( ori_acc ) { found = g_queue_remove(ori_acc->txn_queue, txn); DB( g_print(" - found in origin ? %d\n", found) ); if(found) { txn->kacc = acc->key; da_transaction_insert_sorted (txn); DB( g_print("moved txn to %d\n", txn->kacc) ); } } } void da_transaction_consistency(Transaction *item) { Account *acc; Category *cat; Payee *pay; guint nbsplit; DB( g_print("\n[transaction] consistency\n") ); DB( g_print(" %d %.2f %s\n", item->date, item->amount, item->memo) ); // ensure date is between range item->date = CLAMP(item->date, HB_MINDATE, HB_MAXDATE); // check account exists acc = da_acc_get(item->kacc); if(acc == NULL) { g_warning("txn consistency: fixed invalid acc %d", item->kacc); da_transaction_goto_orphan(item); GLOBALS->changes_count++; } // check category exists cat = da_cat_get(item->kcat); if(cat == NULL) { g_warning("txn consistency: fixed invalid cat %d", item->kcat); item->kcat = 0; GLOBALS->changes_count++; } //#1340142 check split category if( item->splits != NULL ) { nbsplit = da_splits_consistency(item->splits); //# 1416624 empty category when split if(nbsplit > 0 && item->kcat > 0) { g_warning("txn consistency: fixed invalid cat on split txn"); item->kcat = 0; GLOBALS->changes_count++; } } // check payee exists pay = da_pay_get(item->kpay); if(pay == NULL) { g_warning("txn consistency: fixed invalid pay %d", item->kpay); item->kpay = 0; GLOBALS->changes_count++; } // 5.3: fix split on intxfer if( ((item->flags & OF_INTXFER) || (item->paymode == OLDPAYMODE_INTXFER)) && (item->splits != NULL) ) { g_warning("txn consistency: fixed invalid split on xfer"); item->flags &= ~(OF_INTXFER); item->paymode = PAYMODE_XFER; item->kxfer = 0; item->kxferacc = 0; } // reset dst acc for non xfer transaction if( !((item->flags & OF_INTXFER) || (item->paymode == OLDPAYMODE_INTXFER)) ) { if( (item->kxfer != 0) || (item->kxferacc != 0) ) { g_warning("txn consistency: fixed invalid xfer"); item->kxfer = 0; item->kxferacc = 0; } } // intxfer: check dst account exists if( (item->flags & OF_INTXFER) || (item->paymode == OLDPAYMODE_INTXFER) ) { gint tak = item->kxferacc; item->kxferacc = ABS(tak); //I crossed negative here one day acc = da_acc_get(item->kxferacc); if(acc == NULL) { g_warning("txn consistency: fixed invalid dst_acc %d", item->kxferacc); da_transaction_goto_orphan(item); item->kxfer = 0; item->paymode = PAYMODE_XFER; GLOBALS->changes_count++; } } //#1628678 tags for internal xfer should be checked as well //#1787826 intxfer should not have split //#1295877 ensure income flag is correctly set item->flags &= ~(OF_INCOME); if( item->amount > 0) item->flags |= (OF_INCOME); //#1308745 ensure remind flag unset if reconciled //useless since 5.0 //if( item->flags & OF_VALID ) // item->flags &= ~(OF_REMIND); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /* new transfer functions */ static void transaction_xfer_create_child(Transaction *ope) { Transaction *child; Account *acc; guint32 swap; DB( g_print("\n[transaction] xfer_create_child\n") ); if( ope->kxferacc > 0 ) { child = da_transaction_clone(ope); ope->flags |= (OF_CHANGED | OF_INTXFER); child->flags |= (OF_ADDED | OF_INTXFER); child->amount = -child->amount; child->flags ^= (OF_INCOME); // invert flag //#1268026 #1690555 if( (child->status == TXN_STATUS_CLEARED) || (child->status == TXN_STATUS_RECONCILED) ) child->status = TXN_STATUS_NONE; //child->flags &= ~(OF_VALID); // delete reconcile state swap = child->kacc; child->kacc = child->kxferacc; child->kxferacc = swap; /* update acc flags */ acc = da_acc_get( child->kacc ); if(acc != NULL) { acc->flags |= AF_ADDED; //strong link guint maxkey = da_transaction_get_max_kxfer(); DB( g_print(" + maxkey is %d\n", maxkey) ); ope->kxfer = maxkey+1; child->kxfer = maxkey+1; DB( g_print(" + strong link to %d\n", ope->kxfer) ); DB( g_print(" + add transfer, %p to acc %d\n", child, acc->key) ); da_transaction_insert_sorted(child); account_balances_add (child); } } } //todo: add strong control and extend to payee, maybe memo ? // #1708974 enable different date static gboolean transaction_xfer_child_might(Transaction *stxn, Transaction *dtxn, guint32 daygap) { gboolean retval = FALSE; DB( g_print("\n[transaction] xfer_child_might\n") ); if(stxn == dtxn) return FALSE; DB( g_print(" %d %d %d %f %d\n", stxn->kcur, stxn->date, stxn->kacc, ABS(stxn->amount), stxn->kxfer ) ); DB( g_print(" %d %d %d %f %d\n", dtxn->kcur, dtxn->date, dtxn->kacc, ABS(dtxn->amount), dtxn->kxfer ) ); if( stxn->kcur == dtxn->kcur && //stxn->date == dtxn->date && //# 1708974 enable different date (dtxn->date <= (stxn->date + daygap)) && (dtxn->date >= (stxn->date - daygap)) && //v5.1 make no sense: stxn->kxferacc == dtxn->kacc && stxn->kacc != dtxn->kacc && ABS(stxn->amount) == ABS(dtxn->amount) && dtxn->kxfer == 0) { //TODO: we could evaluate here a match rate based on several fields retval = TRUE; } DB( g_print(" return %d\n", retval) ); return retval; } static GList *transaction_xfer_child_might_list_get(Transaction *ope, guint32 kdstacc) { GList *lst_acc, *lnk_acc; GList *list, *matchlist = NULL; #define XFER_DAY_GAP 2 DB( g_print("\n[transaction] xfer_child_might_list_get\n") ); DB( g_print(" - kdstacc:%d\n", kdstacc) ); lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; if( !(acc->flags & AF_CLOSED) && (acc->key != ope->kacc) && ( (acc->key == kdstacc) || kdstacc == 0 ) ) { list = g_queue_peek_tail_link(acc->txn_queue); while (list != NULL) { Transaction *item = list->data; // no need to go higher than src txn date - daygap if(item->date < (ope->date - XFER_DAY_GAP)) break; if( transaction_xfer_child_might(ope, item, XFER_DAY_GAP) == TRUE ) { DB( g_print(" - match : %d %s %f %d=>%d\n", item->date, item->memo, item->amount, item->kacc, item->kxferacc) ); matchlist = g_list_append(matchlist, item); } list = g_list_previous(list); } } lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); return matchlist; } void transaction_xfer_search_or_add_child(GtkWindow *parent, Transaction *ope, guint32 kdstacc) { GList *matchlist; gint count; DB( g_print("\n[transaction] xfer_search_or_add_child\n") ); matchlist = transaction_xfer_child_might_list_get(ope, kdstacc); count = g_list_length(matchlist); DB( g_print(" - found %d might match, switching\n", count) ); switch(count) { case 0: //we should create the child transaction_xfer_create_child(ope); break; //todo: maybe with just 1 match the user must choose ? //#942346: bad idea so to no let the user confirm, so let him confirm /* case 1: //transform the transaction to a child transfer { GList *list = g_list_first(matchlist); transaction_xfer_change_to_child(ope, list->data); break; } */ default: //the user must choose himself { gint result; Transaction *child; result = ui_dialog_transaction_xfer_select_child(parent, ope, matchlist, &child); if( result == GTK_RESPONSE_ACCEPT ) { //#1827193 child can be null... DB( g_print(" child %p\n", child) ); if( child != NULL ) transaction_xfer_change_to_child(ope, child); else transaction_xfer_create_child(ope); } else //GTK_RESPONSE_CANCEL { ope->paymode = PAYMODE_NONE; ope->kxfer = 0; ope->kxferacc = 0; } } } g_list_free(matchlist); } Transaction *transaction_xfer_child_strong_get(Transaction *src) { Account *dstacc; GList *list; DB( g_print("\n[transaction] xfer_child_strong_get\n") ); dstacc = da_acc_get(src->kxferacc); if( !dstacc || src->kxfer <= 0 ) return NULL; DB( g_print(" - search: %d %s %f %d=>%d - %d\n", src->date, src->memo, src->amount, src->kacc, src->kxferacc, src->kxfer) ); list = g_queue_peek_tail_link(dstacc->txn_queue); while (list != NULL) { Transaction *item = list->data; //#1252230 //if( item->paymode == PAYMODE_INTXFER // && item->kacc == src->kxferacc if( (item->flags & OF_INTXFER) && (item->kxfer == src->kxfer) && (item != src) ) { DB( g_print(" - found : %d %s %f %d=>%d - %d\n", item->date, item->memo, item->amount, item->kacc, item->kxferacc, src->kxfer) ); return item; } list = g_list_previous(list); } DB( g_print(" - not found...\n") ); return NULL; } //TODO: should be static but used in hb_import void transaction_xfer_change_to_child(Transaction *ope, Transaction *child) { Account *dstacc; DB( g_print("\n[transaction] xfer_change_to_child\n") ); if(ope->kcur != child->kcur) return; ope->flags |= (OF_CHANGED | OF_INTXFER); child->flags |= (OF_ADDED | OF_INTXFER); ope->kxferacc = child->kacc; child->kxferacc = ope->kacc; /* update acc flags */ dstacc = da_acc_get( child->kacc); if(dstacc != NULL) dstacc->flags |= AF_CHANGED; //strong link guint maxkey = da_transaction_get_max_kxfer(); ope->kxfer = maxkey+1; child->kxfer = maxkey+1; } void transaction_xfer_child_sync(Transaction *s_txn, Transaction *child) { Account *acc; DB( g_print("\n[transaction] xfer_child_sync\n") ); if( child == NULL ) { DB( g_print(" - no child found\n") ); return; } DB( g_print(" - found do sync\n") ); /* update acc flags */ acc = da_acc_get( child->kacc); if(acc != NULL) acc->flags |= AF_CHANGED; account_balances_sub (child); //# 1708974 enable different date //child->date = s_txn->date; child->amount = -s_txn->amount; child->flags = child->flags | OF_CHANGED; //#1295877 child->flags &= ~(OF_INCOME); if( child->amount > 0) child->flags |= (OF_INCOME); child->kpay = s_txn->kpay; child->kcat = s_txn->kcat; if(child->memo) g_free(child->memo); child->memo = g_strdup(s_txn->memo); if(child->info) g_free(child->info); child->info = g_strdup(s_txn->info); account_balances_add (child); //#1252230 sync account also //#1663789 idem after 5.1 //source changed: update child key (move of s_txn is done in external_edit) if( s_txn->kacc != child->kxferacc ) { child->kxferacc = s_txn->kacc; } //dest changed: move child & update child key if( s_txn->kxferacc != child->kacc ) { transaction_acc_move(child, child->kacc, s_txn->kxferacc); } //synchronise tags since 5.1 g_free(child->tags); child->tags = tags_clone (s_txn->tags); } void transaction_xfer_remove_child(Transaction *src) { Transaction *dst; DB( g_print("\n[transaction] xfer_remove_child\n") ); dst = transaction_xfer_child_strong_get( src ); if( dst != NULL ) { Account *acc = da_acc_get(dst->kacc); if( acc != NULL ) { DB( g_print("deleting...") ); account_balances_sub(dst); g_queue_remove(acc->txn_queue, dst); //#1419304 we keep the deleted txn to a trash stack //da_transaction_free (dst); //g_trash_stack_push(&GLOBALS->txn_stk, dst); GLOBALS->deltxn_list = g_slist_prepend(GLOBALS->deltxn_list, dst); //#1691992 acc->flags |= AF_CHANGED; } } src->kxfer = 0; src->kxferacc = 0; } // still useful for upgrade from < file v0.6 (hb v4.4 kxfer) Transaction *transaction_old_get_child_transfer(Transaction *src) { Account *acc; GList *list; DB( g_print("\n[transaction] get_child_transfer\n") ); //DB( g_print(" search: %d %s %f %d=>%d\n", src->date, src->memo, src->amount, src->account, src->kxferacc) ); acc = da_acc_get(src->kxferacc); if( acc != NULL ) { list = g_queue_peek_head_link(acc->txn_queue); while (list != NULL) { Transaction *item = list->data; // no need to go higher than src txn date if(item->date > src->date) break; // keep this one for backward compatibility if( item->paymode == OLDPAYMODE_INTXFER) { if( src->date == item->date && src->kacc == item->kxferacc && src->kxferacc == item->kacc && ABS(src->amount) == ABS(item->amount) ) { //DB( g_print(" found : %d %s %f %d=>%d\n", item->date, item->memo, item->amount, item->account, item->kxferacc) ); return item; } } list = g_list_next(list); } } DB( g_print(" not found...\n") ); return NULL; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ gchar *transaction_get_status_string(Transaction *txn) { gchar *retval = ""; if(txn->status == TXN_STATUS_CLEARED) retval = "c"; else if(txn->status == TXN_STATUS_RECONCILED) retval = "R"; //else //if(txn->status == TXN_STATUS_REMIND) // retval = "?"; else if(txn->status == TXN_STATUS_VOID) retval = "v"; return retval; } gboolean transaction_is_balanceable(Transaction *ope) { gboolean retval = TRUE; if( (ope->status == TXN_STATUS_VOID) ) retval = FALSE; else if( (ope->status == TXN_STATUS_REMIND) && (PREFS->includeremind == FALSE) ) retval = FALSE; return retval; } void transaction_remove(Transaction *ope) { Account *acc; //controls accounts valid (archive scheduled maybe bad) acc = da_acc_get(ope->kacc); if(acc == NULL) return; account_balances_sub(ope); if( ope->flags & OF_INTXFER ) { transaction_xfer_remove_child( ope ); } g_queue_remove(acc->txn_queue, ope); acc->flags |= AF_CHANGED; //#1419304 we keep the deleted txn to a trash stack //da_transaction_free(entry); //g_trash_stack_push(&GLOBALS->txn_stk, ope); GLOBALS->deltxn_list = g_slist_prepend(GLOBALS->deltxn_list, ope); } void transaction_changed(Transaction *txn) { Account *acc; if( txn == NULL ) return; acc = da_acc_get(txn->kacc); if(acc == NULL) return; acc->flags |= AF_CHANGED; } Transaction *transaction_add(GtkWindow *parent, Transaction *ope) { Transaction *newope; Account *acc; DB( g_print("\n[transaction] transaction_add\n") ); //controls accounts valid (archive scheduled maybe bad) acc = da_acc_get(ope->kacc); if(acc == NULL) return NULL; DB( g_print(" acc is '%s' %d\n", acc->name, acc->key) ); ope->kcur = acc->kcur; if(ope->flags & OF_INTXFER) { acc = da_acc_get(ope->kxferacc); if(acc == NULL) return NULL; // delete any splits da_split_destroy(ope->splits); ope->splits = NULL; ope->flags &= ~(OF_SPLIT); //Flag that Splits are cleared } //allocate a new entry and copy from our edited structure newope = da_transaction_clone(ope); //init flag and keep remind status // already done in deftransaction_get //ope->flags |= (OF_ADDED); //remind = (ope->flags & OF_REMIND) ? TRUE : FALSE; //ope->flags &= (~OF_REMIND); /* cheque number is already stored in deftransaction_get */ /* todo:move this to transaction add store a new cheque number into account ? */ if( (newope->paymode == PAYMODE_CHECK) && (newope->info) && !(newope->flags & OF_INCOME) ) { guint cheque; /* get the active account and the corresponding cheque number */ acc = da_acc_get( newope->kacc); if( acc != NULL ) { cheque = atol(newope->info); //DB( g_print(" -> should store cheque number %d to %d", cheque, newope->account) ); if( newope->flags & OF_CHEQ2 ) { acc->cheque2 = MAX(acc->cheque2, cheque); } else { acc->cheque1 = MAX(acc->cheque1, cheque); } } } /* add normal transaction */ acc = da_acc_get( newope->kacc); if(acc != NULL) { acc->flags |= AF_ADDED; DB( g_print(" + add normal %p to acc %d\n", newope, acc->key) ); //da_transaction_append(newope); da_transaction_insert_sorted(newope); account_balances_add(newope); if(newope->flags & OF_INTXFER) { transaction_xfer_search_or_add_child(parent, newope, newope->kxferacc); } } return newope; } gboolean transaction_acc_move(Transaction *txn, guint32 okacc, guint32 nkacc) { Account *oacc, *nacc; DB( g_print("\n[transaction] acc_move\n") ); if( okacc == nkacc ) return TRUE; oacc = da_acc_get(okacc); nacc = da_acc_get(nkacc); if( oacc && nacc ) { account_balances_sub(txn); if( g_queue_remove(oacc->txn_queue, txn) ) { g_queue_push_tail(nacc->txn_queue, txn); txn->kacc = nacc->key; txn->kcur = nacc->kcur; nacc->flags |= AF_CHANGED; account_balances_add(txn); return TRUE; } else { //ensure to keep txn into current account txn->kacc = okacc; account_balances_add(txn); } } return FALSE; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static gboolean transaction_similar_match(Transaction *stxn, Transaction *dtxn, guint32 daygap) { gboolean retval = FALSE; if(stxn == dtxn) return FALSE; DB( g_print(" date: %d - %d = %d\n", stxn->date, dtxn->date, stxn->date - dtxn->date) ); if( stxn->kcur == dtxn->kcur && stxn->amount == dtxn->amount && ( (stxn->date - dtxn->date) <= daygap ) //todo: at import we also check payee, but maybe too strict here && (hb_string_compare(stxn->memo, dtxn->memo) == 0) ) { retval = TRUE; } return retval; } void transaction_similar_unmark(Account *acc) { GList *lnk_txn; lnk_txn = g_queue_peek_tail_link(acc->txn_queue); while (lnk_txn != NULL) { Transaction *stxn = lnk_txn->data; stxn->dspflags &= ~(TXN_DSPFLG_DUPSRC|TXN_DSPFLG_DUPDST); //stxn->marker = TXN_MARK_NONE; lnk_txn = g_list_previous(lnk_txn); } } gint transaction_similar_mark(Account *acc, guint32 daygap) { GList *lnk_txn, *list2; gint nball = 0; gint nbdup = 0; //warning the list must be sorted by date then amount //ideally (easier to parse) we shoudl get a list sorted by amount, then date DB( g_print("\n[transaction] check duplicate\n") ); DB( g_print("\n - account:'%s' gap:%d\n", acc->name, daygap) ); #if MYDEBUG == 1 GTimer *t = g_timer_new(); g_print(" - start parse\n"); #endif /* llast = g_list_last(old ope list); DB( g_print("- end last : %f sec\n", g_timer_elapsed(t, NULL)) ); g_timer_reset(t); ltxn = llast->data; g_date_clear(&gd, 1); g_date_set_julian(&gd, ltxn->date); g_print(" - last julian=%u %02d-%02d-%04d\n", ltxn->date, g_date_get_day (&gd), g_date_get_month (&gd), g_date_get_year(&gd)); minjulian = ltxn->date - (366*2); g_date_clear(&gd, 1); g_date_set_julian(&gd, minjulian); g_print(" - min julian=%u %02d-%02d-%04d\n", minjulian, g_date_get_day (&gd), g_date_get_month (&gd), g_date_get_year(&gd)); */ transaction_similar_unmark(acc); //mark duplicate lnk_txn = g_queue_peek_tail_link(acc->txn_queue); while (lnk_txn != NULL) { Transaction *stxn = lnk_txn->data; //if(stxn->date < minjulian) // break; DB( g_print("------\n eval src: %d, '%s', '%s', %.2f\n", stxn->date, stxn->info, stxn->memo, stxn->amount) ); list2 = g_list_previous(lnk_txn); while (list2 != NULL) { Transaction *dtxn = list2->data; DB( g_print(" + with dst: %d, '%s', '%s', %.2f\n", dtxn->date, dtxn->info, dtxn->memo, dtxn->amount) ); if( (stxn->date - dtxn->date) > daygap ) { DB( g_print(" break %d %d\n", (dtxn->date - daygap) , (stxn->date - daygap)) ); break; } //if( dtxn->marker == TXN_MARK_NONE ) if( (dtxn->dspflags & (TXN_DSPFLG_DUPSRC|TXN_DSPFLG_DUPDST)) == 0 ) { if( transaction_similar_match(stxn, dtxn, daygap) ) { //stxn->marker = TXN_MARK_DUPSRC; stxn->dspflags |= TXN_DSPFLG_DUPSRC; //dtxn->marker = TXN_MARK_DUPDST; dtxn->dspflags |= TXN_DSPFLG_DUPDST; DB( g_print(" = dtxn marker=%d\n", dtxn->marker) ); nball++; } } else { DB( g_print(" already marked %d\n", dtxn->marker) ); } list2 = g_list_previous(list2); } DB( g_print(" = stxn marker=%d\n", stxn->marker) ); //if( stxn->marker == TXN_MARK_DUPSRC ) if( stxn->dspflags & TXN_DSPFLG_DUPSRC ) nbdup++; lnk_txn = g_list_previous(lnk_txn); } DB( g_print(" - end parse : %f sec\n", g_timer_elapsed(t, NULL)) ); DB( g_timer_destroy (t) ); DB( g_print(" - found: %d/%d dup\n", nbdup, nball ) ); return nbdup; } guint transaction_auto_all_from_payee(GList *txnlist) { GList *list; Payee *pay; guint changes = 0; DB( g_print("\n[transaction] auto from payee\n") ); list = g_list_first(txnlist); while(list != NULL) { Transaction *txn = list->data; pay = da_pay_get(txn->kpay); if( pay != NULL ) { if( txn->kcat == 0 ) { txn->kcat = pay->kcat; changes++; } if( txn->paymode == PAYMODE_NONE ) { txn->paymode = pay->paymode; changes++; } } list = g_list_next(list); } return changes; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /* = = experimental = = */ /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /* probably add a structure hosted into a glist here with kind of problem: duplicate, child xfer, orphan xfer and collect all that with target txn */ /*void future_transaction_test_account(Account *acc) { GList *lnk_txn, *list2; gint nball = 0; gint nbdup = 0; gint nbxfer = 0; GPtrArray *array; //future gint gapday = 0, i; //warning the list must be sorted by date then amount //ideally (easier to parse) we shoudl get a list sorted by amount, then date DB( g_print("\n[transaction] check duplicate\n") ); DB( g_print("\n - account:'%s'\n", acc->name) ); GTimer *t = g_timer_new(); g_print(" - start parse\n"); llast = g_list_last(old ope list); DB( g_print("- end last : %f sec\n", g_timer_elapsed(t, NULL)) ); g_timer_reset(t); ltxn = llast->data; g_date_clear(&gd, 1); g_date_set_julian(&gd, ltxn->date); g_print(" - last julian=%u %02d-%02d-%04d\n", ltxn->date, g_date_get_day (&gd), g_date_get_month (&gd), g_date_get_year(&gd)); minjulian = ltxn->date - (366*2); g_date_clear(&gd, 1); g_date_set_julian(&gd, minjulian); g_print(" - min julian=%u %02d-%02d-%04d\n", minjulian, g_date_get_day (&gd), g_date_get_month (&gd), g_date_get_year(&gd)); array = g_ptr_array_sized_new (25); lnk_txn = g_queue_peek_tail_link(acc->txn_queue); while (lnk_txn != NULL) { Transaction *stxn = lnk_txn->data; //if(stxn->date < minjulian) // break; DB( g_print("------\n eval src: %d, '%s', '%s', %2.f\n", stxn->date, stxn->info, stxn->memo, stxn->amount) ); stxn->marker = 0; list2 = g_list_previous(lnk_txn); while (list2 != NULL) { Transaction *dtxn = list2->data; stxn->marker = 0; if( (dtxn->date + gapday) < (stxn->date + gapday) ) break; DB( g_print(" + with dst: %d, '%s', '%s', %2.f\n", dtxn->date, dtxn->info, dtxn->memo, dtxn->amount) ); if( transaction_similar_match(stxn, dtxn, gapday) ) { g_ptr_array_add (array, stxn); g_ptr_array_add (array, dtxn); nbdup++; DB( g_print(" + dst=1 src=1\n") ); } nball++; list2 = g_list_previous(list2); } lnk_txn = g_list_previous(lnk_txn); } DB( g_print(" - end parse : %f sec\n", g_timer_elapsed(t, NULL)) ); DB( g_timer_destroy (t) ); for(i=0;ilen;i++) { Transaction *txn = g_ptr_array_index(array, i); txn->marker = 1; } g_ptr_array_free(array, TRUE); DB( g_print(" - found: %d/%d dup, %d xfer\n", nbdup, nball, nbxfer ) ); } //todo: add a limitation, no need to go through all txn // 1 year in th past, or abolute number ? gint future_transaction_test_notification(void) { GList *lst_acc, *lnk_acc; DB( g_print("\ntransaction_test_notification\n") ); lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; transaction_similar_mark(acc); lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); return 0; } */ homebank-5.3.2/src/list-account.h0000644000175000017500000000262113604720371013577 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __LIST_ACCOUNT__H__ #define __LIST_ACCOUNT__H__ enum { DSPACC_GROUP_BY_TYPE, DSPACC_GROUP_BY_BANK, DSPACC_GROUP_BY_GROUP }; /* lst acc datatype */ enum { DSPACC_TYPE_NORMAL, DSPACC_TYPE_HEADER, DSPACC_TYPE_SUBTOTAL, DSPACC_TYPE_TOTAL }; /* list display account */ enum { LST_DSPACC_DATATYPE, LST_DSPACC_POS, LST_DSPACC_DATAS, NUM_LST_DSPACC }; enum { COL_DSPACC_STATUS, COL_DSPACC_ACCOUNTS, COL_DSPACC_BANK, COL_DSPACC_TODAY, COL_DSPACC_FUTURE, COL_DSPACC_RECONDATE, }; gboolean list_account_level1_expanded(GtkTreeView *treeview, gchar *name); GtkWidget *create_list_account(void); #endif homebank-5.3.2/src/homebank.h0000644000175000017500000002647713606633315013000 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 _HOMEBANK_H_ #define _HOMEBANK_H_ #ifdef HAVE_CONFIG_H #include #endif #include #include #include #include #include /* atoi, atof, atol */ #include /* memset, memcpy, strcmp, strcpy */ //#include #include #include #include #include "enums.h" #include "hb-preferences.h" #include "hb-transaction.h" #include "hb-currency.h" #include "hb-group.h" #include "hb-account.h" #include "hb-archive.h" #include "hb-assign.h" #include "hb-category.h" #include "hb-encoding.h" #include "hb-export.h" #include "hb-filter.h" #include "hb-import.h" #include "hb-misc.h" #include "hb-payee.h" #include "hb-report.h" #include "hb-tag.h" #include "hb-hbfile.h" #include "hb-xml.h" #include "ui-dialogs.h" #include "ui-pref.h" #include "ui-widgets.h" #define _(str) gettext (str) #define gettext_noop(str) (str) #define N_(str) gettext_noop (str) /* = = = = = = = = = = = = = = = = */ /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ #define HB_UNSTABLE FALSE #define HB_UNSTABLE_SHOW FALSE #define HB_VERSION_MAJOR 5 #define HB_VERSION_MINOR 3 #define HB_VERSION_MICRO 2 #define HB_VERSION "5.3.2" #define HB_VERSION_NUM (HB_VERSION_MAJOR*10000) + (HB_VERSION_MINOR*100) + HB_VERSION_MICRO #define FILE_VERSION 1.4 #define PREF_VERSION 532 #if HB_UNSTABLE == FALSE #define PROGNAME "HomeBank" #define HB_DATA_PATH "homebank" #else #define PROGNAME "HomeBank " HB_VERSION " (unstable)" #define HB_DATA_PATH "homebank_unstable" #endif #ifdef G_OS_WIN32 #define GETTEXT_PACKAGE "homebank" #define LOCALE_DIR "locale" #define PIXMAPS_DIR "images" #define HELP_DIR "help" #define PACKAGE_VERSION HB_VERSION #define PACKAGE "homebank" #define VERSION HB_VERSION //#define PORTABLE_APP //#define NOOFX #define ENABLE_NLS 1 #endif /* container spacing */ #define SPACING_TINY 3 #define SPACING_SMALL 6 #define SPACING_MEDIUM 12 #define SPACING_LARGE 18 #define SPACING_POPOVER 10 #define HB_DATE_MAX_GAP 7 // those 2 line are duplicated into dateentry #define HB_MINDATE 693596 //01/01/1900 #define HB_MAXDATE 803533 //31/12/2200 /* widget minimum width */ #define HB_MINWIDTH_LIST 161 #define HB_MINHEIGHT_LIST 260 #define HB_MINWIDTH_SEARCH 240 #define HB_MINWIDTH_COLUMN 48 /* miscellaneous */ #define PHI 1.61803399 #define HB_NUMBER_SAMPLE 1234567.89 /* hbfile/account/import update flags */ enum { UF_TITLE = 1 << 0, //1 UF_SENSITIVE = 1 << 1, //2 UF_BALANCE = 1 << 2, //4 UF_VISUAL = 1 << 3, //8 UF_REFRESHALL = 1 << 4 //16 }; typedef enum { FILETYPE_UNKNOWN, FILETYPE_HOMEBANK, FILETYPE_OFX, FILETYPE_QIF, FILETYPE_CSV_HB, // FILETYPE_AMIGA_HB, NUM_FILETYPE } HbFileType; /* ---- icon size as defined into gtkiconfactory.c ---- */ /* GTK_ICON_SIZE_MENU 16 * GTK_ICON_SIZE_BUTTON 20 * GTK_ICON_SIZE_SMALL_TOOLBAR 18 * GTK_ICON_SIZE_LARGE_TOOLBAR 24 (default for toolbar) * GTK_ICON_SIZE_DND 32 * GTK_ICON_SIZE_DIALOG 48 */ /* -------- named icons (Standard Icon Name) -------- */ //obsolete, as since since gtk3.10 : no more icons for dialogs and menu #define ICONNAME_SAVE_AS "document-save-as" //obsolete #define ICONNAME_REVERT "document-revert" //obsolete #define ICONNAME_PROPERTIES "document-properties" //obsolete #define ICONNAME_CLOSE "window-close" //obsolete #define ICONNAME_QUIT "application-exit" //obsolete #define ICONNAME_HELP "help-browser" //obsolete #define ICONNAME_ABOUT "help-about" //obsolete #define ICONNAME_PREFERENCES "preferences-system" //obsolete //#define ICONNAME_FIND "edit-find" //unused //#define ICONNAME_CLEAR "edit-clear" //unused //#define ICONNAME_HB_SCHED_SKIP "media-skip-forward" //#define ICONNAME_HB_SCHED_POST "media-playback-start" //in 5.2 no themeable icon to keep a consistent iconset #define ICONNAME_WARNING "dialog-warning" #define ICONNAME_ERROR "dialog-error" #define ICONNAME_INFO "dialog-information" #define ICONNAME_FOLDER "folder-symbolic" #define ICONNAME_EMBLEM_OK "emblem-ok-symbolic" #define ICONNAME_EMBLEM_SYSTEM "emblem-system-symbolic" #define ICONNAME_WINDOW_CLOSE "window-close-symbolic" #define ICONNAME_LIST_ADD "list-add-symbolic" #define ICONNAME_LIST_EDIT "document-edit-symbolic" #define ICONNAME_LIST_DELETE "list-remove-symbolic" #define ICONNAME_LIST_DELETE_ALL "list-remove-all-symbolic" #define ICONNAME_CHANGES_PREVENT "changes-prevent-symbolic" #define ICONNAME_SYSTEM_SEARCH "system-search-symbolic" // custom or gnome not found #define ICONNAME_HB_BUTTON_MENU "open-menu-symbolic" #define ICONNAME_HB_BUTTON_COLLAPSE "list-collapse-all-symbolic" #define ICONNAME_HB_BUTTON_EXPAND "list-expand-all-symbolic" #define ICONNAME_HB_BUTTON_SPLIT "edit-split-symbolic" #define ICONNAME_HB_TOGGLE_SIGN "toggle-sign-symbolic" #define ICONNAME_HB_LIST_MERGE "list-merge-symbolic" #define ICONNAME_HB_TEXT_CASE "text-casesensitive-symbolic" #define ICONNAME_HB_TEXT_REGEX "text-regularexpression-symbolic" /* -------- named icons (Custom to homebank) -------- */ #define ICONNAME_HB_CURRENCY "hb-currency" #define ICONNAME_HB_ACCOUNT "hb-account" #define ICONNAME_HB_ARCHIVE "hb-archive" #define ICONNAME_HB_ASSIGN "hb-assign" #define ICONNAME_HB_BUDGET "hb-budget" #define ICONNAME_HB_CATEGORY "hb-category" #define ICONNAME_HB_PAYEE "hb-payee" #define ICONNAME_HB_OPE_SHOW "hb-ope-show" //? "view-register #define ICONNAME_HB_REP_STATS "hb-rep-stats" #define ICONNAME_HB_REP_TIME "hb-rep-time" #define ICONNAME_HB_REP_BALANCE "hb-rep-balance" #define ICONNAME_HB_REP_BUDGET "hb-rep-budget" #define ICONNAME_HB_REP_CAR "hb-rep-vehicle" #define ICONNAME_HB_HELP "hb-help" #define ICONNAME_HB_DONATE "hb-donate" #define ICONNAME_HB_VIEW_LIST "hb-view-list" //"view-list-text" #define ICONNAME_HB_VIEW_BAR "hb-view-bar" //"view-chart-bar" #define ICONNAME_HB_VIEW_COLUMN "hb-view-column" //"view-chart-column" #define ICONNAME_HB_VIEW_LINE "hb-view-line" //"view-chart-line" #define ICONNAME_HB_VIEW_STACK "hb-view-stack" //"view-chart-stack" #define ICONNAME_HB_VIEW_PIE "hb-view-pie" //"view-chart-pie" #define ICONNAME_HB_VIEW_DONUT "hb-view-donut" //"view-chart-donut" #define ICONNAME_HB_SHOW_LEGEND "hb-legend" //"view-legend" #define ICONNAME_HB_SHOW_RATE "hb-rate" // obsolete ? #define ICONNAME_HB_REFRESH "hb-view-refresh" //"view-refresh" #define ICONNAME_HB_FILTER "hb-filter" //"edit-filter" #define ICONNAME_HB_FILE_NEW "hb-document-new" //document-new #define ICONNAME_HB_FILE_OPEN "hb-document-open" //document-open #define ICONNAME_HB_FILE_SAVE "hb-document-save" //document-save //#define ICONNAME_PRINT "document-print" #define ICONNAME_HB_FILE_IMPORT "hb-file-import" //document-import #define ICONNAME_HB_FILE_EXPORT "hb-file-export" //document-export #define ICONNAME_HB_FILE_VALID "hb-file-valid" #define ICONNAME_HB_FILE_INVALID "hb-file-invalid" #define ICONNAME_HB_OPE_AUTO "hb-ope-auto" //? #define ICONNAME_HB_OPE_BUDGET "hb-ope-budget" //? #define ICONNAME_HB_OPE_FORCED "hb-ope-forced" //? #define ICONNAME_HB_OPE_ADD "hb-ope-add" //? "edit-add" #define ICONNAME_HB_OPE_HERIT "hb-ope-herit" //? "edit-clone" #define ICONNAME_HB_OPE_EDIT "hb-ope-edit" // #define ICONNAME_HB_OPE_MULTIEDIT "hb-ope-multiedit" // #define ICONNAME_HB_OPE_DELETE "hb-ope-delete" //? "edit-delete" #define ICONNAME_CONVERT "hb-ope-convert" // obsolete ? #define ICONNAME_HB_ASSIGN_RUN "hb-assign-run" #define ICONNAME_HB_OPE_MOVUP "hb-go-up" #define ICONNAME_HB_OPE_MOVDW "hb-go-down" #define ICONNAME_HB_OPE_NEW "hb-ope-new" // edit is defined above #define ICONNAME_HB_OPE_VOID "hb-ope-void" #define ICONNAME_HB_OPE_REMIND "hb-ope-remind" #define ICONNAME_HB_OPE_SIMILAR "hb-ope-similar" #define ICONNAME_HB_OPE_CLEARED "hb-ope-cleared" #define ICONNAME_HB_OPE_RECONCILED "hb-ope-reconciled" #define ICONNAME_HB_OPE_FUTURE "hb-ope-future" #define ICONNAME_HB_PM_INTXFER "pm-intransfer" /* ** Global application datas */ struct HomeBank { // hbfile storage GHashTable *h_cur; //currencies GHashTable *h_grp; //groups GHashTable *h_acc; //accounts GHashTable *h_pay; //payees GHashTable *h_cat; //categories GHashTable *h_tag; //tags GHashTable *h_rul; //assign rules GHashTable *h_memo; //memo/description GList *arc_list; //archives //#1419304 we keep the deleted txn to a stack trash //GTrashStack *txn_stk; GSList *deltxn_list; // hbfile (saved properties) gchar *owner; gshort auto_smode; gshort auto_weekday; gshort auto_nbdays; guint32 vehicle_category; guint32 kcur; // base currency // hbfile (unsaved properties) guint changes_count; gboolean hbfile_is_new; gboolean hbfile_is_bak; gchar *xhb_filepath; gboolean xhb_hasrevert; //file has backup (*.xhb~) used for revert menu sensitivity guint64 xhb_timemodified; // really global stuffs gboolean first_run; guint32 today; //today's date gint define_off; //>0 when a stat, account window is opened gboolean minor; GtkWidget *mainwindow; //should be global to access attached window data GtkWidget *alltxnwindow; //window to mutex all txn show GtkIconTheme *icontheme; //GdkPixbuf *lst_pixbuf[NUM_LST_PIXBUF]; //gint lst_pixbuf_maxwidth; }; gchar *homebank_filepath_with_extention(gchar *path, gchar *extension); gchar *homebank_filename_without_extention(gchar *path); void homebank_file_ensure_xhb(gchar *filename); void homebank_backup_current_file(void); gboolean homebank_util_url_show (const gchar *url); gchar *homebank_lastopenedfiles_load(void); gboolean homebank_lastopenedfiles_save(void); void homebank_window_set_icon_from_file(GtkWindow *window, gchar *filename); const gchar *homebank_app_get_config_dir (void); const gchar *homebank_app_get_images_dir (void); const gchar *homebank_app_get_pixmaps_dir (void); const gchar *homebank_app_get_locale_dir (void); const gchar *homebank_app_get_help_dir (void); const gchar *homebank_app_get_datas_dir (void); guint32 homebank_app_date_get_julian(void); /* - - - - obsolete things - - - - */ /* typedef struct _budget Budget; struct _budget { guint key; gushort flags; guint cat_key; guint year; gdouble value[13]; }; */ /* struct _investment { guint date; gdouble buy_amount; gdouble curr_amount; gdouble commission; guint number; guint account; gchar *name; gchar *symbol; gchar *note; }; */ #endif homebank-5.3.2/src/hb-group.h0000664000175000017500000000304613604720371012721 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_GROUP_H__ #define __HB_GROUP_H__ typedef struct _group Group; struct _group { guint32 key; //gushort flags; //gushort type; gchar *name; }; /*typedef enum { GRP_TYPE_ACC = 1, //GRP_TYPE_PAY //GRP_TYPE_CAT } HbGroupType; */ void da_grp_free(Group *item); Group *da_grp_malloc(void); void da_grp_destroy(void); void da_grp_new(void); guint da_grp_length(void); gboolean da_grp_create_none(void); gboolean da_grp_remove(guint32 key); gboolean da_grp_insert(Group *item); gboolean da_grp_append(Group *item); guint32 da_grp_get_max_key(void); Group *da_grp_get_by_name(gchar *name); Group *da_grp_get_by_imp_name(gchar *name); Group *da_grp_get(guint32 key); void group_delete_unused(void); GList *group_glist_sorted(gint column); #endifhomebank-5.3.2/src/ui-category.h0000644000175000017500000000611613604720371013425 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_CATEGORY_GTK_H__ #define __HB_CATEGORY_GTK_H__ enum { LST_DEFCAT_TOGGLE, LST_DEFCAT_DATAS, LST_DEFCAT_NAME, NUM_LST_DEFCAT }; #define LST_DEFCAT_SORT_NAME 1 #define LST_DEFCAT_SORT_USED 2 enum { CAT_TYPE_ALL, CAT_TYPE_EXPENSE, CAT_TYPE_INCOME }; enum { LST_CMBCAT_DATAS, LST_CMBCAT_FULLNAME, LST_CMBCAT_SORTNAME, LST_CMBCAT_NAME, LST_CMBCAT_SUBCAT, NUM_LST_CMBCAT }; gchar *ui_cat_comboboxentry_get_name(GtkComboBox *entry_box); guint32 ui_cat_comboboxentry_get_key(GtkComboBox *entry_box); guint32 ui_cat_comboboxentry_get_key_add_new(GtkComboBox *entry_box); Category *ui_cat_comboboxentry_get(GtkComboBox *entry_box); GtkWidget *ui_cat_entry_popover_get_entry(GtkBox *box); Category *ui_cat_entry_popover_get(GtkBox *box); guint32 ui_cat_entry_popover_get_key_add_new(GtkBox *box); guint32 ui_cat_entry_popover_get_key(GtkBox *box); void ui_cat_entry_popover_set_active(GtkBox *box, guint32 key); GtkWidget *ui_cat_entry_popover_new(GtkWidget *label); gboolean ui_cat_comboboxentry_set_active(GtkComboBox *entry_box, guint32 key); void ui_cat_comboboxentry_add(GtkComboBox *entry_box, Category *pay); void ui_cat_comboboxentry_populate(GtkComboBox *entry_box, GHashTable *hash); void ui_cat_comboboxentry_populate_except(GtkComboBox *entry_box, GHashTable *hash, guint except_key); GtkWidget *ui_cat_comboboxentry_new(GtkWidget *label); /* = = = = = = = = = = */ void ui_cat_listview_add(GtkTreeView *treeview, Category *item, GtkTreeIter *parent); Category *ui_cat_listview_get_selected(GtkTreeView *treeview); Category *ui_cat_listview_get_selected_parent(GtkTreeView *treeview, GtkTreeIter *parent); void ui_cat_listview_remove_selected(GtkTreeView *treeview); void ui_cat_listview_populate(GtkWidget *view, gint type); GtkWidget *ui_cat_listview_new(gboolean withtoggle, gboolean withcount); /* = = = = = = = = = = */ struct ui_cat_manage_dialog_data { GList *tmp_list; gint change; GtkWidget *dialog; GtkWidget *LV_cat; GtkWidget *ST_name1, *ST_name2; //GtkWidget *CM_type; GtkWidget *RA_type; GtkWidget *BT_add; GtkWidget *BT_edit; GtkWidget *BT_merge; GtkWidget *BT_delete; GtkWidget *BT_expand; GtkWidget *BT_collapse; GtkWidget *LA_category; }; struct catPopContext { GtkTreeModel *model; guint except_key; gint type; }; GtkWidget *ui_cat_manage_dialog (void); #endif homebank-5.3.2/src/list-operation.h0000644000175000017500000000400213604720371014136 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __LIST_OPERATION__H__ #define __LIST_OPERATION__H__ enum { LIST_TXN_TYPE_BOOK = 0, LIST_TXN_TYPE_DETAIL }; enum { MODEL_TXN_POINTER = 0, MODEL_TXN_SPLITAMT }; struct list_txn_data { GtkWidget *treeview; GtkTreeViewColumn *tvc_balance; gint list_type; gboolean showall; gboolean warnnocategory; gboolean tvc_is_visible; gboolean save_column_width; }; GtkWidget *create_list_transaction(gint type, gboolean *pref_columns); GtkWidget *create_list_import_transaction(gboolean enable_choose); void list_txn_set_warn_nocategory(GtkTreeView *treeview, gboolean warn); gboolean list_txn_column_id_isvisible(GtkTreeView *treeview, gint sort_id); void list_txn_set_column_acc_visible(GtkTreeView *treeview, gboolean visible); Transaction *list_txn_get_surround_transaction(GtkTreeView *treeview, Transaction **prev, Transaction **next); Transaction *list_txn_get_active_transaction(GtkTreeView *treeview); GString *list_txn_to_string(GtkTreeView *treeview, gboolean clipboard); void list_txn_set_save_column_width(GtkTreeView *treeview, gboolean save_column_width); void list_txn_sort_force(GtkTreeSortable *sortable, gpointer user_data); guint list_txn_get_quicksearch_column_mask(GtkTreeView *treeview); #endif homebank-5.3.2/src/hb-misc.h0000644000175000017500000000644613604720371012525 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_MISC__H__ #define __HB_MISC__H__ enum { PRF_DATEFMT_MDY, PRF_DATEFMT_DMY, PRF_DATEFMT_YMD, NUM_PRF_DATEFMT }; double hb_amount_round(const double x, unsigned int n); gdouble hb_amount_base(gdouble value, guint32 kcur); gdouble hb_amount_to_euro(gdouble amount); gboolean hb_amount_type_match(gdouble amount, gint type); gdouble hb_rate(gdouble value, gdouble total); gchar *hb_str_rate(gchar *outstr, gint outlen, gdouble rate); gchar *hb_str_formatd(gchar *outstr, gint outlen, gchar *buf1, Currency *cur, gboolean showsymbol); void hb_strfmon(gchar *outstr, gint outlen, gdouble value, guint32 kcur, gboolean minor); void hb_strfmon_int(gchar *outstr, gint outlen, gdouble value, guint32 kcur, gboolean minor); void hb_strfnum(gchar *outstr, gint outlen, gdouble value, guint32 kcur, gboolean minor); gint hb_filename_type_get_by_extension(gchar *filepath); gchar *hb_filename_new_for_backup(gchar *filename); GPtrArray *hb_filename_backup_list(gchar *filename); gchar *hb_filename_backup_get_filtername(gchar *filename); gchar *hb_filename_new_with_extension(gchar *filename, const gchar *extension); gchar *get_normal_color_amount(gdouble value); gchar *get_minimum_color_amount(gdouble value, gdouble minvalue); void hb_label_set_amount(GtkLabel *label, gdouble value, guint32 kcur, gboolean minor); void hb_label_set_colvalue(GtkLabel *label, gdouble value, guint32 kcur, gboolean minor); //void get_period_minmax(guint month, guint year, guint32 *mindate, guint32 *maxdate); //void get_range_minmax(guint32 refdate, gint range, guint32 *mindate, guint32 *maxdate); gint hb_string_ascii_compare(gchar *s1, gchar *s2); gint hb_string_compare(gchar *s1, gchar *s2); gint hb_string_utf8_strstr(gchar *haystack, gchar *needle, gboolean exact); gint hb_string_utf8_compare(gchar *s1, gchar *s2); gchar *hb_string_dup_raw_amount_clean(const gchar *string, gint digits); void hb_string_strip_utf8_bom(gchar *str); void hb_string_strip_crlf(gchar *str); gboolean hb_string_has_leading_trailing(gchar *str); void hb_string_replace_char(gchar c, gchar *str); gchar *hb_string_copy_jsonpair(gchar *dst, gchar *str); void hb_string_inline(gchar *str); gchar* hb_strdup_nobrackets (const gchar *str); gchar *hb_sprint_date(gchar *outstr, guint32 julian); guint32 hb_date_get_julian(gchar *string, gint datefmt); gboolean hb_string_isdate(gchar *str); gboolean hb_string_isdigit(gchar *str); gboolean hb_string_isprint(gchar *str); void hb_print_date(guint32 jdate, gchar *label); void hex_dump(guchar *ptr, guint length); #endif homebank-5.3.2/src/hb-export.c0000644000175000017500000004363213606651430013105 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hb-export.h" #include "list-operation.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; /* = = = = = = = = = = = = = = = = = = = = */ static void hb_export_qif_elt_txn(GIOChannel *io, Account *acc) { GString *elt; GList *list; GDate *date; char amountbuf[G_ASCII_DTOSTR_BUF_SIZE]; gchar *sbuf; gint count, i; elt = g_string_sized_new(255); date = g_date_new (); list = g_queue_peek_head_link(acc->txn_queue); while (list != NULL) { Transaction *txn = list->data; Payee *payee; Category *cat; g_date_set_julian (date, txn->date); //#1270876 switch(PREFS->dtex_datefmt) { case 0: //"m-d-y" g_string_append_printf (elt, "D%02d/%02d/%04d\n", g_date_get_month(date), g_date_get_day(date), g_date_get_year(date) ); break; case 1: //"d-m-y" g_string_append_printf (elt, "D%02d/%02d/%04d\n", g_date_get_day(date), g_date_get_month(date), g_date_get_year(date) ); break; case 2: //"y-m-d" g_string_append_printf (elt, "D%04d/%02d/%02d\n", g_date_get_year(date), g_date_get_month(date), g_date_get_day(date) ); break; } //g_ascii_dtostr (amountbuf, sizeof (amountbuf), txn->amount); g_ascii_formatd (amountbuf, sizeof (amountbuf), "%.2f", txn->amount); g_string_append_printf (elt, "T%s\n", amountbuf); sbuf = transaction_get_status_string(txn); g_string_append_printf (elt, "C%s\n", sbuf); if( txn->paymode == PAYMODE_CHECK) g_string_append_printf (elt, "N%s\n", txn->info); //Ppayee payee = da_pay_get(txn->kpay); if(payee) g_string_append_printf (elt, "P%s\n", payee->name); // Mmemo g_string_append_printf (elt, "M%s\n", txn->memo); // LCategory of transaction // L[Transfer account name] // LCategory of transaction/Class of transaction // L[Transfer account]/Class of transaction if( (txn->flags & OF_INTXFER) && (txn->kacc == acc->key) ) { //#579260 Account *dstacc = da_acc_get(txn->kxferacc); if(dstacc) g_string_append_printf (elt, "L[%s]\n", dstacc->name); } else { cat = da_cat_get(txn->kcat); if(cat) { g_string_append_printf (elt, "L%s\n", cat->fullname); } } // splits count = da_splits_length(txn->splits); for(i=0;isplits, i); cat = da_cat_get(s->kcat); if(cat) { g_string_append_printf (elt, "S%s\n", cat->fullname); } g_string_append_printf (elt, "E%s\n", s->memo); g_ascii_formatd (amountbuf, sizeof (amountbuf), "%.2f", s->amount); g_string_append_printf (elt, "$%s\n", amountbuf); } g_string_append (elt, "^\n"); list = g_list_next(list); } g_io_channel_write_chars(io, elt->str, -1, NULL, NULL); g_string_free(elt, TRUE); g_date_free(date); } static void hb_export_qif_elt_acc(GIOChannel *io, Account *acc) { GString *elt; gchar *type; elt = g_string_sized_new(255); // account export //#987144 fixed account type switch(acc->type) { case ACC_TYPE_BANK : type = "Bank"; break; case ACC_TYPE_CASH : type = "Cash"; break; case ACC_TYPE_ASSET : type = "Oth A"; break; case ACC_TYPE_CREDITCARD : type = "CCard"; break; case ACC_TYPE_LIABILITY : type = "Oth L"; break; default : type = "Bank"; break; } g_string_assign(elt, "!Account\n"); g_string_append_printf (elt, "N%s\n", acc->name); g_string_append_printf (elt, "T%s\n", type); g_string_append (elt, "^\n"); g_string_append_printf (elt, "!Type:%s\n", type); g_io_channel_write_chars(io, elt->str, -1, NULL, NULL); g_string_free(elt, TRUE); } void hb_export_qif_account_single(gchar *filename, Account *acc) { GIOChannel *io; io = g_io_channel_new_file(filename, "w", NULL); if(io == NULL) { g_message("file error on: %s", filename); //retval = XML_IO_ERROR; } else { hb_export_qif_elt_acc(io, acc); hb_export_qif_elt_txn(io, acc); g_io_channel_unref (io); } } void hb_export_qif_account_all(gchar *filename) { GIOChannel *io; GList *lacc, *list; io = g_io_channel_new_file(filename, "w", NULL); if(io == NULL) { g_message("file error on: %s", filename); //retval = XML_IO_ERROR; } else { //todo: save accounts in order //todo: save transfer transaction once lacc = list = g_hash_table_get_values(GLOBALS->h_acc); while (list != NULL) { Account *item = list->data; hb_export_qif_elt_acc(io, item); hb_export_qif_elt_txn(io, item); list = g_list_next(list); } g_list_free(lacc); g_io_channel_unref (io); } } /* = = = = = = = = beta feature version = = = = = = = = */ //static GtkPrintSettings *settings = NULL; //static GtkPageSetup *page_setup = NULL; static void papersize(PdfPrintContext *ppc) { //GList *list, *item; const gchar *name; GtkPaperSize *ps; DB( g_print("[papersize]\n") ); name = gtk_paper_size_get_default(); DB( g_print("- def paper is %s\n", name) ); ps = gtk_paper_size_new(name); /*GtkPageSetup *new_page_setup; if (settings == NULL) settings = gtk_print_settings_new (); new_page_setup = gtk_print_run_page_setup_dialog (NULL, page_setup, settings); if (page_setup) g_object_unref (page_setup); page_setup = new_page_setup; */ //#if MYDEBUG == 1 gdouble w, h, mt, mb, ml, mr; w = gtk_paper_size_get_width(ps, GTK_UNIT_MM); h = gtk_paper_size_get_height(ps, GTK_UNIT_MM); mt = gtk_paper_size_get_default_top_margin(ps, GTK_UNIT_MM); mr = gtk_paper_size_get_default_right_margin(ps, GTK_UNIT_MM); mb = gtk_paper_size_get_default_bottom_margin(ps, GTK_UNIT_MM); ml = gtk_paper_size_get_default_left_margin(ps, GTK_UNIT_MM); DB( g_print("- name: %s\n", gtk_paper_size_get_display_name(ps)) ); DB( g_print("- w: %f (%f)\n- h: %f (%f)\n", w, w/PANGO_SCALE, h, h/PANGO_SCALE) ); DB( g_print("- margin: %f %f %f %f\n", mt, mr, mb, ml) ); ppc->w = w * 2.83; ppc->h = h * 2.83; ppc->mt = mt * 2.83; ppc->mr = mr * 2.83; ppc->mb = mb * 2.83; ppc->ml = ml * 2.83; //#endif gtk_paper_size_free(ps); /* list all paper size */ /* list = gtk_paper_size_get_paper_sizes (FALSE); item = g_list_first(list); while(item != NULL) { ps = item->data; if(ps != NULL) { g_print("- name: %s\n", gtk_paper_size_get_display_name(ps)); gtk_paper_size_free(ps); } item = g_list_next(item); } g_list_free (list); */ } #define FONT "Helvetica 9px" //#define PDF_MARGIN 24 #define PDF_COL_MARGIN 8 #define PDF_LINE_MARGIN 2 #define PDF_FONT_NORMAL 9 #define PDF_FONT_TITLE 12 #define HELPDRAW 0 #define RULEHINT 1 #define HEX_R(xcol) (((xcol>>24) & 0xFF)/255) #define HEX_G(xcol) (((xcol>>16) & 0xFF)/255) #define HEX_B(xcol) (((xcol>> 8) & 0xFF)/255) #if HELPDRAW == 1 static void hb_pdf_draw_help_rect(cairo_t *cr, gint32 xcol, double x, double y, double w, double h) { cairo_save (cr); cairo_set_line_width(cr, 1.0); cairo_set_source_rgba(cr, HEX_R(xcol), HEX_G(xcol), HEX_B(xcol), 1.0); //alpha is unused for now cairo_rectangle (cr, x, y, w, h); cairo_stroke(cr); cairo_restore(cr); } #endif static void hb_pdf_draw_line(PdfPrintContext *ppc, cairo_t *cr, gdouble y, gboolean bold, gboolean rulehint) { PangoLayout *layout; gint i; gdouble x; /* Create a PangoLayout, set the font and text */ layout = pango_cairo_create_layout (cr); //desc = pango_font_description_from_string (FONT); if(bold) pango_font_description_set_weight(ppc->desc, PANGO_WEIGHT_BOLD); else pango_font_description_set_weight(ppc->desc, PANGO_WEIGHT_NORMAL); pango_layout_set_font_description (layout, ppc->desc); x = ppc->ml; /* rule hint */ #if RULEHINT == 1 if( rulehint ) { cairo_set_source_rgb(cr, 0.9, 0.9, 0.9); cairo_rectangle (cr, x, y, ppc->w - ppc->ml - ppc->mr, PDF_FONT_NORMAL); cairo_fill(cr); } #endif cairo_set_source_rgb(cr, 0.0, 0.0, 0.0); cairo_move_to(cr, x, y); for(i=0;icolumn_txt[i] != NULL) { int width, height; pango_layout_set_text (layout, ppc->column_txt[i], -1); pango_layout_get_size (layout, &width, &height); if( i==1 || i==2 || i==3 ) { pango_layout_set_width(layout, ppc->column_width[i]*PANGO_SCALE); pango_layout_set_ellipsize (layout, PANGO_ELLIPSIZE_END); } //cairo_set_source_rgb(cr, 0.0, 0.0, 0.0); if( i==0 || i==4 || i==6 ) // pad right: date/amount/balance { //if(*ppc->column_txt[i] != '-') //cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 0.66); //grey cairo_move_to(cr, x + ppc->column_width[i] - (width/PANGO_SCALE) , y); } else cairo_move_to(cr, x, y); pango_cairo_show_layout (cr, layout); /* test line */ /*cairo_set_line_width(cr, 1.0); cairo_move_to(cr, x, y + .5); cairo_line_to(cr, x + ppc->column_width[i], y+.5); cairo_stroke(cr); */ } x += ppc->column_width[i] + PDF_COL_MARGIN; } g_object_unref (layout); } static void hb_pdf_set_col_title(PdfPrintContext *ppc) { ppc->column_txt[0] = _("Date"); ppc->column_txt[1] = _("Info"); ppc->column_txt[2] = _("Payee"); ppc->column_txt[3] = _("Memo"); ppc->column_txt[4] = _("Amount"); ppc->column_txt[5] = "C"; ppc->column_txt[6] = _("Balance"); } void hb_export_pdf_listview(GtkTreeView *treeview, gchar *filepath, gchar *accname) { cairo_surface_t *surf; cairo_t *cr; PdfPrintContext ppc; PangoFontDescription *desc; PangoLayout *layout; GtkTreeModel *model; GtkTreeIter iter; gboolean valid; gint i, col; DB( g_print("[gtk-chart] export to pdf\n") ); model = gtk_tree_view_get_model(treeview); papersize(&ppc); //gchar *filename = "/home/max/Desktop/hb-txn-export.pdf"; double width; //=210 * 2.83; double height; //=297 * 2.83; width = ppc.w; height = ppc.h; surf = cairo_pdf_surface_create (filepath, width, height); if( cairo_surface_status(surf) != CAIRO_STATUS_SUCCESS ) //todo: manage error later on return; cr = cairo_create (surf); //cairo_pdf_surface_set_size(surf, width * 2.83, height * 2.83); //g_print("width=%d\n", cairo_image_surface_get_width( surf)); double x1, x2, y1, y2; cairo_clip_extents (cr, &x1, &y1, &x2, &y2); DB( g_print("surface w=%f, h=%f\n", x2 - x1, y2 - y1) ); double pwidth = x2 - x1; /* Create a PangoLayout, set the font and text */ layout = pango_cairo_create_layout (cr); /* get and copy the font from the treeview widget */ gtk_style_context_get(gtk_widget_get_style_context(GTK_WIDGET(treeview)), GTK_STATE_FLAG_NORMAL, "font", &desc, NULL); ppc.desc = pango_font_description_copy(desc); DB( g_print("family: %s\n", pango_font_description_get_family(desc)) ); DB( g_print("size: %d (%d)\n", pango_font_description_get_size (desc), pango_font_description_get_size (desc )/PANGO_SCALE) ); /* header is 1 line for date page number at top, then a title in bold, then 2 empty lines */ gint header_height = PDF_FONT_NORMAL * 2 + PDF_FONT_TITLE; gint nb_lines = gtk_tree_model_iter_n_children(model, NULL); /* should include here the headertitle line */ gint lpp = floor ((height-header_height-ppc.mt-ppc.mb) / (PDF_FONT_NORMAL + PDF_LINE_MARGIN)); gint page, num_pages = (nb_lines - 1) / lpp + 1; DB( g_print("\n - should pdf %d lines, lpp=%d, num_pages=%d\n", nb_lines, lpp, num_pages) ); gint tot_lines = 0; gint cur_page_line = 1; gchar dbuffer[255]; gchar amtbuf[G_ASCII_DTOSTR_BUF_SIZE]; gchar balbuf[G_ASCII_DTOSTR_BUF_SIZE]; GDate *date = g_date_new (); //cairo_set_font_size(cr, PDF_FONT_NORMAL); pango_font_description_set_absolute_size(ppc.desc, PDF_FONT_NORMAL * PANGO_SCALE); pango_layout_set_font_description (layout, ppc.desc); /* reset struct */ hb_pdf_set_col_title(&ppc); for(col=0;coldate); g_date_strftime (dbuffer, 255-1, "%x", date); pango_layout_set_text (layout, dbuffer, -1); pango_layout_get_size (layout, &tw, &th); ppc.column_width[i] = MAX(ppc.column_width[i], tw / PANGO_SCALE); i = 1; if(txn->info != NULL && strlen(txn->info) > 0) { pango_layout_set_text (layout, txn->info, -1); pango_layout_get_size (layout, &tw, &th); ppc.column_width[i] = MAX(ppc.column_width[i], tw / PANGO_SCALE); } i = 4; hb_strfnum(amtbuf, G_ASCII_DTOSTR_BUF_SIZE-1, txn->amount, txn->kcur, GLOBALS->minor); pango_layout_set_text (layout, amtbuf, -1); pango_layout_get_size (layout, &tw, &th); ppc.column_width[i] = MAX(ppc.column_width[i], tw / PANGO_SCALE); i = 5; pango_layout_set_text (layout, "R", -1); pango_layout_get_size (layout, &tw, &th); ppc.column_width[i] = MAX(ppc.column_width[i], tw / PANGO_SCALE); i = 6; hb_strfnum(balbuf, G_ASCII_DTOSTR_BUF_SIZE-1, txn->balance, txn->kcur, GLOBALS->minor); pango_layout_set_text (layout, balbuf, -1); pango_layout_get_size (layout, &tw, &th); ppc.column_width[i] = MAX(ppc.column_width[i], tw / PANGO_SCALE); valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } /* distribute remaining size */ gdouble tmp = pwidth - ppc.ml - ppc.mr - (PDF_COL_MARGIN*PDF_NUMCOL); DB( g_print(" page width=%f, remain width=%f\n", pwidth, tmp) ); tmp -= ppc.column_width[0]; tmp -= ppc.column_width[4]; tmp -= ppc.column_width[5]; tmp -= ppc.column_width[6]; /* info=1/4 payee=1/4 memo=2/4 */ ppc.column_width[1] = tmp / 4;; ppc.column_width[2] = tmp / 4; ppc.column_width[3] = 2*tmp / 4; DB( g_print(" page width=%f, remain width=%f\n", width, tmp) ); #if MYDEBUG == 1 for(i=0;imemo) ); if(cur_page_line == 1) { //helpdraw #if HELPDRAW == 1 //page with margin hb_pdf_draw_help_rect(cr, 0xFF0000FF, ppc.ml+0.5, ppc.mt+0.5, width-(ppc.ml+ppc.mr), height - (ppc.mt+ppc.mb)); hb_pdf_draw_help_rect(cr, 0xFF00FFFF, ppc.ml+0.5, ppc.mt+0.5, width-(ppc.ml+ppc.mr), header_height); #endif cairo_set_source_rgb(cr, 0.0, 0.0, 0.0); // draw account title pango_font_description_set_absolute_size(ppc.desc, PDF_FONT_TITLE * PANGO_SCALE); pango_layout_set_font_description (layout, ppc.desc); pango_layout_set_text (layout, accname, -1); pango_layout_get_pixel_size (layout, &tw, &th); cairo_move_to(cr, pwidth/2 - (tw/2), ppc.mt); pango_cairo_show_layout (cr, layout); // draw column titles pango_font_description_set_absolute_size(ppc.desc, PDF_FONT_NORMAL * PANGO_SCALE); pango_layout_set_font_description (layout, ppc.desc); g_sprintf(dbuffer, "Page %d/%d", page, num_pages); pango_layout_set_text (layout, dbuffer, -1); pango_layout_get_pixel_size (layout, &tw, &th); cairo_move_to(cr, pwidth - ppc.mr - tw, ppc.mt); pango_cairo_show_layout (cr, layout); //x = ppc.ml; y = ppc.mt + header_height - (PDF_FONT_NORMAL + PDF_LINE_MARGIN); hb_pdf_set_col_title(&ppc); hb_pdf_draw_line(&ppc, cr, y, TRUE, FALSE); } /* print a single line */ //x = ppc.ml; y = ppc.mt + header_height + (cur_page_line * (PDF_FONT_NORMAL + PDF_LINE_MARGIN)); /* reset struct */ for(i=0;idate); g_date_strftime (dbuffer, 255-1, "%x", date); ppc.column_txt[i] = dbuffer; i = 1; ppc.column_txt[i] = txn->info; i = 2; Payee *p = da_pay_get(txn->kpay); if(p) ppc.column_txt[i] = p->name; i = 3; /*Category *c = da_cat_get(txn->kcat); if(c) ppc.column_txt[i] = da_cat_get_fullname(c);*/ ppc.column_txt[i] = txn->memo; i = 4; hb_strfnum(amtbuf, G_ASCII_DTOSTR_BUF_SIZE-1, txn->amount, txn->kcur, GLOBALS->minor); ppc.column_txt[i] = amtbuf; i = 5; ppc.column_txt[i] = transaction_get_status_string(txn); i = 6; hb_strfnum(balbuf, G_ASCII_DTOSTR_BUF_SIZE-1, txn->balance, txn->kcur, GLOBALS->minor); ppc.column_txt[i] = balbuf; hb_pdf_draw_line(&ppc, cr, y, FALSE, (cur_page_line % 2)); /* free any fullcat name */ /*if(ppc.column_txt[3] != NULL) g_free(ppc.column_txt[3]);*/ /* export page */ if(cur_page_line >= lpp) { DB( g_print("\n - next page %d\n", page) ); cairo_show_page(cr); cur_page_line = 0; page++; } cur_page_line++; tot_lines++; valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } g_date_free(date); g_object_unref (layout); pango_font_description_free (ppc.desc); cairo_destroy (cr); cairo_surface_destroy (surf); } homebank-5.3.2/src/gtk-chart-progress.c0000644000175000017500000011123313604720365014716 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "gtk-chart-colors.h" #include "gtk-chart-progress.h" #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif #define DYNAMICS 1 #define DBGDRAW_RECT 0 #define DBGDRAW_TEXT 0 #define DBGDRAW_ITEM 0 /* --- prototypes --- */ static void ui_chart_progress_class_init (ChartProgressClass *klass); static void ui_chart_progress_init (ChartProgress *chart); static void ui_chart_progress_destroy (GtkWidget *chart); /*static void ui_chart_progress_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);*/ static gboolean drawarea_configure_event_callback (GtkWidget *widget, GdkEventConfigure *event, gpointer user_data); static gboolean drawarea_draw_callback(GtkWidget *widget, cairo_t *cr, gpointer user_data); static gboolean drawarea_scroll_event_callback( GtkWidget *widget, GdkEventScroll *event, gpointer user_data); static gboolean drawarea_motionnotifyevent_callback(GtkWidget *widget, GdkEventMotion *event, gpointer user_data); static void ui_chart_progress_first_changed( GtkAdjustment *adj, gpointer user_data); static void ui_chart_progress_clear(ChartProgress *chart, gboolean store); static gboolean drawarea_full_redraw(GtkWidget *widget, gpointer user_data); static void ui_chart_progress_queue_redraw(ChartProgress *chart); /* --- variables --- */ static GtkBoxClass *parent_class = NULL; /* --- functions --- */ GType ui_chart_progress_get_type () { static GType ui_chart_progress_type = 0; if (G_UNLIKELY(ui_chart_progress_type == 0)) { const GTypeInfo ui_chart_progress_info = { sizeof (ChartProgressClass), NULL, /* base_init */ NULL, /* base_finalize */ (GClassInitFunc) ui_chart_progress_class_init, NULL, /* class_finalize */ NULL, /* class_init */ sizeof (ChartProgress), 0, /* n_preallocs */ (GInstanceInitFunc) ui_chart_progress_init, NULL /* value_table */ }; ui_chart_progress_type = g_type_register_static (GTK_TYPE_BOX, "ChartProgress", &ui_chart_progress_info, 0); } return ui_chart_progress_type; } static void ui_chart_progress_class_init (ChartProgressClass * class) { //GObjectClass *gobject_class; GtkWidgetClass *widget_class; DB( g_print("\n[chartstack] class_init\n") ); //gobject_class = (GObjectClass*) class; widget_class = (GtkWidgetClass*) class; parent_class = g_type_class_peek_parent (class); //gobject_class->dispose = ui_chart_progress_dispose; //gobject_class->finalize = ui_chart_progress_finalize; //gobject_class->set_property = ui_chart_progress_set_property; //gobject_class->get_property = ui_chart_progress_get_property; widget_class->destroy = ui_chart_progress_destroy; } /* get/set properties goes here */ static void ui_chart_progress_init (ChartProgress * chart) { GtkWidget *widget, *hbox, *frame; DB( g_print("\n[chartstack] init\n") ); chart->surface = NULL; chart->nb_items = 0; chart->active = -1; chart->title = NULL; chart->subtitle = NULL; chart->pfd = NULL; chart->budget_title = "Budget"; chart->result_title = "Result"; chart->barw = GTK_CHARTPROGRESS_BARW; ui_chart_progress_set_color_scheme(chart, CHART_COLMAP_HOMEBANK); widget=GTK_WIDGET(chart); gtk_box_set_homogeneous(GTK_BOX(widget), FALSE); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (widget), hbox, TRUE, TRUE, 0); /* frame & drawing area */ frame = gtk_frame_new(NULL); gtk_frame_set_shadow_type (GTK_FRAME(frame), GTK_SHADOW_ETCHED_IN); gtk_box_pack_start (GTK_BOX (hbox), frame, TRUE, TRUE, 0); chart->drawarea = gtk_drawing_area_new(); //gtk_widget_set_double_buffered (GTK_WIDGET(widget), FALSE); gtk_container_add( GTK_CONTAINER(frame), chart->drawarea ); gtk_widget_set_size_request(chart->drawarea, 150, 150 ); #if DYNAMICS == 1 gtk_widget_set_has_tooltip(chart->drawarea, TRUE); #endif gtk_widget_show(chart->drawarea); /* scrollbar */ chart->adjustment = GTK_ADJUSTMENT(gtk_adjustment_new (0.0, 0.0, 1.0, 1.0, 1.0, 1.0)); chart->scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL,GTK_ADJUSTMENT (chart->adjustment)); gtk_box_pack_start (GTK_BOX (hbox), chart->scrollbar, FALSE, TRUE, 0); g_signal_connect( G_OBJECT(chart->drawarea), "configure-event", G_CALLBACK (drawarea_configure_event_callback), chart); //g_signal_connect( G_OBJECT(chart->drawarea), "realize", G_CALLBACK(drawarea_realize_callback), chart ) ; g_signal_connect( G_OBJECT(chart->drawarea), "draw", G_CALLBACK(drawarea_draw_callback), chart ); #if DYNAMICS == 1 gtk_widget_add_events(GTK_WIDGET(chart->drawarea), GDK_EXPOSURE_MASK | //GDK_POINTER_MOTION_MASK | //GDK_POINTER_MOTION_HINT_MASK | GDK_SCROLL_MASK ); //g_signal_connect( G_OBJECT(chart->drawarea), "query-tooltip", G_CALLBACK(drawarea_querytooltip_callback), chart ); g_signal_connect( G_OBJECT(chart->drawarea), "scroll-event", G_CALLBACK(drawarea_scroll_event_callback), chart ) ; g_signal_connect( G_OBJECT(chart->drawarea), "motion-notify-event", G_CALLBACK(drawarea_motionnotifyevent_callback), chart ); #endif g_signal_connect (G_OBJECT(chart->adjustment), "value-changed", G_CALLBACK (ui_chart_progress_first_changed), chart); /* g_signal_connect( G_OBJECT(chart->drawarea), "leave-notify-event", G_CALLBACK(ui_chart_progress_leave), chart ); g_signal_connect( G_OBJECT(chart->drawarea), "enter-notify-event", G_CALLBACK(ui_chart_progress_enter), chart ); g_signal_connect( G_OBJECT(chart->drawarea), "button-press-event", G_CALLBACK(ui_chart_progress_button_press), chart ); g_signal_connect( G_OBJECT(chart->drawarea), "button-release-event", G_CALLBACK(ui_chart_progress_button_release), chart ); */ } GtkWidget * ui_chart_progress_new (void) { GtkWidget *chart; chart = (GtkWidget *)g_object_new (GTK_TYPE_CHARTPROGRESS, NULL); return chart; } void ui_chart_progress_destroy (GtkWidget * object) { ChartProgress *chart = GTK_CHARTPROGRESS(object); g_return_if_fail (GTK_IS_CHARTPROGRESS (object)); ui_chart_progress_clear(GTK_CHARTPROGRESS (object), FALSE); if(chart->pfd) { pango_font_description_free (chart->pfd); chart->pfd = NULL; } if (chart->surface) { cairo_surface_destroy (chart->surface); chart->surface = NULL; } GTK_WIDGET_CLASS (parent_class)->destroy (object); } /* ** print a integer number */ static gchar *ui_chart_progress_print_int(ChartProgress *chart, gdouble value) { hb_strfmon(chart->buffer, CHART_BUFFER_LENGTH-1, value, chart->kcur, chart->minor); return chart->buffer; } static void ui_chart_progress_clear(ChartProgress *chart, gboolean store) { gint i; DB( g_print("\n[chartstack] clear\n") ); //free & clear any previous allocated datas if(chart->title != NULL) { g_free(chart->title); chart->title = NULL; } if(chart->subtitle != NULL) { g_free(chart->subtitle); chart->subtitle = NULL; } if(chart->items != NULL) { for(i=0;inb_items;i++) { StackItem *item = &g_array_index(chart->items, StackItem, i); g_free(item->label); //we free label as it comes from a model_get into setup_with_model g_free(item->status); //we free status as it comes from a model_get into setup_with_model } g_array_free(chart->items, TRUE); chart->items = NULL; } chart->nb_items = 0; } static void ui_chart_progress_setup_with_model(ChartProgress *chart, GtkTreeModel *list_store, gchar *coltitle1, gchar *coltitle2) { guint i; gboolean valid; GtkTreeIter iter; DB( g_print("\n[chartstack] setup with model\n") ); ui_chart_progress_clear(chart, TRUE); chart->nb_items = gtk_tree_model_iter_n_children(GTK_TREE_MODEL(list_store), NULL); chart->items = g_array_sized_new(FALSE, FALSE, sizeof(StackItem), chart->nb_items); DB( g_print(" nb=%d\n", chart->nb_items) ); if(coltitle1) chart->budget_title = coltitle1; if(coltitle2) chart->result_title = coltitle2; /* Get the first iter in the list */ valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL(list_store), &iter); i = 0; while (valid) { gint id; gchar *label, *status; gdouble value1, value2; StackItem item; gtk_tree_model_get (GTK_TREE_MODEL(list_store), &iter, 0, &id, //1, &pos, 2, &label, 3, &value1, //spent 4, &value2, //budget //5, &result, 6, &status, -1); item.label = label; item.spent = value1; item.budget = value2; item.status = status; /* additional pre-compute */ item.result = item.spent - item.budget; item.rawrate = 0; if(ABS(item.budget) > 0) { item.rawrate = item.spent / item.budget; } item.warn = item.result < 0.0 ? TRUE : FALSE; item.rate = CLAMP(item.rawrate, 0, 1.0); g_array_append_vals(chart->items, &item, 1); //don't g_free(label); here done into chart_clear //don't g_free(status); here done into chart_clear i++; valid = gtk_tree_model_iter_next (list_store, &iter); } } static void ui_chart_progress_set_font_size(ChartProgress *chart, gint font_size) { gint size = 10; if( chart->pfd == NULL ) return; DB( g_print("\n[chartstack] set font size\n") ); switch(font_size) { case CHART_FONT_SIZE_TITLE: size = chart->pfd_size + 3; break; case CHART_FONT_SIZE_SUBTITLE: size = chart->pfd_size + 1; break; case CHART_FONT_SIZE_NORMAL: size = chart->pfd_size - 1; break; } DB( g_print(" size=%d\n", size) ); pango_font_description_set_size(chart->pfd, size * PANGO_SCALE); } static void ui_chart_progress_calculation(ChartProgress *chart) { GtkWidget *drawarea = chart->drawarea; cairo_surface_t *surf; cairo_t *cr; gint blkw; gint i; int tw, th; gchar *valstr; GtkAllocation allocation; PangoLayout *layout; DB( g_print("\n[chartstack] bar calculation\n") ); gtk_widget_get_allocation(drawarea, &allocation); chart->l = CHART_MARGIN; chart->t = CHART_MARGIN; chart->r = allocation.width - CHART_MARGIN; chart->b = allocation.height - CHART_MARGIN; chart->w = allocation.width - (CHART_MARGIN*2); chart->h = allocation.height - (CHART_MARGIN*2); //todo: seems not working well... surf = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, allocation.width, allocation.height); cr = cairo_create (surf); /* Create a PangoLayout, set the font and text */ layout = pango_cairo_create_layout (cr); // compute title chart->title_zh = 0; if(chart->title) { //pango_font_description_set_size(chart->pfd, CHART_FONT_SIZE_TITLE * PANGO_SCALE); ui_chart_progress_set_font_size(chart, CHART_FONT_SIZE_TITLE); pango_layout_set_font_description (layout, chart->pfd); pango_layout_set_text (layout, chart->title, -1); pango_layout_get_size (layout, &tw, &th); chart->title_zh = (th / PANGO_SCALE) + CHART_SPACING; DB( g_print(" - title: %s w=%d h=%d\n", chart->title, tw, th) ); } // compute period chart->subtitle_zh = 0; if(chart->subtitle) { //pango_font_description_set_size(chart->pfd, CHART_FONT_SIZE_PERIOD * PANGO_SCALE); ui_chart_progress_set_font_size(chart, CHART_FONT_SIZE_SUBTITLE); pango_layout_set_font_description (layout, chart->pfd); pango_layout_set_text (layout, chart->subtitle, -1); pango_layout_get_size (layout, &tw, &th); chart->subtitle_zh = (th / PANGO_SCALE) + CHART_SPACING; DB( g_print(" - period: %s w=%d h=%d\n", chart->subtitle, tw, th) ); } // compute other text //pango_font_description_set_size(chart->pfd, CHART_FONT_SIZE_NORMAL * PANGO_SCALE); ui_chart_progress_set_font_size(chart, CHART_FONT_SIZE_NORMAL); pango_layout_set_font_description (layout, chart->pfd); double title_w = 0; chart->bud_col_w = 0; chart->rel_col_w = 0; gdouble maxbudget = 0; gdouble maxresult = 0; gdouble result; for(i=0;inb_items;i++) { StackItem *item = &g_array_index(chart->items, StackItem, i); // category width if( item->label != NULL ) { pango_layout_set_text (layout, item->label, -1); pango_layout_get_size (layout, &tw, &th); title_w = MAX(title_w, (tw / PANGO_SCALE)); } DB( g_print(" - calc '%s' title_w=%f (w=%d)\n", item->label, title_w, tw) ); //result = ABS(chart->spent[i]) - ABS(chart->budget[i]); result = ABS(item->spent - item->budget); maxbudget = MAX(maxbudget, ABS(item->budget) ); maxresult = MAX(maxresult, result); DB( g_print(" - maxbudget maxbudget=%f (w=%d)\n", maxbudget, tw) ); if( item->status != NULL ) { pango_layout_set_text (layout, item->status, -1); pango_layout_get_size (layout, &tw, &th); chart->rel_col_w = MAX(chart->rel_col_w, (tw / PANGO_SCALE)); } } chart->rel_col_w += CHART_SPACING; // compute budget/result width valstr = ui_chart_progress_print_int(chart, -maxbudget); pango_layout_set_text (layout, valstr, -1); pango_layout_get_size (layout, &tw, &th); chart->bud_col_w = (tw / PANGO_SCALE); pango_layout_set_text (layout, chart->budget_title, -1); pango_layout_get_size (layout, &tw, &th); chart->bud_col_w = MAX(chart->bud_col_w, (tw / PANGO_SCALE)); DB( g_print(" - budget-col: w=%f, %.2f, '%s'\n", chart->bud_col_w, maxbudget, valstr) ); valstr = ui_chart_progress_print_int(chart, -maxresult); pango_layout_set_text (layout, valstr, -1); pango_layout_get_size (layout, &tw, &th); chart->res_col_w = (tw / PANGO_SCALE); pango_layout_set_text (layout, chart->result_title, -1); pango_layout_get_size (layout, &tw, &th); chart->res_col_w = MAX(chart->res_col_w, (tw / PANGO_SCALE)); DB( g_print(" - result-col: w=%f, %.2f, '%s'\n", chart->res_col_w, maxresult, valstr) ); // collect other width, add margins chart->header_zh = (th / PANGO_SCALE) + CHART_SPACING; chart->cat_col_w = title_w + CHART_SPACING; //chart->title_y = chart->t; chart->subtitle_y = chart->t + chart->title_zh; chart->header_y = chart->subtitle_y + chart->subtitle_zh; chart->graph_width = chart->w - chart->cat_col_w - chart->bud_col_w - chart->res_col_w - chart->rel_col_w - (double)(CHART_SPACING*4); chart->graph_height = chart->h - chart->title_zh - chart->subtitle_zh -chart->header_zh; DB( g_print("gfx_w = %.2f - %.2f - %.2f - %.2f - %.2f \n", chart->w , chart->cat_col_w , chart->bud_col_w , chart->res_col_w , (double)(CHART_SPACING*4)) ); DB( g_print("gfx_w = %.2f\n", chart->graph_width) ); //if expand : we compute available space //chart->barw = MAX(32, (chart->graph_width)/chart->nb_items); //chart->barw = 32; // usr setted or defaut to BARW blkw = chart->barw + floor(chart->barw * 0.2); chart->blkw = blkw; chart->visible = (chart->graph_height - chart->t) / blkw; chart->visible = MIN(chart->visible, chart->nb_items); g_object_unref (layout); cairo_destroy(cr); cairo_surface_destroy(surf); } #if (DBGDRAW_RECT + DBGDRAW_TEXT + DBGDRAW_ITEM) > 0 static void ui_chart_progress_draw_help(GtkWidget *widget, gpointer user_data) { ChartProgress *chart = GTK_CHARTPROGRESS(user_data); cairo_t *cr; double x, y, y2; gint first = 0; gint i; DB( g_print("\n[chartstack] draw help\n") ); //cr = gdk_cairo_create (gtk_widget_get_window(widget)); cr = cairo_create (chart->surface); cairo_set_line_width (cr, 1); #if DBGDRAW_RECT == 1 //clip area cairo_set_line_width(cr, 1.0); cairo_set_source_rgb(cr, 0.0, 1.0, 0.0); //green cairo_rectangle(cr, chart->l+0.5, chart->t+0.5, chart->w, chart->h); cairo_stroke(cr); //graph area y = chart->header_y + chart->header_zh; cairo_set_source_rgb(cr, 1.0, 0.5, 0.0); //orange cairo_rectangle(cr, chart->l+chart->cat_col_w+0.5, y+0.5, chart->graph_width+0.5, chart->graph_height+0.5); cairo_stroke(cr); #endif #if DBGDRAW_TEXT == 1 //title rect cairo_set_source_rgb(cr, .0, .0, 1.0); cairo_rectangle(cr, chart->l+0.5, chart->t+0.5, chart->w, chart->title_zh); cairo_stroke(cr); //period rect cairo_set_source_rgb(cr, .0, 0, 1.0); cairo_rectangle(cr, chart->l+0.5, chart->subtitle_y+0.5, chart->w, chart->subtitle_zh); cairo_stroke(cr); //header rect cairo_set_source_rgb(cr, .0, 1.0, 1.0); cairo_rectangle(cr, chart->l+0.5, chart->header_y+0.5, chart->w, chart->header_zh); cairo_stroke(cr); //category column y = chart->t + chart->title_zh + chart->header_zh + chart->subtitle_zh; cairo_set_source_rgb(cr, 0.0, 0.0, 1.0); //blue cairo_rectangle(cr, chart->l+0.5, y+0.5, chart->cat_col_w, chart->h - y); cairo_stroke(cr); //budget column x = chart->l + chart->cat_col_w + chart->graph_width + CHART_SPACING ; cairo_set_source_rgb(cr, 0.0, 0.0, 1.0); //blue cairo_rectangle(cr, x+0.5, y+0.5, chart->bud_col_w, chart->h - y); cairo_stroke(cr); //result column x = chart->l + chart->cat_col_w + chart->graph_width + chart->bud_col_w + (CHART_SPACING*3); cairo_set_source_rgb(cr, 0.0, 0.0, 1.0); //blue cairo_rectangle(cr, x+0.5, y+0.5, chart->res_col_w, chart->h - y); cairo_stroke(cr); #endif // draw item lines #if DBGDRAW_ITEM == 1 y2 = y+0.5; cairo_set_line_width(cr, 1.0); double dashlength; dashlength = 4; cairo_set_dash (cr, &dashlength, 1, 0); cairo_set_source_rgb(cr, 1.0, 0.0, 1.0); // violet for(i=first; i<=(first+chart->visible) ;i++) { cairo_move_to(cr, chart->l, y2); cairo_line_to(cr, chart->r, y2); y2 += chart->blkw; } cairo_stroke(cr); #endif cairo_destroy(cr); } #endif /* ** draw all visible bars */ static void ui_chart_progress_draw_bars(ChartProgress *chart, cairo_t *cr) { double x, y, x2, y2, h; gint first; gint i, idx; gchar *valstr; PangoLayout *layout; int tw, th; DB( g_print("\n[chartstack] bar draw bars\n") ); layout = pango_cairo_create_layout (cr); x = chart->l + chart->cat_col_w; y = chart->t + chart->title_zh + chart->header_zh + chart->subtitle_zh; first = (gint)gtk_adjustment_get_value(GTK_ADJUSTMENT(chart->adjustment)); // draw title if(chart->title) { //pango_font_description_set_size(chart->pfd, CHART_FONT_SIZE_TITLE * PANGO_SCALE); ui_chart_progress_set_font_size(chart, CHART_FONT_SIZE_TITLE); pango_layout_set_font_description (layout, chart->pfd); pango_layout_set_text (layout, chart->title, -1); pango_layout_get_size (layout, &tw, &th); cairo_user_set_rgbcol(cr, &global_colors[THTEXT]); cairo_move_to(cr, chart->l, chart->t); pango_cairo_show_layout (cr, layout); } // draw period if(chart->subtitle) { //pango_font_description_set_size(chart->pfd, CHART_FONT_SIZE_PERIOD * PANGO_SCALE); ui_chart_progress_set_font_size(chart, CHART_FONT_SIZE_SUBTITLE); pango_layout_set_font_description (layout, chart->pfd); pango_layout_set_text (layout, chart->subtitle, -1); pango_layout_get_size (layout, &tw, &th); cairo_user_set_rgbcol(cr, &global_colors[THTEXT]); cairo_move_to(cr, chart->l, chart->subtitle_y); pango_cairo_show_layout (cr, layout); } // draw column title //cairo_user_set_rgbcol(cr, &global_colors[BLACK]); cairo_user_set_rgbacol (cr, &global_colors[THTEXT], 0.78); //pango_font_description_set_size(chart->pfd, CHART_FONT_SIZE_NORMAL * PANGO_SCALE); ui_chart_progress_set_font_size(chart, CHART_FONT_SIZE_NORMAL); pango_layout_set_font_description (layout, chart->pfd); pango_layout_set_text (layout, chart->budget_title, -1); pango_layout_get_size (layout, &tw, &th); cairo_move_to(cr, chart->l + chart->cat_col_w + chart->graph_width + chart->bud_col_w + CHART_SPACING - (tw /PANGO_SCALE), chart->header_y); pango_cairo_show_layout (cr, layout); pango_layout_set_text (layout, chart->result_title, -1); pango_layout_get_size (layout, &tw, &th); cairo_move_to(cr, chart->l + chart->cat_col_w + chart->graph_width + chart->bud_col_w + chart->res_col_w - (tw /PANGO_SCALE) + (CHART_SPACING*3), chart->header_y); pango_cairo_show_layout (cr, layout); // draw items //pango_font_description_set_size(chart->pfd, CHART_FONT_SIZE_NORMAL * PANGO_SCALE); ui_chart_progress_set_font_size(chart, CHART_FONT_SIZE_NORMAL); pango_layout_set_font_description (layout, chart->pfd); for(i=0; ivisible ;i++) { StackItem *item; gint barw = chart->barw; gint blkw = chart->blkw; idx = i + first; item = &g_array_index(chart->items, StackItem, idx); x2 = x; y2 = y + (CHART_SPACING/2) + (blkw * i); DB( g_print("'%-32s' wrn=%d %.2f%% (%.2f%%) :: r=% 4.2f s=% 4.2f b=% 4.2f\n", item->label, item->warn, item->rawrate, item->rate, item->result, item->spent, item->budget) ); valstr = item->label; pango_layout_set_text (layout, valstr, -1); pango_layout_get_size (layout, &tw, &th); double ytext = y2 + ((barw - (th / PANGO_SCALE))/2); //cairo_user_set_rgbcol(cr, &global_colors[BLACK]); cairo_user_set_rgbacol (cr, &global_colors[THTEXT], 0.78); cairo_move_to(cr, chart->l + chart->cat_col_w - (tw / PANGO_SCALE) - CHART_SPACING, ytext); pango_cairo_show_layout (cr, layout); // bar background cairo_user_set_rgbacol(cr, &global_colors[THTEXT], 0.15); cairo_rectangle(cr, x2, y2, chart->graph_width, barw); cairo_fill(cr); //bar with color :: todo migrate this h = floor(item->rate * chart->graph_width); if(item->warn) { cairo_user_set_rgbcol_over(cr, &chart->color_scheme.colors[chart->color_scheme.cs_red], idx == chart->active); } else { if(item->rate > 0.8 && item->rate < 1.0) cairo_user_set_rgbcol_over(cr, &chart->color_scheme.colors[chart->color_scheme.cs_orange], idx == chart->active); else cairo_user_set_rgbcol_over(cr, &chart->color_scheme.colors[chart->color_scheme.cs_green], idx == chart->active); } cairo_rectangle(cr, x2, y2, h, barw); cairo_fill(cr); // spent value if( item->result != 0) { valstr = ui_chart_progress_print_int(chart, item->spent); pango_layout_set_text (layout, valstr, -1); pango_layout_get_size (layout, &tw, &th); if( h >= ( (tw / PANGO_SCALE) + (CHART_SPACING*2)) ) { // draw inside cairo_user_set_rgbcol(cr, &global_colors[WHITE]); //cairo_user_set_rgbcol (cr, &global_colors[THBASE]); cairo_move_to(cr, x2 + h - (tw / PANGO_SCALE) - CHART_SPACING, ytext); } else { // draw outside //cairo_user_set_rgbcol(cr, &global_colors[TEXT]); cairo_user_set_rgbacol (cr, &global_colors[THTEXT], 0.78); cairo_move_to(cr, x2 + h + CHART_SPACING, ytext); } pango_cairo_show_layout (cr, layout); } // budget value valstr = ui_chart_progress_print_int(chart, item->budget); pango_layout_set_text (layout, valstr, -1); pango_layout_get_size (layout, &tw, &th); //cairo_user_set_rgbcol(cr, &global_colors[BLACK]); cairo_user_set_rgbacol (cr, &global_colors[THTEXT], 0.78); cairo_move_to(cr, chart->l + chart->cat_col_w + chart->graph_width + chart->bud_col_w + CHART_SPACING - (tw / PANGO_SCALE), ytext); pango_cairo_show_layout (cr, layout); // result value if( item->result != 0) { valstr = ui_chart_progress_print_int(chart, item->result); if(item->warn) //cairo_set_source_rgb(cr, COLTOCAIRO(164), COLTOCAIRO(0), COLTOCAIRO(0)); cairo_user_set_rgbcol(cr, &chart->color_scheme.colors[chart->color_scheme.cs_red]); else //cairo_user_set_rgbcol(cr, &global_colors[TEXT]); cairo_user_set_rgbacol (cr, &global_colors[THTEXT], 0.78); pango_layout_set_text (layout, valstr, -1); pango_layout_get_size (layout, &tw, &th); cairo_move_to(cr, chart->l + chart->cat_col_w + chart->graph_width + chart->bud_col_w + chart->res_col_w - (tw / PANGO_SCALE) + (CHART_SPACING*3), ytext); pango_cairo_show_layout (cr, layout); // status if( item->status ) { pango_layout_set_text (layout, item->status, -1); pango_layout_get_size (layout, &tw, &th); cairo_move_to(cr, chart->l + chart->cat_col_w + chart->graph_width + chart->bud_col_w + chart->res_col_w + (CHART_SPACING*4), ytext); pango_cairo_show_layout (cr, layout); } } //y += blkw; } g_object_unref (layout); } /* ** get the bar under the mouse pointer */ static gint ui_chart_progress_get_active(GtkWidget *widget, gint x, gint y, gpointer user_data) { ChartProgress *chart = GTK_CHARTPROGRESS(user_data); gint retval, first, index, py; gint blkw = chart->blkw; double oy; DB( g_print("\n[chartstack] get active\n") ); retval = -1; oy = chart->t + chart->title_zh + chart->header_zh + chart->subtitle_zh; //DB( g_print(" y=%d, oy=%f, cb=%f\n", y, oy, chart->b) ); if( (y <= chart->b && y >= oy) && (x >= chart->l && x <= chart->r) ) { first = gtk_adjustment_get_value(GTK_ADJUSTMENT(chart->adjustment)); py = (y - oy); index = first + (py / blkw); if(index < chart->nb_items) retval = index; DB( g_print(" hover=%d\n", retval) ); } return(retval); } static void ui_chart_progress_first_changed( GtkAdjustment *adj, gpointer user_data) { ChartProgress *chart = GTK_CHARTPROGRESS(user_data); //gint first; DB( g_print("\n[chartstack] bar first changed\n") ); //first = gtk_adjustment_get_value(GTK_ADJUSTMENT(adj)); //DB( g_print(" first=%d\n", first) ); /* DB( g_print("scrollbar\n adj=%8x, low=%.2f upp=%.2f val=%.2f step=%.2f page=%.2f size=%.2f\n", adj, adj->lower, adj->upper, adj->value, adj->step_increment, adj->page_increment, adj->page_size) ); */ /* Set the number of decimal places to which adj->value is rounded */ //gtk_scale_set_digits (GTK_SCALE (hscale), (gint) adj->value); //gtk_scale_set_digits (GTK_SCALE (vscale), (gint) adj->value); drawarea_full_redraw (chart->drawarea, chart); gtk_widget_queue_draw(chart->drawarea); } /* ** scrollbar set values for upper, page size, and also show/hide */ static void ui_chart_progress_scrollbar_setvalues(ChartProgress *chart) { GtkAdjustment *adj = chart->adjustment; gint first; g_return_if_fail (GTK_IS_ADJUSTMENT (adj)); DB( g_print("\n[chartstack] sb_set_values\n") ); //if(visible < entries) //{ first = gtk_adjustment_get_value(GTK_ADJUSTMENT(adj)); DB( g_print(" entries=%d, visible=%d\n", chart->nb_items, chart->visible) ); DB( g_print(" first=%d, upper=%d, pagesize=%d\n", first, chart->nb_items, chart->visible) ); gtk_adjustment_set_upper(adj, (gdouble)chart->nb_items); gtk_adjustment_set_page_size(adj, (gdouble)chart->visible); gtk_adjustment_set_page_increment(adj, (gdouble)chart->visible); if(first+chart->visible > chart->nb_items) { gtk_adjustment_set_value(adj, (gdouble)chart->nb_items - chart->visible); } #if( (GTK_MAJOR_VERSION == 3) && (GTK_MINOR_VERSION < 18) ) gtk_adjustment_changed (adj); #endif //gtk_widget_show(GTK_WIDGET(scrollbar)); //} //else //gtk_widget_hide(GTK_WIDGET(scrollbar)); } static void ui_chart_progress_recompute(ChartProgress *chart) { DB( g_print("\n[chartstack] recompute\n") ); ui_chart_progress_calculation(chart); gtk_adjustment_set_value(chart->adjustment, 0); ui_chart_progress_scrollbar_setvalues(chart); gtk_widget_show(chart->scrollbar); gtk_widget_queue_draw( chart->drawarea ); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static gboolean drawarea_full_redraw(GtkWidget *widget, gpointer user_data) { ChartProgress *chart = GTK_CHARTPROGRESS(user_data); cairo_t *cr; DB( g_print("\n[gtkchart] drawarea full redraw\n") ); cr = cairo_create (chart->surface); /* fillin the back in white */ //cairo_user_set_rgbcol(cr, &global_colors[WHITE]); cairo_user_set_rgbcol(cr, &global_colors[THBASE]); cairo_paint(cr); if(chart->nb_items == 0) { cairo_destroy(cr); return FALSE; } cairo_rectangle(cr, chart->l, chart->t, chart->w, chart->h); cairo_clip(cr); #if (DBGDRAW_RECT + DBGDRAW_TEXT + DBGDRAW_ITEM) > 0 ui_chart_progress_draw_help(widget, user_data); #endif ui_chart_progress_draw_bars(chart, cr); cairo_destroy(cr); return TRUE; } static gboolean drawarea_configure_event_callback (GtkWidget *widget, GdkEventConfigure *event, gpointer user_data) { ChartProgress *chart = GTK_CHARTPROGRESS(user_data); GtkAllocation allocation; GtkStyleContext *context; PangoFontDescription *desc; gboolean colfound; GdkRGBA color; DB( g_print("\n[chartstack] drawarea configure \n") ); DB( g_print("w=%d h=%d\n", allocation.width, allocation.height) ); gtk_widget_get_allocation (widget, &allocation); if (chart->surface) cairo_surface_destroy (chart->surface); chart->surface = gdk_window_create_similar_surface (gtk_widget_get_window (widget), CAIRO_CONTENT_COLOR, allocation.width, allocation.height); context = gtk_widget_get_style_context (widget); chart_color_global_default(); // get base color colfound = gtk_style_context_lookup_color(context, "theme_base_color", &color); if(!colfound) colfound = gtk_style_context_lookup_color(context, "base_color", &color); if( colfound ) { struct rgbcol *tcol = &global_colors[THBASE]; tcol->r = color.red * 255; tcol->g = color.green * 255; tcol->b = color.blue * 255; DB( g_print(" - theme base col: %x %x %x\n", tcol->r, tcol->g, tcol->b) ); } //get text color colfound = gtk_style_context_lookup_color(context, "theme_text_color", &color); if(!colfound) gtk_style_context_lookup_color(context, "text_color", &color); if( colfound ) { struct rgbcol *tcol = &global_colors[THTEXT]; tcol->r = color.red * 255; tcol->g = color.green * 255; tcol->b = color.blue * 255; DB( g_print(" - theme text (bg) col: %x %x %x\n", tcol->r, tcol->g, tcol->b) ); } /* get and copy the font */ gtk_style_context_get(context, GTK_STATE_FLAG_NORMAL, "font", &desc, NULL); if(chart->pfd) { pango_font_description_free (chart->pfd); chart->pfd = NULL; } chart->pfd = pango_font_description_copy(desc); chart->pfd_size = pango_font_description_get_size (desc) / PANGO_SCALE; chart->barw = (6 + chart->pfd_size) * PHI; //leak: we should free desc here ? //or no need to copy above ? //pango_font_description_free(desc); DB( g_print("family: %s\n", pango_font_description_get_family(chart->pfd) ) ); DB( g_print("size : %d (%d)\n", chart->pfd_size, chart->pfd_size/PANGO_SCALE ) ); DB( g_print("isabs : %d\n", pango_font_description_get_size_is_absolute (chart->pfd) ) ); if( gtk_widget_get_realized(widget) ) { ui_chart_progress_recompute(chart); drawarea_full_redraw(widget, user_data); } /* We've handled the configure event, no need for further processing. */ return TRUE; } static gboolean drawarea_draw_callback(GtkWidget *widget, cairo_t *cr, gpointer user_data) { ChartProgress *chart = GTK_CHARTPROGRESS(user_data); if( !gtk_widget_get_realized(widget) || chart->surface == NULL ) return FALSE; //DB( g_print("\n[chartstack] drawarea draw cb\n") ); cairo_set_source_surface (cr, chart->surface, 0, 0); cairo_paint (cr); /* always redraw directly the active block */ gint first; double ox, oy; first = (gint)gtk_adjustment_get_value(GTK_ADJUSTMENT(chart->adjustment)); ox = chart->l + chart->cat_col_w; oy = chart->t + chart->title_zh + chart->header_zh + chart->subtitle_zh; if(chart->active != -1) { DB( g_print(" draw active\n") ); cairo_rectangle(cr, chart->l, chart->t, chart->w, chart->h); cairo_clip(cr); oy += CHART_SPACING/2 + (chart->active - first) * chart->blkw; //cairo_user_set_rgbacol (cr, &global_colors[THTEXT], 0.78); cairo_user_set_rgbacol(cr, &global_colors[WHITE], OVER_ALPHA); //cairo_move_to(cr, chart->l, chart->t); cairo_rectangle(cr, ox, oy, chart->graph_width, chart->barw); cairo_fill(cr); } return FALSE; } static gboolean drawarea_motionnotifyevent_callback(GtkWidget *widget, GdkEventMotion *event, gpointer user_data) { ChartProgress *chart = GTK_CHARTPROGRESS(user_data); gint x, y; if(chart->surface == NULL || chart->nb_items == 0) return FALSE; DB( g_print("\n[chartstack] drawarea motion cb\n") ); x = event->x; y = event->y; //todo see this if(event->is_hint) { //DB( g_print(" is hint\n") ); gdk_window_get_device_position(event->window, event->device, &x, &y, NULL); //gdk_window_get_pointer(event->window, &x, &y, NULL); //return FALSE; } chart->active = ui_chart_progress_get_active(widget, x, y, chart); // rollover redraw ? DB( g_print(" %d, %d :: active: last=%d, curr=%d\n", x, y, chart->lastactive, chart->active) ); if(chart->lastactive != chart->active) { GdkRectangle update_rect; gint first; double oy; DB( g_print(" motion rollover redraw :: active=%d\n", chart->active) ); first = (gint)gtk_adjustment_get_value(GTK_ADJUSTMENT(chart->adjustment)); oy = chart->t + chart->title_zh + chart->header_zh + chart->subtitle_zh; if(chart->lastactive != -1) { update_rect.x = chart->l; update_rect.y = oy + (chart->lastactive - first) * chart->blkw; update_rect.width = chart->r; update_rect.height = chart->blkw; /* Now invalidate the affected region of the drawing area. */ gdk_window_invalidate_rect (gtk_widget_get_window (widget), &update_rect, FALSE); } update_rect.x = chart->l; update_rect.y = oy + (chart->active - first) * chart->blkw; update_rect.width = chart->r; update_rect.height = chart->blkw; /* Now invalidate the affected region of the drawing area. */ gdk_window_invalidate_rect (gtk_widget_get_window (widget), &update_rect, FALSE); //gtk_widget_queue_draw( widget ); //retval = FALSE; } chart->lastactive = chart->active; return TRUE; } static gboolean drawarea_scroll_event_callback( GtkWidget *widget, GdkEventScroll *event, gpointer user_data) { ChartProgress *chart = GTK_CHARTPROGRESS(user_data); GtkAdjustment *adj = chart->adjustment; gdouble first, upper, pagesize; DB( g_print("\n[chartstack] scroll\n") ); first = gtk_adjustment_get_value(GTK_ADJUSTMENT(adj)); //lower = gtk_adjustment_get_lower(GTK_ADJUSTMENT(adj)); upper = gtk_adjustment_get_upper(GTK_ADJUSTMENT(adj)); pagesize = gtk_adjustment_get_page_size(GTK_ADJUSTMENT(adj)); DB( g_print("- pos is %.2f, [%.2f - %.2f]\n", first, 0.0, upper) ); switch(event->direction) { case GDK_SCROLL_UP: gtk_adjustment_set_value(adj, first - 1); break; case GDK_SCROLL_DOWN: gtk_adjustment_set_value(adj, CLAMP(first + 1, 0, upper - pagesize) ); break; default: break; } drawarea_full_redraw(widget, user_data); return TRUE; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /* public functions */ /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void ui_chart_progress_queue_redraw(ChartProgress *chart) { if( gtk_widget_get_realized(GTK_WIDGET(chart)) ) { ui_chart_progress_recompute(chart); drawarea_full_redraw(chart->drawarea, chart); //gtk_widget_queue_draw( chart->drawarea ); } } /* ** change the model and/or column */ void ui_chart_progress_set_dualdatas(ChartProgress *chart, GtkTreeModel *model, gchar *coltitle1, gchar *coltitle2, gchar *title, gchar *subtitle) { g_return_if_fail (GTK_IS_CHARTPROGRESS (chart)); if( GTK_IS_TREE_MODEL(model) ) { ui_chart_progress_setup_with_model(chart, model, coltitle1, coltitle2 ); if(title != NULL) chart->title = g_strdup(title); if(subtitle != NULL) chart->subtitle = g_strdup(subtitle); ui_chart_progress_queue_redraw(chart); } else { ui_chart_progress_clear(chart, TRUE); } } /* ** change the tooltip title */ void ui_chart_progress_set_title(ChartProgress * chart, gchar *title) { g_return_if_fail (GTK_IS_CHARTPROGRESS (chart)); chart->title = g_strdup(title); DB( g_print("\n[chartstack] set title = %s\n", chart->title) ); ui_chart_progress_recompute(chart); } void ui_chart_progress_set_subtitle(ChartProgress * chart, gchar *subtitle) { g_return_if_fail (GTK_IS_CHARTPROGRESS (chart)); chart->subtitle = g_strdup(subtitle); DB( g_print("\n[chartstack] set period = %s\n", chart->subtitle) ); ui_chart_progress_recompute(chart); } /* ** change the minor visibility */ void ui_chart_progress_show_minor(ChartProgress * chart, gboolean minor) { g_return_if_fail (GTK_IS_CHARTPROGRESS (chart)); chart->minor = minor; ui_chart_progress_queue_redraw(chart); } void ui_chart_progress_set_color_scheme(ChartProgress * chart, gint index) { colorscheme_init(&chart->color_scheme, index); } /* ** set the minor parameters */ /*void ui_chart_progress_set_minor_prefs(ChartProgress * chart, gdouble rate, gchar *symbol) { g_return_if_fail (GTK_IS_CHARTPROGRESS (chart)); chart->minor_rate = rate; chart->minor_symbol = symbol; }*/ void ui_chart_progress_set_currency(ChartProgress * chart, guint32 kcur) { g_return_if_fail (GTK_IS_CHARTPROGRESS (chart)); chart->kcur = kcur; } homebank-5.3.2/src/ui-group.h0000664000175000017500000000302413604720371012741 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_GROUP_GTK_H__ #define __HB_GROUP_GTK_H__ /* = = = = = = = = = = */ struct grpPopContext { GtkTreeModel *model; guint except_key; }; /* = = = = = = = = = = */ guint32 ui_grp_comboboxentry_get_key(GtkComboBox *entry_box); guint32 ui_grp_comboboxentry_get_key_add_new(GtkComboBox *entry_box); Group *ui_grp_comboboxentry_get(GtkComboBox *entry_box); gboolean ui_grp_comboboxentry_set_active(GtkComboBox *entry_box, guint32 key); void ui_grp_comboboxentry_add(GtkComboBox *entry_box, Group *pay); void ui_grp_comboboxentry_populate(GtkComboBox *entry_box, GHashTable *hash); void ui_grp_comboboxentry_populate_except(GtkComboBox *entry_box, GHashTable *hash, guint except_key); GtkWidget *ui_grp_comboboxentry_new(GtkWidget *label); #endif homebank-5.3.2/src/hb-split.h0000664000175000017500000000321713604720371012720 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_SPLIT_H__ #define __HB_SPLIT_H__ #define TXN_MAX_SPLIT 60 typedef struct _split Split; struct _split { guint32 kcat; gdouble amount; gchar *memo; //unsaved data gushort pos; }; void da_split_free(Split *item); Split *da_split_malloc(void); void da_split_destroy(GPtrArray *splits); GPtrArray *da_split_new(void); void da_splits_sort(GPtrArray *splits); guint da_splits_length(GPtrArray *splits); gboolean da_splits_delete(GPtrArray *splits, Split *item); void da_splits_append(GPtrArray *splits, Split *item); Split *da_splits_get(GPtrArray *splits, guint index); GPtrArray *da_splits_clone(GPtrArray *src_splits); guint da_splits_parse(GPtrArray *splits, gchar *cats, gchar *amounts, gchar *memos); guint da_splits_tostring(GPtrArray *splits, gchar **cats, gchar **amounts, gchar **memos); guint da_splits_consistency (GPtrArray *splits); #endif homebank-5.3.2/src/hub-scheduled.c0000664000175000017500000003412613604720365013713 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "dsp-mainwindow.h" #include "list-scheduled.h" #include "hub-scheduled.h" #include "ui-transaction.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /* scheduled */ /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static Archive * ui_hub_scheduled_get_selected_item(GtkTreeView *treeview) { GtkTreeSelection *treeselection; GtkTreeModel *model; GtkTreeIter iter; treeselection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)); if( gtk_tree_selection_get_selected(treeselection, &model, &iter) ) { Archive *arc; gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, LST_DSPUPC_DATAS, &arc, -1); return arc; } return NULL; } static void ui_hub_scheduled_onRowActivated (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *col, gpointer userdata) { //struct hbfile_data *data; Archive *arc; DB( g_print ("\n[hub-scheduled] row double-clicked\n") ); //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(treeview, GTK_TYPE_WINDOW)), "inst_data"); arc = ui_hub_scheduled_get_selected_item(treeview); ui_mainwindow_defarchive(arc); } static void ui_hub_scheduled_do_post(Archive *arc, gboolean doedit, gpointer user_data) { struct hbfile_data *data = user_data; GtkWidget *window; gint result; Transaction *txn; DB( g_print("\n[hub-scheduled] do post\n") ); window = create_deftransaction_window(GTK_WINDOW(data->window), TXN_DLG_ACTION_ADD, TXN_DLG_TYPE_SCH, 0); /* fill in the transaction */ txn = da_transaction_malloc(); da_transaction_init_from_template(txn, arc); txn->date = scheduled_get_postdate(arc, arc->nextdate); deftransaction_set_transaction(window, txn); result = gtk_dialog_run (GTK_DIALOG (window)); DB( g_print(" - dialog result is %d\n", result) ); if(result == HB_RESPONSE_ADD || result == GTK_RESPONSE_ACCEPT) { deftransaction_get(window, NULL); transaction_add(GTK_WINDOW(GLOBALS->mainwindow), txn); GLOBALS->changes_count++; scheduled_date_advance(arc); DB( g_print(" - added 1 transaction to %d\n", txn->kacc) ); } da_transaction_free(txn); deftransaction_dispose(window, NULL); gtk_widget_destroy (window); } static void ui_hub_scheduled_editpost_cb(GtkWidget *widget, gpointer user_data) { struct hbfile_data *data = user_data; DB( g_print("\n[hub-scheduled] editpost\n") ); Archive *arc = ui_hub_scheduled_get_selected_item(GTK_TREE_VIEW(data->LV_upc)); if( (arc != NULL) ) { ui_hub_scheduled_do_post(arc, TRUE, data); ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_SENSITIVE|UF_REFRESHALL)); } } static void ui_hub_scheduled_post_cb(GtkWidget *widget, gpointer user_data) { struct hbfile_data *data = user_data; DB( g_print("\n[hub-scheduled] post\n") ); Archive *arc = ui_hub_scheduled_get_selected_item(GTK_TREE_VIEW(data->LV_upc)); if( (arc != NULL) ) { if( scheduled_is_postable(arc) ) { Transaction *txn = da_transaction_malloc (); da_transaction_init_from_template(txn, arc); txn->date = scheduled_get_postdate(arc, arc->nextdate); transaction_add(GTK_WINDOW(GLOBALS->mainwindow), txn); GLOBALS->changes_count++; scheduled_date_advance(arc); da_transaction_free (txn); } else { ui_hub_scheduled_do_post(arc, FALSE, data); } ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_SENSITIVE|UF_REFRESHALL)); } } static void ui_hub_scheduled_skip_cb(GtkWidget *widget, gpointer user_data) { struct hbfile_data *data = user_data; DB( g_print("\n[hub-scheduled] skip\n") ); Archive *arc = ui_hub_scheduled_get_selected_item(GTK_TREE_VIEW(data->LV_upc)); if( (arc != NULL) && (arc->flags & OF_AUTO) ) { GLOBALS->changes_count++; scheduled_date_advance(arc); ui_hub_scheduled_populate(GLOBALS->mainwindow, NULL); ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_SENSITIVE)); } } static void ui_hub_scheduled_update(GtkWidget *widget, gpointer user_data) { struct hbfile_data *data; //gint filter; DB( g_print("\n[hub-scheduled] update\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); //filter = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_sched_filter)); Archive *arc = ui_hub_scheduled_get_selected_item(GTK_TREE_VIEW(data->LV_upc)); if(arc) { DB( g_print("archive is %s\n", arc->memo) ); gtk_widget_set_sensitive(GTK_WIDGET(data->BT_sched_skip), TRUE); gtk_widget_set_sensitive(GTK_WIDGET(data->BT_sched_post), TRUE); gtk_widget_set_sensitive(GTK_WIDGET(data->BT_sched_editpost), TRUE); } else { gtk_widget_set_sensitive(GTK_WIDGET(data->BT_sched_skip), FALSE); gtk_widget_set_sensitive(GTK_WIDGET(data->BT_sched_post), FALSE); gtk_widget_set_sensitive(GTK_WIDGET(data->BT_sched_editpost), FALSE); } } static void ui_hub_scheduled_selection_cb(GtkTreeSelection *treeselection, gpointer user_data) { ui_hub_scheduled_update(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), GINT_TO_POINTER(UF_SENSITIVE)); } /* ** called after load, importamiga, on demand */ void ui_hub_scheduled_postall(GtkWidget *widget, gpointer user_data) { //struct hbfile_data *data; gint count; gint usermode = GPOINTER_TO_INT(user_data); DB( g_print("\n[hub-scheduled] post all\n") ); //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); count = scheduled_post_all_pending(); //inform the user if(usermode == TRUE) { gchar *txt; //#125534 if( count > 0 ) { ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_REFRESHALL)); } if(count == 0) txt = _("No transaction to add"); else txt = _("transaction added: %d"); ui_dialog_msg_infoerror(GTK_WINDOW(GLOBALS->mainwindow), GTK_MESSAGE_INFO, _("Check scheduled transactions result"), txt, count); } } void ui_hub_scheduled_populate(GtkWidget *widget, gpointer user_data) { struct hbfile_data *data; GtkTreeModel *model; GtkTreeIter iter; GList *list; gdouble totexp = 0; gdouble totinc = 0; gint count = 0; gchar buffer[256]; guint32 maxpostdate; GDate *date; //Account *acc; DB( g_print("\n[hub-scheduled] populate\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_upc)); gtk_list_store_clear (GTK_LIST_STORE(model)); homebank_app_date_get_julian(); maxpostdate = scheduled_date_get_post_max(); date = g_date_new_julian (maxpostdate); g_date_strftime (buffer, 256-1, PREFS->date_format, date); g_date_free(date); gtk_label_set_text(GTK_LABEL(data->LB_maxpostdate), buffer); list = g_list_first(GLOBALS->arc_list); while (list != NULL) { Archive *arc = list->data; Account *acc; gdouble inc, exp; guint nbdays, nblate; if((arc->flags & OF_AUTO) ) //&& arc->kacc > 0) { count++; nbdays = arc->nextdate - maxpostdate; nblate = scheduled_get_latepost_count(arc, GLOBALS->today); DB( g_print(" - append '%s' : %d\n", arc->memo, nbdays) ); if(arc->flags & OF_INCOME) { inc = arc->amount; exp = 0.0; } else { exp = arc->amount; inc = 0.0; } /* insert normal txn */ acc = da_acc_get(arc->kacc); if( acc) { totinc += hb_amount_base(inc, acc->kcur); totexp += hb_amount_base(exp, acc->kcur); } gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, LST_DSPUPC_DATAS, arc, LST_DSPUPC_NEXT, nbdays, LST_DSPUPC_ACCOUNT, acc, LST_DSPUPC_MEMO, arc->memo, LST_DSPUPC_EXPENSE, exp, LST_DSPUPC_INCOME, inc, LST_DSPUPC_NB_LATE, nblate, -1); /* insert internal xfer txn : 1378836 */ if(arc->flags & OF_INTXFER) { acc = da_acc_get(arc->kxferacc); if( acc) { totinc += hb_amount_base(-inc, acc->kcur); totexp += hb_amount_base(-exp, acc->kcur); } gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, LST_DSPUPC_DATAS, arc, LST_DSPUPC_NEXT, nbdays, LST_DSPUPC_ACCOUNT, acc, LST_DSPUPC_MEMO, arc->memo, LST_DSPUPC_EXPENSE, -inc, LST_DSPUPC_INCOME, -exp, LST_DSPUPC_NB_LATE, nblate, -1); } } list = g_list_next(list); } // insert total if(count > 0 ) { gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, LST_DSPUPC_DATAS, NULL, LST_DSPUPC_ACCOUNT, NULL, LST_DSPUPC_MEMO, _("Total"), LST_DSPUPC_EXPENSE, totexp, LST_DSPUPC_INCOME, totinc, -1); } ui_hub_scheduled_update(widget, NULL); } GtkWidget *ui_hub_scheduled_create(struct hbfile_data *data) { GtkWidget *hub, *hbox, *vbox, *bbox, *sw, *tbar; GtkWidget *label, *widget; GtkToolItem *toolitem; DB( g_print("\n[hub-scheduled] create\n") ); hub = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width(GTK_CONTAINER(hub), SPACING_SMALL); //data->GR_upc = hub; vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); //gtk_widget_set_margin_top(GTK_WIDGET(vbox), 0); //gtk_widget_set_margin_bottom(GTK_WIDGET(vbox), SPACING_SMALL); //gtk_widget_set_margin_start(GTK_WIDGET(vbox), 2*SPACING_SMALL); //gtk_widget_set_margin_end(GTK_WIDGET(vbox), SPACING_SMALL); gtk_box_pack_start (GTK_BOX (hub), vbox, TRUE, TRUE, 0); sw = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_box_pack_start (GTK_BOX (vbox), sw, TRUE, TRUE, 0); widget = (GtkWidget *)create_list_upcoming(); data->LV_upc = widget; gtk_container_add (GTK_CONTAINER (sw), widget); tbar = gtk_toolbar_new(); gtk_toolbar_set_icon_size (GTK_TOOLBAR(tbar), GTK_ICON_SIZE_MENU); gtk_toolbar_set_style(GTK_TOOLBAR(tbar), GTK_TOOLBAR_ICONS); gtk_style_context_add_class (gtk_widget_get_style_context (tbar), GTK_STYLE_CLASS_INLINE_TOOLBAR); gtk_box_pack_start (GTK_BOX (vbox), tbar, FALSE, FALSE, 0); label = make_label_group(_("Scheduled transactions")); toolitem = gtk_tool_item_new(); gtk_container_add (GTK_CONTAINER(toolitem), label); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); toolitem = gtk_separator_tool_item_new (); gtk_tool_item_set_expand (toolitem, FALSE); gtk_separator_tool_item_set_draw(GTK_SEPARATOR_TOOL_ITEM(toolitem), FALSE); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL); toolitem = gtk_tool_item_new(); gtk_container_add (GTK_CONTAINER(toolitem), bbox); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); widget = gtk_button_new_with_label(_("Skip")); data->BT_sched_skip = widget; gtk_box_pack_start (GTK_BOX (bbox), widget, FALSE, FALSE, 0); widget = gtk_button_new_with_label(_("Edit & Post")); data->BT_sched_editpost = widget; gtk_box_pack_start (GTK_BOX (bbox), widget, FALSE, FALSE, 0); //TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. //TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. widget = gtk_button_new_with_label (_("Post")); data->BT_sched_post = widget; gtk_box_pack_start (GTK_BOX (bbox), widget, FALSE, FALSE, 0); toolitem = gtk_separator_tool_item_new (); gtk_tool_item_set_expand (toolitem, FALSE); gtk_separator_tool_item_set_draw(GTK_SEPARATOR_TOOL_ITEM(toolitem), FALSE); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); hbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_widget_set_valign (hbox, GTK_ALIGN_CENTER); toolitem = gtk_tool_item_new(); gtk_container_add (GTK_CONTAINER(toolitem), hbox); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); label = make_label(_("maximum post date"), 0.0, 0.7); gtk_widget_set_halign (label, GTK_ALIGN_CENTER); gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_SMALL, -1); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); label = make_label(NULL, 0.0, 0.7); data->LB_maxpostdate = label; gtk_widget_set_halign (label, GTK_ALIGN_CENTER); gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_SMALL, -1); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_upc)), "changed", G_CALLBACK (ui_hub_scheduled_selection_cb), NULL); g_signal_connect (GTK_TREE_VIEW(data->LV_upc), "row-activated", G_CALLBACK (ui_hub_scheduled_onRowActivated), NULL); g_signal_connect (G_OBJECT (data->BT_sched_skip), "clicked", G_CALLBACK (ui_hub_scheduled_skip_cb), data); g_signal_connect (G_OBJECT (data->BT_sched_editpost), "clicked", G_CALLBACK (ui_hub_scheduled_editpost_cb), data); g_signal_connect (G_OBJECT (data->BT_sched_post), "clicked", G_CALLBACK (ui_hub_scheduled_post_cb), data); return hub; } homebank-5.3.2/src/ui-split.c0000664000175000017500000007515013620023675012745 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty ofdeftransaction_amountchanged * 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 "homebank.h" #include "ui-split.h" #include "ui-transaction.h" #include "ui-archive.h" #include "gtk-dateentry.h" #include "ui-payee.h" #include "ui-category.h" #include "ui-account.h" #include "hb-split.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; #define GTK_RESPONSE_SPLIT_REM 10888 /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void list_split_number_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { GtkTreePath *path; gint *indices; gchar num[16]; path = gtk_tree_model_get_path(model, iter); indices = gtk_tree_path_get_indices(path); //num = gtk_tree_path_to_string(path); g_snprintf(num, 15, "%d", 1 + *indices); gtk_tree_path_free(path); g_object_set(renderer, "text", num, NULL); } static void list_split_amount_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Split *split; gchar buf[G_ASCII_DTOSTR_BUF_SIZE]; gdouble amount; gchar *color; gtk_tree_model_get(model, iter, 0, &split, -1); //hb_strfmon(buf, G_ASCII_DTOSTR_BUF_SIZE-1, amount, ope->kcur, GLOBALS->minor); amount = split->amount; g_snprintf(buf, G_ASCII_DTOSTR_BUF_SIZE-1, "%.2f", amount); color = get_normal_color_amount(amount); g_object_set(renderer, "foreground", color, "text", buf, NULL); } static void list_split_memo_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Split *split; gtk_tree_model_get(model, iter, 0, &split, -1); g_object_set(renderer, "text", split->memo, NULL); } static void list_split_category_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Split *split; Category *cat; gtk_tree_model_get(model, iter, 0, &split, -1); cat = da_cat_get(split->kcat); if( cat != NULL ) { g_object_set(renderer, "text", cat->fullname, NULL); } else g_object_set(renderer, "text", "", NULL); } static void list_split_populate(struct ui_split_dialog_data *data) { GtkTreeModel *model; GtkTreeIter iter; Split *split; gint count, i; DB( g_print("\n[list_split] populate\n") ); count = da_splits_length (data->tmp_splits); if( count <= 0 ) return; model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_split)); gtk_list_store_clear (GTK_LIST_STORE(model)); g_object_ref(model); /* Make sure the model stays with us after the tree view unrefs it */ gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_split), NULL); /* Detach model from view */ /* populate */ for(i=0 ; i < count ; i++) { split = da_splits_get(data->tmp_splits, i); DB( g_print("- set split %d : %d, %.2f, %s\n", i, split->kcat, split->amount, split->memo) ); gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, 0, split, -1); } gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_split), model); /* Re-attach model to view */ g_object_unref(model); } static GtkWidget * list_split_new(void) { GtkListStore *store; GtkWidget *treeview; GtkCellRenderer *renderer; GtkTreeViewColumn *column; DB( g_print("\n[ui_split_listview] new\n") ); // create list store store = gtk_list_store_new(1, G_TYPE_POINTER ); // treeview treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); g_object_unref(store); gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (treeview), PREFS->grid_lines); //column 0: line number renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 1.0, NULL); column = gtk_tree_view_column_new_with_attributes("#", renderer, NULL); gtk_tree_view_column_set_alignment (column, 1.0); gtk_tree_view_column_set_cell_data_func(column, renderer, list_split_number_cell_data_function, NULL, NULL); gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // column 1: category renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "ellipsize", PANGO_ELLIPSIZE_END, "ellipsize-set", TRUE, NULL); column = gtk_tree_view_column_new_with_attributes(_("Category"), renderer, NULL); //gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_column_set_resizable(column, TRUE); //gtk_tree_view_column_set_sort_column_id (column, sortcolumnid); //gtk_tree_view_column_set_fixed_width( column, HB_MINWIDTH_LIST); gtk_tree_view_column_set_expand (column, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_split_category_cell_data_function, NULL, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // column 2: memo renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "ellipsize", PANGO_ELLIPSIZE_END, "ellipsize-set", TRUE, NULL); column = gtk_tree_view_column_new_with_attributes(_("Memo"), renderer, NULL); //gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_column_set_resizable(column, TRUE); //gtk_tree_view_column_set_sort_column_id (column, sortcolumnid); //gtk_tree_view_column_set_fixed_width( column, HB_MINWIDTH_LIST); gtk_tree_view_column_set_expand (column, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_split_memo_cell_data_function, NULL, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // column 3: amount renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 1.0, NULL); column = gtk_tree_view_column_new_with_attributes(_("Amount"), renderer, NULL); gtk_tree_view_column_set_alignment (column, 1.0); gtk_tree_view_column_set_resizable(column, TRUE); //gtk_tree_view_column_set_sort_column_id (column, sortcolumnid); gtk_tree_view_column_set_fixed_width( column, HB_MINWIDTH_LIST); gtk_tree_view_column_set_cell_data_func(column, renderer, list_split_amount_cell_data_function, NULL, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // column empty //column = gtk_tree_view_column_new(); //gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); // treeviewattribute gtk_tree_view_set_headers_visible (GTK_TREE_VIEW(treeview), TRUE); gtk_tree_view_set_reorderable (GTK_TREE_VIEW(treeview), TRUE); //gtk_tree_sortable_set_default_sort_func(GTK_TREE_SORTABLE(store), ui_acc_listview_compare_func, NULL, NULL); //gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING); return treeview; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void ui_split_dialog_filter_text_handler (GtkEntry *entry, const gchar *text, gint length, gint *position, gpointer data) { GtkEditable *editable = GTK_EDITABLE(entry); gint i, count=0; gchar *result = g_new0 (gchar, length+1); for (i=0; i < length; i++) { if (text[i]=='|') continue; result[count++] = text[i]; } if (count > 0) { g_signal_handlers_block_by_func (G_OBJECT (editable), G_CALLBACK (ui_split_dialog_filter_text_handler), data); gtk_editable_insert_text (editable, result, count, position); g_signal_handlers_unblock_by_func (G_OBJECT (editable), G_CALLBACK (ui_split_dialog_filter_text_handler), data); } g_signal_stop_emission_by_name (G_OBJECT (editable), "insert-text"); g_free (result); } static void ui_split_dialog_cb_eval_order(struct ui_split_dialog_data *data) { GtkTreeModel *model; GtkTreeIter iter; gboolean valid; guint i; DB( g_print("\n[ui_split_dialog] eval order\n") ); model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_split)); i=1; valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { Split *split; gtk_tree_model_get (model, &iter, 0, &split, -1); split->pos = i; DB( g_print("split pos: %d '%s' %.2f\n", i, split->memo, split->amount) ); i++; valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } da_splits_sort(data->tmp_splits); } static void ui_split_dialog_cb_eval_split(GtkWidget *widget, gpointer user_data) { struct ui_split_dialog_data *data; gboolean tmpval = FALSE; gdouble amount; gint count; DB( g_print("\n[ui_split_dialog] eval split\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); amount = g_strtod(gtk_entry_get_text(GTK_ENTRY(data->ST_amount)), NULL); tmpval = hb_amount_round(amount, 2) != 0.0 ? TRUE : FALSE; gtk_widget_set_sensitive (data->BT_apply, tmpval); count = gtk_tree_model_iter_n_children(gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_split)), NULL); if( count >= TXN_MAX_SPLIT ) tmpval = FALSE; gtk_widget_set_sensitive (data->BT_add, tmpval); DB( g_print(" - txt='%s' amt=%.2f, nbsplit=%d, valid=%d\n", gtk_entry_get_text(GTK_ENTRY(data->ST_amount)), amount, count, tmpval) ); } static void ui_split_dialog_update(GtkWidget *widget, gpointer user_data) { struct ui_split_dialog_data *data; gboolean tmpval; guint count; DB( g_print("\n[ui_split_dialog] update\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); count = da_splits_length (data->tmp_splits); //btn: edit/rem tmpval = gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_split)), NULL, NULL); gtk_widget_set_sensitive (data->BT_edit, (data->isedited) ? FALSE : tmpval); gtk_widget_set_sensitive (data->BT_rem, (data->isedited) ? FALSE : tmpval); //btn: remall tmpval = (count > 1) ? TRUE : FALSE; gtk_widget_set_sensitive (data->BT_remall, (data->isedited) ? FALSE : tmpval); ui_split_dialog_cb_eval_split(widget, NULL); //btn: add/apply /*amount = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_amount)); tmpval = hb_amount_round(amount, 2) != 0.0 ? TRUE : FALSE; gtk_widget_set_sensitive (data->BT_apply, tmpval); if( count >= TXN_MAX_SPLIT ) tmpval = FALSE; gtk_widget_set_sensitive (data->BT_add, tmpval); */ //btn: show/hide gtk_widget_set_sensitive (data->LV_split, !data->isedited); hb_widget_visible (data->BT_add, !data->isedited); hb_widget_visible (data->IM_edit, data->isedited); hb_widget_visible (data->BT_apply, data->isedited); hb_widget_visible (data->BT_cancel, data->isedited); } static void ui_split_dialog_edit_end(GtkWidget *widget, gpointer user_data) { struct ui_split_dialog_data *data; DB( g_print("\n[ui_split_dialog] edit_end\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); g_signal_handler_block(data->PO_cat, data->hid_cat); g_signal_handler_block(data->ST_amount, data->hid_amt); ui_cat_comboboxentry_set_active(GTK_COMBO_BOX(data->PO_cat), 0); if( data->mode == SPLIT_MODE_EMPTY ) gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->ST_amount), 0.0); gtk_entry_set_text(GTK_ENTRY(data->ST_memo), ""); g_signal_handler_unblock(data->ST_amount, data->hid_amt); g_signal_handler_unblock(data->PO_cat, data->hid_cat); gtk_widget_grab_focus(data->ST_amount); data->isedited = FALSE; } static void ui_split_dialog_edit_start(GtkWidget *widget, gpointer user_data) { struct ui_split_dialog_data *data; GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; DB( g_print("\n[ui_split_dialog] edit_start\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_split)); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_split)); if (gtk_tree_selection_get_selected(selection, &model, &iter)) { Split *split; gchar *txt; gtk_tree_model_get(model, &iter, 0, &split, -1); ui_cat_comboboxentry_set_active(GTK_COMBO_BOX(data->PO_cat), split->kcat); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->ST_amount), split->amount); txt = (split->memo != NULL) ? split->memo : ""; gtk_entry_set_text(GTK_ENTRY(data->ST_memo), txt); data->isedited = TRUE; ui_split_dialog_update (data->dialog, user_data); } } static void ui_split_dialog_cancel_cb(GtkWidget *widget, gpointer user_data) { //struct ui_split_dialog_data *data; DB( g_print("\n[ui_split_dialog] cancel\n") ); //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); ui_split_dialog_edit_end(widget, user_data); ui_split_dialog_update (widget, user_data); } static void ui_split_dialog_apply_cb(GtkWidget *widget, gpointer user_data) { struct ui_split_dialog_data *data; GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; DB( g_print("\n[ui_split_dialog] apply\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_split)); if (gtk_tree_selection_get_selected(selection, &model, &iter)) { Split *split; gdouble amount; gtk_tree_model_get(model, &iter, 0, &split, -1); gtk_spin_button_update (GTK_SPIN_BUTTON(data->ST_amount)); amount = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_amount)); if(amount) { split->kcat = ui_cat_comboboxentry_get_key_add_new(GTK_COMBO_BOX(data->PO_cat)); g_free(split->memo); split->memo = g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_memo))); split->amount = amount; } } ui_split_dialog_edit_end(widget, user_data); ui_split_dialog_compute (widget, data); ui_split_dialog_update (widget, user_data); } static void ui_split_dialog_deleteall_cb(GtkWidget *widget, gpointer user_data) { struct ui_split_dialog_data *data; DB( g_print("\n[ui_split_dialog] deleteall_cb\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); gtk_list_store_clear (GTK_LIST_STORE(gtk_tree_view_get_model (GTK_TREE_VIEW(data->LV_split)))); da_split_destroy(data->tmp_splits); data->tmp_splits = da_split_new (); ui_split_dialog_compute (widget, data); ui_split_dialog_update (widget, user_data); } static void ui_split_dialog_delete_cb(GtkWidget *widget, gpointer user_data) { struct ui_split_dialog_data *data; GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; DB( g_print("\n[ui_split_dialog] delete_cb\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_split)); if (gtk_tree_selection_get_selected(selection, &model, &iter)) { Split *split; gtk_tree_model_get(model, &iter, 0, &split, -1); //todo: not implemented yet gtk_list_store_remove(GTK_LIST_STORE(model), &iter); da_splits_delete(data->tmp_splits, split); } ui_split_dialog_compute (widget, data); ui_split_dialog_update (widget, user_data); } static void ui_split_dialog_add_cb(GtkWidget *widget, gpointer user_data) { struct ui_split_dialog_data *data; GtkTreeModel *model; GtkTreeIter iter; Split *split; guint count; gdouble amount; DB( g_print("\n[ui_split_dialog] add\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); count = da_splits_length (data->tmp_splits); if( count <= TXN_MAX_SPLIT ) { split = da_split_malloc (); gtk_spin_button_update (GTK_SPIN_BUTTON(data->ST_amount)); amount = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_amount)); if(amount) { //#1848604 force sign according txn type if( hb_amount_type_match(amount, data->txntype) == FALSE) amount *= -1; split->amount = amount; split->kcat = ui_cat_comboboxentry_get_key_add_new(GTK_COMBO_BOX(data->PO_cat)); split->memo = g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_memo))); DB( g_print("- get split : %d, %.2f, %s\n", split->kcat, split->amount, split->memo) ); da_splits_append (data->tmp_splits, split); model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_split)); gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, 0, split, -1); ui_split_dialog_compute (widget, data); } else { //todo: msg max number reached da_split_free(split); } } ui_split_dialog_edit_end(widget, user_data); ui_split_dialog_update (widget, user_data); } static void ui_split_dialog_cb_activate_split(GtkWidget *widget, gpointer user_data) { struct ui_split_dialog_data *data; DB( g_print("\n[ui_split_dialog] cb activate split\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); if( data->isedited == TRUE ) ui_split_dialog_apply_cb(widget, NULL); else ui_split_dialog_add_cb(widget, NULL); } static void ui_split_rowactivated (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *col, gpointer user_data) { DB( g_print("\n[ui_split_dialog] rowactivated\n") ); ui_split_dialog_edit_start(GTK_WIDGET(treeview), NULL); } static void ui_split_selection(GtkTreeSelection *treeselection, gpointer user_data) { DB( g_print("\n[ui_split_dialog] selection\n") ); ui_split_dialog_update (GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), user_data); } void ui_split_dialog_compute(GtkWidget *widget, gpointer user_data) { struct ui_split_dialog_data *data; gint i, count, nbvalid; gchar buf[48]; gboolean sensitive; GtkTreeModel *model; GtkTreeIter iter; gboolean valid; DB( g_print("\n[ui_split_dialog] compute\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); nbvalid = 0; data->sumsplit = 0.0; data->remsplit = 0.0; model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_split)); i=0; valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { Split *split; gtk_tree_model_get (model, &iter, 0, &split, -1); data->sumsplit += split->amount; if( hb_amount_round(split->amount, 2) != 0.0 ) nbvalid++; /* Make iter point to the next row in the list store */ i++; valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } count = i; DB( g_print("- count=%d, nbvalid=%d\n", count, nbvalid ) ); data->remsplit = data->amount - data->sumsplit; //validation: 2 split min, if 0 split //Accept button is not disabled to enable empty the splits sensitive = FALSE; if( (count == 0) || nbvalid >= 2 ) sensitive = TRUE; gtk_widget_hide(data->IB_wrnsum); gtk_widget_hide(data->IB_errtype); if( data->mode == SPLIT_MODE_AMOUNT ) { if( hb_amount_round(data->remsplit, 2) == 0.0 ) { g_sprintf(buf, "----"); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->ST_amount), 0); } else { g_snprintf(buf, 48, "%.2f", data->remsplit); //#1845841 bring back checkpoint with initial amount + init remainder //revert, because block any edition/inherit //sensitive = (count > 1) ? FALSE : sensitive; //but keep prefill remainder gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->ST_amount), data->remsplit); gtk_widget_show_all(data->IB_wrnsum); //#GTK+710888: hack waiting a GTK fix gtk_widget_queue_resize (data->IB_wrnsum); } gtk_label_set_label(GTK_LABEL(data->LB_remain), buf); g_snprintf(buf, 48, "%.2f", data->amount); gtk_label_set_label(GTK_LABEL(data->LB_txnamount), buf); } g_snprintf(buf, 48, "%.2f", data->sumsplit); gtk_label_set_text(GTK_LABEL(data->LB_sumsplit), buf); //if split sum sign do not match if( hb_amount_type_match(data->sumsplit, data->txntype) == FALSE ) { sensitive = FALSE; gtk_widget_show_all(data->IB_errtype); //#GTK+710888: hack waiting a GTK fix gtk_widget_queue_resize (data->IB_errtype); } gtk_dialog_set_response_sensitive(GTK_DIALOG(data->dialog), GTK_RESPONSE_ACCEPT, sensitive); } static void ui_split_dialog_setup(struct ui_split_dialog_data *data) { guint count; DB( g_print("\n[ui_split_dialog] set\n") ); count = da_splits_length(data->tmp_splits); data->nbsplit = count > 1 ? count-1 : 0; DB( g_print("- count = %d\n", count) ); list_split_populate (data); data->isedited = FALSE; ui_cat_comboboxentry_populate(GTK_COMBO_BOX(data->PO_cat), GLOBALS->h_cat); ui_split_dialog_compute(data->dialog, data); ui_split_dialog_update (data->dialog, data); } GtkWidget *ui_split_dialog (GtkWidget *parent, GPtrArray **src_splits, gint txntype, gdouble amount, void (update_callbackFunction(GtkWidget*, gdouble))) { struct ui_split_dialog_data *data; GtkWidget *dialog, *content, *table, *box, *scrollwin, *bar; GtkWidget *label, *widget; gint row; DB( g_print("\n[ui_split_dialog] new\n") ); data = g_malloc0(sizeof(struct ui_split_dialog_data)); if(!data) return NULL; dialog = gtk_dialog_new_with_buttons (_("Transaction splits"), GTK_WINDOW(parent), 0, _("_Cancel"), GTK_RESPONSE_CANCEL, NULL); //store our dialog private data g_object_set_data(G_OBJECT(dialog), "inst_data", (gpointer)data); DB( g_print(" - window=%p, inst_data=%p\n", dialog, data) ); g_signal_connect (dialog, "destroy", G_CALLBACK (gtk_widget_destroyed), &dialog); data->dialog = dialog; gtk_dialog_add_button(GTK_DIALOG(dialog), _("_OK"), GTK_RESPONSE_ACCEPT); //todo: init should move //clone splits or create new data->src_splits = *src_splits; data->txntype = txntype; data->mode = (hb_amount_round(amount, 2) != 0.0) ? SPLIT_MODE_AMOUNT : SPLIT_MODE_EMPTY; data->amount = amount; data->sumsplit = amount; if( *src_splits != NULL ) data->tmp_splits = da_splits_clone(*src_splits); else data->tmp_splits = da_split_new(); //dialog contents content = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); table = gtk_grid_new (); gtk_container_set_border_width (GTK_CONTAINER (table), SPACING_SMALL); gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_TINY); gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_TINY); gtk_box_pack_start (GTK_BOX (content), table, TRUE, TRUE, 0); row = 0; scrollwin = gtk_scrolled_window_new(NULL,NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN); gtk_widget_set_size_request(scrollwin, HB_MINWIDTH_LIST, HB_MINHEIGHT_LIST); gtk_widget_set_hexpand (scrollwin, TRUE); gtk_widget_set_vexpand (scrollwin, TRUE); data->LV_split = list_split_new(); gtk_container_add(GTK_CONTAINER(scrollwin), data->LV_split); gtk_grid_attach (GTK_GRID (table), scrollwin, 0, row, 4, 1); box = gtk_box_new (GTK_ORIENTATION_VERTICAL, SPACING_TINY); gtk_widget_set_valign (box, GTK_ALIGN_CENTER); gtk_grid_attach (GTK_GRID (table), box, 4, row, 1, 1); widget = make_image_button(ICONNAME_LIST_DELETE_ALL, _("Delete all")); data->BT_remall = widget; gtk_box_pack_end (GTK_BOX (box), widget, FALSE, FALSE, 0); widget = make_image_button(ICONNAME_LIST_DELETE, _("Delete")); data->BT_rem = widget; gtk_box_pack_end (GTK_BOX(box), widget, FALSE, FALSE, 0); widget = make_image_button(ICONNAME_HB_OPE_EDIT, _("Edit")); data->BT_edit = widget; gtk_box_pack_end (GTK_BOX(box), widget, FALSE, FALSE, 0); row++; label = gtk_label_new(_("Category")); gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_SMALL, -1); gtk_grid_attach (GTK_GRID (table), label, 0, row, 1, 1); label = gtk_label_new(_("Memo")); gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_SMALL, -1); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); label = gtk_label_new(_("Amount")); gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_SMALL, -1); gtk_grid_attach (GTK_GRID (table), label, 2, row, 1, 1); row++; widget = ui_cat_comboboxentry_new(NULL); data->PO_cat = widget; gtk_grid_attach (GTK_GRID (table), widget, 0, row, 1, 1); widget = make_string(NULL); data->ST_memo= widget; gtk_grid_attach (GTK_GRID (table), widget, 1, row, 1, 1); widget = make_amount(NULL); data->ST_amount = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_TINY); gtk_grid_attach (GTK_GRID (table), box, 3, row, 1, 1); widget = gtk_image_new_from_icon_name (ICONNAME_HB_OPE_EDIT, GTK_ICON_SIZE_BUTTON); data->IM_edit = widget; gtk_box_pack_start (GTK_BOX(box), widget, TRUE, TRUE, 0); widget = make_image_button(ICONNAME_LIST_ADD, _("Add")); data->BT_add = widget; gtk_box_pack_start (GTK_BOX(box), widget, FALSE, FALSE, 0); widget = make_image_button(ICONNAME_EMBLEM_OK, _("Apply")); data->BT_apply = widget; gtk_box_pack_start (GTK_BOX(box), widget, FALSE, FALSE, 0); widget = make_image_button(ICONNAME_WINDOW_CLOSE, _("Cancel")); data->BT_cancel = widget; gtk_box_pack_start (GTK_BOX(box), widget, FALSE, FALSE, 0); if( data->mode == SPLIT_MODE_AMOUNT ) { row++; label = gtk_label_new(_("Transaction amount:")); gtk_widget_set_halign (label, GTK_ALIGN_END); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); widget = gtk_label_new(NULL); gtk_widget_set_halign (widget, GTK_ALIGN_CENTER); data->LB_txnamount = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; label = gtk_label_new(_("Unassigned:")); gtk_widget_set_halign (label, GTK_ALIGN_END); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); widget = gtk_label_new(NULL); gtk_widget_set_halign (widget, GTK_ALIGN_CENTER); data->LB_remain = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; widget = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_grid_attach (GTK_GRID (table), widget, 1, row, 2, 1); } row++; label = gtk_label_new(_("Sum of splits:")); gtk_widget_set_halign (label, GTK_ALIGN_END); gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1); widget = gtk_label_new(NULL); gtk_widget_set_halign (widget, GTK_ALIGN_CENTER); data->LB_sumsplit = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; bar = gtk_info_bar_new (); data->IB_wrnsum = bar; gtk_info_bar_set_message_type (GTK_INFO_BAR (bar), GTK_MESSAGE_ERROR); label = gtk_label_new (_("Warning: sum of splits and transaction amount don't match")); gtk_box_pack_start (GTK_BOX (gtk_info_bar_get_content_area (GTK_INFO_BAR (bar))), label, TRUE, TRUE, 0); gtk_grid_attach (GTK_GRID (table), bar, 0, row, 4, 1); row++; bar = gtk_info_bar_new (); data->IB_errtype = bar; gtk_info_bar_set_message_type (GTK_INFO_BAR (bar), GTK_MESSAGE_WARNING); label = gtk_label_new (_("Warning: sum of splits and transaction type don't match")); gtk_box_pack_start (GTK_BOX (gtk_info_bar_get_content_area (GTK_INFO_BAR (bar))), label, TRUE, TRUE, 0); gtk_grid_attach (GTK_GRID (table), bar, 0, row, 4, 1); //connect all our signals g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_split)), "changed", G_CALLBACK (ui_split_selection), data); g_signal_connect (GTK_TREE_VIEW(data->LV_split), "row-activated", G_CALLBACK (ui_split_rowactivated), data); g_signal_connect (data->ST_memo, "insert-text", G_CALLBACK(ui_split_dialog_filter_text_handler), data); data->hid_cat = g_signal_connect (data->PO_cat , "changed" , G_CALLBACK (ui_split_dialog_cb_eval_split), data); data->hid_amt = g_signal_connect (data->ST_amount, "changed", G_CALLBACK (ui_split_dialog_cb_eval_split), data); //data->hid_amt = g_signal_connect (data->ST_amount, "value-changed", G_CALLBACK (ui_split_dialog_cb_eval_split), data); //todo: add enter validate g_signal_connect (data->ST_amount, "activate", G_CALLBACK (ui_split_dialog_cb_activate_split), NULL); g_signal_connect (data->BT_edit , "clicked", G_CALLBACK (ui_split_dialog_edit_start), NULL); g_signal_connect (data->BT_rem , "clicked", G_CALLBACK (ui_split_dialog_delete_cb), NULL); g_signal_connect (data->BT_remall, "clicked", G_CALLBACK (ui_split_dialog_deleteall_cb), NULL); g_signal_connect (data->BT_add , "clicked", G_CALLBACK (ui_split_dialog_add_cb), NULL); g_signal_connect (data->BT_apply , "clicked", G_CALLBACK (ui_split_dialog_apply_cb), NULL); g_signal_connect (data->BT_cancel, "clicked", G_CALLBACK (ui_split_dialog_cancel_cb), NULL); //gtk_window_set_default_size(GTK_WINDOW(dialog), 480, -1); gtk_widget_show_all (dialog); //setup, init and show dialog ui_split_dialog_setup(data); //wait for the user gint result = gtk_dialog_run (GTK_DIALOG (dialog)); switch (result) { // sum split and alter txn amount case GTK_RESPONSE_ACCEPT: if( da_splits_length(data->tmp_splits) ) { ui_split_dialog_cb_eval_order(data); // here we swap src_splits <> tmp_splits *src_splits = data->tmp_splits; data->tmp_splits = data->src_splits; update_callbackFunction(parent, data->sumsplit); } else { //delete split and revert back original amount da_split_destroy(*src_splits); *src_splits = NULL; update_callbackFunction(parent, data->amount); } break; /*case GTK_RESPONSE_SPLIT_REM: da_split_destroy(*src_splits); *src_splits = NULL; update_callbackFunction(parent, data->sumsplit); break; */ default: //do_nothing_since_dialog_was_cancelled (); break; } // debug /*#if MYDEBUG == 1 { guint i; for(i=0;iope_splits[i]; if(data->ope_splits[i] == NULL) break; g_print(" split %d : %d, %.2f, %s\n", i, split->kcat, split->amount, split->memo); } } #endif*/ // cleanup and destroy //GLOBALS->changes_count += data->change; gtk_widget_destroy (dialog); da_split_destroy (data->tmp_splits); g_free(data); return NULL; } homebank-5.3.2/src/gtk-dateentry.h0000644000175000017500000000544413604720371013762 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __GTK_DATE_ENTRY_H__ #define __GTK_DATE_ENTRY_H__ G_BEGIN_DECLS #define GTK_TYPE_DATE_ENTRY (gtk_date_entry_get_type ()) #define GTK_DATE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_DATE_ENTRY, GtkDateEntry)) #define GTK_DATE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_DATE_ENTRY, GtkDateEntryClass) #define GTK_IS_DATE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_DATE_ENTRY)) #define GTK_IS_DATE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_DATE_ENTRY)) #define GTK_DATE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_DATE_ENTRY, GtkDateEntryClass)) typedef struct _GtkDateEntry GtkDateEntry; typedef struct _GtkDateEntryClass GtkDateEntryClass; typedef struct _GtkDateEntryPrivate GtkDateEntryPrivate; #define HB_MINDATE 693596 //01/01/1900 #define HB_MAXDATE 803533 //31/12/2200 struct _GtkDateEntry { GtkBox box; /*< private >*/ GtkDateEntryPrivate *priv; }; struct _GtkDateEntryClass { GtkBoxClass parent_class; /* signals */ void (* changed) (GtkDateEntry *dateentry); /* Padding for future expansion */ void (*_gtk_reserved0) (void); void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); }; struct _GtkDateEntryPrivate { GtkWidget *entry; GtkWidget *button; GtkWidget *arrow; GtkWidget *popover; GtkWidget *calendar; GDate *date; guint32 lastdate; GDate nowdate, mindate, maxdate; gulong hid_dayselect; }; GType gtk_date_entry_get_type(void) G_GNUC_CONST; GtkWidget *gtk_date_entry_new(GtkWidget *label); guint32 gtk_date_entry_get_date(GtkDateEntry * dateentry); void gtk_date_entry_set_date(GtkDateEntry * dateentry, guint32 julian_days); void gtk_date_entry_set_mindate(GtkDateEntry * dateentry, guint32 julian_days); void gtk_date_entry_set_maxdate(GtkDateEntry * dateentry, guint32 julian_days); GDateWeekday gtk_date_entry_get_weekday(GtkDateEntry *dateentry); G_END_DECLS #endif /* __GTK_DATE_ENTRY_H__ */ homebank-5.3.2/src/ui-archive.c0000644000175000017500000010722013604720365013225 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "ui-archive.h" #include "ui-account.h" #include "ui-category.h" #include "ui-payee.h" #include "ui-split.h" #include "ui-tag.h" #include "gtk-dateentry.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; extern gchar *RA_ARC_TYPE[]; extern gchar *CYA_ARC_UNIT[]; extern gchar *RA_ARC_WEEKEND[]; extern HbKvData CYA_TXN_STATUS[]; extern gchar *CYA_TXN_TYPE[]; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void list_tpl_select_by_pointer(GtkTreeView *treeview, gpointer user_data) { GtkTreeModel *model; GtkTreeIter iter; GtkTreeSelection *selection; gboolean valid; Archive *arc = user_data; model = gtk_tree_view_get_model(GTK_TREE_VIEW(treeview)); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)); valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { Archive *tmp_arc; gtk_tree_model_get (model, &iter, LST_DEFARC_DATAS, &tmp_arc, -1); if( arc == tmp_arc ) { gtk_tree_selection_select_iter (selection, &iter); break; } valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } } /* ** ** The function should return: ** a negative integer if the first value comes before the second, ** 0 if they are equal, ** or a positive integer if the first value comes after the second. */ static gint list_tpl_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { gint sortcol = GPOINTER_TO_INT(userdata); Archive *item1, *item2; gdouble tmpval; gint retval = 0; gtk_tree_model_get(model, a, LST_DEFARC_DATAS, &item1, -1); gtk_tree_model_get(model, b, LST_DEFARC_DATAS, &item2, -1); switch (sortcol) { case LST_DEFARC_SORT_DATE: retval = item1->nextdate - item2->nextdate; break; case LST_DEFARC_SORT_MEMO: retval = (item1->flags & GF_INCOME) - (item2->flags & GF_INCOME); if(!retval) { retval = hb_string_utf8_compare(item1->memo, item2->memo); } break; case LST_DEFARC_SORT_PAYEE: { Payee *p1, *p2; p1 = da_pay_get(item1->kpay); p2 = da_pay_get(item2->kpay); if( p1 != NULL && p2 != NULL ) { retval = hb_string_utf8_compare(p1->name, p2->name); } } break; case LST_DEFARC_SORT_AMOUNT: tmpval = item1->amount - item2->amount; retval = tmpval > 0 ? 1 : -1; break; default: g_return_val_if_reached(0); } return retval; } static void list_tpl_auto_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Archive *item; gchar *info, *iconname; // get the transaction gtk_tree_model_get(model, iter, LST_DEFARC_DATAS, &item, -1); switch(GPOINTER_TO_INT(user_data)) { case 1: iconname = ( item->flags & OF_AUTO ) ? ICONNAME_HB_OPE_AUTO : NULL; g_object_set(renderer, "icon-name", iconname, NULL); break; case 2: info = NULL; //TODO: this is crappy/unsafe to call CYA_ARC_UNIT here if( ( item->flags & OF_AUTO ) ) info = g_strdup_printf("%d %s", item->every, CYA_ARC_UNIT[item->unit]); g_object_set(renderer, "text", info, NULL); g_free(info); break; } } static void list_tpl_date_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Archive *arc; gchar buffer[256]; GDate *date; gtk_tree_model_get(model, iter, LST_DEFARC_DATAS, &arc, -1); if(arc && (arc->flags & OF_AUTO) ) { date = g_date_new_julian (arc->nextdate); g_date_strftime (buffer, 256-1, PREFS->date_format, date); g_date_free(date); //g_snprintf(buf, sizeof(buf), "%d", ope->ope_Date); g_object_set(renderer, "text", buffer, NULL); } else g_object_set(renderer, "text", NULL, NULL); } /* ** draw some text from the stored data structure */ static void list_tpl_cell_data_function_memo (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Archive *item; gtk_tree_model_get(model, iter, LST_DEFARC_DATAS, &item, -1); g_object_set(renderer, "text", item->memo, NULL); } static void list_tpl_cell_data_function_payee (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Archive *arc; Payee *pay; gtk_tree_model_get(model, iter, LST_DEFARC_DATAS, &arc, -1); if(arc) { pay = da_pay_get(arc->kpay); if(pay != NULL) g_object_set(renderer, "text", pay->name, NULL); } else g_object_set(renderer, "text", NULL, NULL); } static void list_tpl_amount_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Archive *arc; gdouble amount; gchar buf[G_ASCII_DTOSTR_BUF_SIZE]; Account *acc; gchar *color; gint weight; gtk_tree_model_get(model, iter, LST_DEFARC_DATAS, &arc, -1); amount = arc->amount; if( amount != 0.0) { acc = da_acc_get(arc->kacc); if( acc != NULL ) hb_strfmon(buf, G_ASCII_DTOSTR_BUF_SIZE-1, amount, acc->kcur, GLOBALS->minor); else hb_strfmon(buf, G_ASCII_DTOSTR_BUF_SIZE-1, amount, GLOBALS->kcur, GLOBALS->minor); color = get_normal_color_amount(amount); weight = arc == NULL ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL; g_object_set(renderer, "weight", weight, "foreground", color, "text", buf, NULL); } else { g_object_set(renderer, "text", NULL, NULL); } } static void list_tpl_cell_data_function_account (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Archive *arc; Account *acc; gtk_tree_model_get(model, iter, LST_DEFARC_DATAS, &arc, -1); acc = da_acc_get(arc->kacc); if(acc != NULL) g_object_set(renderer, "text", acc->name, NULL); else g_object_set(renderer, "text", NULL, NULL); } #if MYDEBUG == 1 static void list_tpl_cell_data_function_debugkey (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Archive *item; gchar *string; gtk_tree_model_get(model, iter, LST_DEFARC_DATAS, &item, -1); string = g_strdup_printf ("[%d]", item->key ); g_object_set(renderer, "text", string, NULL); g_free(string); } #endif static GtkTreeViewColumn * list_tpl_column_text_create(gchar *title, gint sortcolumnid, GtkTreeCellDataFunc func, gpointer user_data) { GtkTreeViewColumn *column; GtkCellRenderer *renderer; renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "ellipsize", PANGO_ELLIPSIZE_END, "ellipsize-set", TRUE, //taken from nemo, not exactly a resize to content, but good compromise "width-chars", 40, NULL); column = gtk_tree_view_column_new_with_attributes(title, renderer, NULL); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_column_set_sort_column_id (column, sortcolumnid); //gtk_tree_view_column_set_reorderable(column, TRUE); gtk_tree_view_column_set_min_width (column, HB_MINWIDTH_COLUMN); gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_FIXED); //gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_GROW_ONLY); //gtk_tree_view_column_set_expand (column, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, func, user_data, NULL); return column; } //TODO: we could maybe merge this list with the scheduled list static GtkWidget *list_tpl_new(void) { GtkListStore *store; GtkWidget *view; GtkCellRenderer *renderer; GtkTreeViewColumn *column; //store store = gtk_list_store_new ( NUM_LST_DEFARC, G_TYPE_POINTER, G_TYPE_UINT, G_TYPE_BOOLEAN ); //treeview view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); g_object_unref(store); gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (view), PREFS->grid_lines); #if MYDEBUG == 1 column = list_tpl_column_text_create(NULL, 0, list_tpl_cell_data_function_debugkey, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #endif /* column: Scheduled icon */ column = gtk_tree_view_column_new(); renderer = gtk_cell_renderer_pixbuf_new (); //gtk_cell_renderer_set_fixed_size(renderer, GLOBALS->lst_pixbuf_maxwidth, -1); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_tpl_auto_cell_data_function, GINT_TO_POINTER(1), NULL); renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "ellipsize", PANGO_ELLIPSIZE_END, "ellipsize-set", TRUE, //taken from nemo, not exactly a resize to content, but good compromise "width-chars", 40, NULL); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_tpl_auto_cell_data_function, GINT_TO_POINTER(2), NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Next on */ renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 1.0, NULL); column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Next date")); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_tpl_date_cell_data_function, NULL, NULL); gtk_tree_view_column_set_sort_column_id (column, LST_DEFARC_SORT_DATE); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Payee */ column = list_tpl_column_text_create(_("Payee"), LST_DEFARC_SORT_PAYEE, list_tpl_cell_data_function_payee, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Memo */ column = list_tpl_column_text_create(_("Memo"), LST_DEFARC_SORT_MEMO, list_tpl_cell_data_function_memo, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column : amount */ column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Amount")); renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 1.0, NULL); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, list_tpl_amount_cell_data_function, NULL, NULL); gtk_tree_view_column_set_sort_column_id (column, LST_DEFARC_SORT_AMOUNT); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column : Account */ column = list_tpl_column_text_create(_("Account"), LST_DEFARC_SORT_ACCOUNT, list_tpl_cell_data_function_account, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); //sortable gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DEFARC_SORT_DATE, list_tpl_compare_func, GINT_TO_POINTER(LST_DEFARC_SORT_DATE), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DEFARC_SORT_MEMO, list_tpl_compare_func, GINT_TO_POINTER(LST_DEFARC_SORT_MEMO), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DEFARC_SORT_PAYEE, list_tpl_compare_func, GINT_TO_POINTER(LST_DEFARC_SORT_PAYEE), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DEFARC_SORT_AMOUNT, list_tpl_compare_func, GINT_TO_POINTER(LST_DEFARC_SORT_AMOUNT), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DEFARC_SORT_ACCOUNT, list_tpl_compare_func, GINT_TO_POINTER(LST_DEFARC_SORT_ACCOUNT), NULL); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), LST_DEFARC_SORT_MEMO, GTK_SORT_ASCENDING); //gtk_tree_view_set_headers_visible (GTK_TREE_VIEW(view), FALSE); //gtk_tree_view_set_reorderable (GTK_TREE_VIEW(view), TRUE); return(view); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void ui_arc_manage_update(GtkWidget *widget, gpointer user_data) { struct ui_arc_manage_data *data; GtkTreeModel *model; GtkTreeIter iter; Archive *arc; gboolean selected, sensitive; DB( g_print("\n[ui_scheduled] update\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); selected = gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_arc)), &model, &iter); sensitive = (selected == TRUE) ? TRUE : FALSE; gtk_widget_set_sensitive(data->BT_edit, sensitive); gtk_widget_set_sensitive(data->BT_rem, sensitive); gtk_widget_set_sensitive(data->MB_schedule, sensitive); gtk_widget_set_sensitive(data->CM_auto, sensitive); sensitive = FALSE; if(selected) { gtk_tree_model_get(model, &iter, LST_DEFARC_DATAS, &arc, -1); if( arc->flags & OF_AUTO ) sensitive = TRUE; } gtk_widget_set_sensitive(data->LB_next, sensitive); gtk_widget_set_sensitive(data->PO_next, sensitive); gtk_widget_set_sensitive(data->LB_every, sensitive); gtk_widget_set_sensitive(data->NB_every, sensitive); gtk_widget_set_sensitive(data->LB_weekend, sensitive); gtk_widget_set_sensitive(data->CY_weekend, sensitive); gtk_widget_set_sensitive(data->EX_options, sensitive); gtk_widget_set_sensitive(data->CY_unit, sensitive); gtk_widget_set_sensitive(data->CM_limit, sensitive); gtk_widget_set_sensitive(data->LB_posts, sensitive); sensitive = (sensitive == TRUE) ? gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_limit)) : sensitive; gtk_widget_set_sensitive(data->NB_limit, sensitive); if(selected) { GtkTreePath *path; /* redraw the row to display/hide the icon */ path = gtk_tree_model_get_path(model, &iter); gtk_tree_model_row_changed(model, path, &iter); gtk_tree_path_free (path); // gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_arc)); //gtk_widget_queue_draw (GTK_WIDGET(data->LV_arc)); } } static void ui_arc_manage_cd_schedule_changed(GtkWidget *widget, gpointer user_data) { struct ui_arc_manage_data *data; Archive *arcitem; GtkTreeModel *model; GtkTreeIter iter; gboolean selected, sensitive; DB( g_print("\n[ui_scheduled] scheduled\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); sensitive = FALSE; selected = gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_arc)), &model, &iter); if(selected) { gtk_tree_model_get(model, &iter, LST_DEFARC_DATAS, &arcitem, -1); arcitem->flags &= ~(OF_AUTO); sensitive = gtk_switch_get_active(GTK_SWITCH(data->CM_auto)) ? TRUE : FALSE; if(sensitive) arcitem->flags |= OF_AUTO; } ui_arc_manage_update(widget, user_data); } static void ui_arc_manage_populate_listview(struct ui_arc_manage_data *data) { GtkTreeModel *model; GtkTreeIter iter; GList *list; gchar *needle; gboolean hastext; gint i, type; DB( g_print("\n[ui_scheduled] populate listview\n") ); type = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_flttype)) == 1 ? ARC_TYPE_TEMPLATE : ARC_TYPE_SCHEDULED; model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_arc)); hastext = (gtk_entry_get_text_length (GTK_ENTRY(data->ST_search)) >= 2) ? TRUE : FALSE; needle = (gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_search)); DB( g_print(" - type=%d\n", type) ); gtk_list_store_clear (GTK_LIST_STORE(model)); i=0; list = g_list_first(GLOBALS->arc_list); while (list != NULL) { Archive *item = list->data; gboolean insert = TRUE; if( (type == ARC_TYPE_SCHEDULED) && !(item->flags & OF_AUTO) ) insert = FALSE; if( (type == ARC_TYPE_TEMPLATE) && (item->flags & OF_AUTO) ) insert = FALSE; if(hastext) { insert = filter_tpl_search_match(needle, item); } if( insert ) { gtk_list_store_insert_with_values (GTK_LIST_STORE(model), &iter, -1, LST_DEFARC_DATAS, item, //data struct LST_DEFARC_OLDPOS, i, //oldpos -1); } //DB( g_print(" populate_treeview: %d %08x\n", i, list->data) ); i++; list = g_list_next(list); } // gtk_tree_view_expand_all (GTK_TREE_VIEW(data->LV_arc)); } static void ui_arc_manage_cb_add_clicked(GtkWidget *widget, gpointer user_data) { struct ui_arc_manage_data *data; GtkTreeModel *model; GtkTreeIter iter; Archive *item; gint type; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n[ui_scheduled] add\n") ); model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_arc)); GtkWidget *dialog; Transaction *new_txn = da_transaction_malloc(); gboolean result; dialog = create_deftransaction_window(GTK_WINDOW(data->dialog), TXN_DLG_ACTION_ADD, TXN_DLG_TYPE_TPL, 0); deftransaction_set_transaction(dialog, new_txn); result = gtk_dialog_run (GTK_DIALOG (dialog)); if(result == HB_RESPONSE_ADD) { deftransaction_get(dialog, NULL); item = da_archive_malloc(); //item->memo = g_strdup_printf(_("(template %d)"), g_list_length(GLOBALS->arc_list) + 1); da_archive_init_from_transaction(item, new_txn); type = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_flttype)) == 1 ? ARC_TYPE_TEMPLATE : ARC_TYPE_SCHEDULED; if( type == ARC_TYPE_SCHEDULED ) item->flags |= OF_AUTO; item->every = 1; item->unit = 2; item->nextdate = GLOBALS->today; //GLOBALS->arc_list = g_list_append(GLOBALS->arc_list, item); da_archive_append_new(item); DB( g_print(" - kacc: '%d'\n", item->kacc) ); gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, LST_DEFARC_DATAS, item, LST_DEFARC_OLDPOS, 0, -1); gtk_tree_selection_select_iter (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_arc)), &iter); data->change++; } deftransaction_dispose(dialog, NULL); gtk_widget_destroy (dialog); da_transaction_free(new_txn); } static void ui_arc_manage_cb_edit_clicked(GtkWidget *widget, gpointer user_data) { struct ui_arc_manage_data *data; GtkTreeModel *model; GtkTreeIter iter; gboolean selected; Archive *arcitem; GtkWidget *dialog; Transaction *new_txn = da_transaction_malloc(); gboolean result; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); selected = gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_arc)), &model, &iter); if(selected) { gtk_tree_model_get(model, &iter, LST_DEFARC_DATAS, &arcitem, -1); dialog = create_deftransaction_window(GTK_WINDOW(data->dialog), TXN_DLG_ACTION_EDIT, TXN_DLG_TYPE_TPL, 0); da_transaction_init_from_template(new_txn, arcitem); deftransaction_set_transaction(dialog, new_txn); result = gtk_dialog_run (GTK_DIALOG (dialog)); if(result == GTK_RESPONSE_ACCEPT) { deftransaction_get(dialog, NULL); da_archive_init_from_transaction(arcitem, new_txn); //this redraw the row gtk_tree_selection_select_iter (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_arc)), &iter); data->change++; } deftransaction_dispose(dialog, NULL); gtk_widget_destroy (dialog); da_transaction_free(new_txn); } } static void ui_arc_manage_cb_delete_clicked(GtkWidget *widget, gpointer user_data) { struct ui_arc_manage_data *data; GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; Archive *item; gint result; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print("\n[ui_scheduled] delete (data=%p)\n", data) ); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_arc)); //if true there is a selected node if (gtk_tree_selection_get_selected(selection, &model, &iter)) { gchar *title; gchar *secondtext; gtk_tree_model_get(model, &iter, LST_DEFARC_DATAS, &item, -1); title = g_strdup_printf ( _("Are you sure you want to permanently delete '%s'?"), item->memo); secondtext = _("If you delete a scheduled/template, it will be permanently lost."); result = ui_dialog_msg_confirm_alert( GTK_WINDOW(data->dialog), title, secondtext, _("_Delete") ); g_free(title); if( result == GTK_RESPONSE_OK ) { gtk_list_store_remove(GTK_LIST_STORE(model), &iter); GLOBALS->arc_list = g_list_remove(GLOBALS->arc_list, item); data->change++; } //DB( g_print(" delete =%08x (pos=%d)\n", entry, g_list_index(data->tmp_list, entry) ) ); } } static void ui_arc_manage_set(GtkWidget *widget, gpointer user_data) { struct ui_arc_manage_data *data; GtkTreeModel *model; GtkTreeIter iter; Archive *item; DB( g_print("\n[ui_scheduled] set\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_arc)), &model, &iter)) { gtk_tree_model_get(model, &iter, LST_DEFARC_DATAS, &item, -1); gtk_switch_set_active(GTK_SWITCH(data->CM_auto), (item->flags & OF_AUTO) ? 1 : 0); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->NB_every), item->every); gtk_combo_box_set_active(GTK_COMBO_BOX(data->CY_unit), item->unit); gtk_date_entry_set_date(GTK_DATE_ENTRY(data->PO_next), item->nextdate); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_limit), (item->flags & OF_LIMIT) ? 1 : 0); DB( g_print("nb_limit = %d %g\n", item->limit, (gdouble)item->limit) ); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->NB_limit), (gdouble)item->limit); gtk_combo_box_set_active(GTK_COMBO_BOX(data->CY_weekend), item->weekend); } } static void ui_arc_manage_getlast(struct ui_arc_manage_data *data) { GtkTreeModel *model; GtkTreeIter iter; Archive *item; gboolean active; DB( g_print("\n[ui_scheduled] getlast\n") ); if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_arc)), &model, &iter)) { gtk_tree_model_get(model, &iter, LST_DEFARC_DATAS, &item, -1); active = gtk_switch_get_active(GTK_SWITCH(data->CM_auto)); if(active == 1) item->flags |= OF_AUTO; gtk_spin_button_update(GTK_SPIN_BUTTON(data->NB_every)); item->every = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(data->NB_every)); item->unit = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_unit)); item->nextdate = gtk_date_entry_get_date(GTK_DATE_ENTRY(data->PO_next)); active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_limit)); if(active == 1) item->flags |= OF_LIMIT; gtk_spin_button_update(GTK_SPIN_BUTTON(data->NB_limit)); item->limit = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(data->NB_limit)); item->weekend = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_weekend)); data->change++; } } static void ui_arc_manage_cb_popover_closed(GtkWidget *popover, gpointer user_data) { struct ui_arc_manage_data *data; GtkTreeModel *model; GtkTreeIter iter; GtkTreePath *path; gboolean selected; DB( g_print("\n[ui_scheduled] cb popover closed\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(popover, GTK_TYPE_WINDOW)), "inst_data"); /* redraw the row to display/hide the icon */ selected = gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_arc)), &model, &iter); if(selected) { ui_arc_manage_getlast(data); path = gtk_tree_model_get_path(model, &iter); #if MYDEBUG == 1 gchar *spath = gtk_tree_path_to_string(path); g_print(" selected '%s'\n", spath); g_free(spath); #endif gtk_tree_model_row_changed(model, path, &iter); gtk_tree_path_free (path); } } static void ui_arc_manage_cb_selection_changed(GtkTreeSelection *treeselection, gpointer user_data) { struct ui_arc_manage_data *data; GtkWidget *treeview; GtkTreeModel *model; GtkTreeIter iter; gboolean selected; Archive *arcitem; DB( g_print("\n[ui_scheduled] selection\n") ); treeview = (GtkWidget *)gtk_tree_selection_get_tree_view (treeselection); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(treeview, GTK_TYPE_WINDOW)), "inst_data"); selected = gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_arc)), &model, &iter); if(selected) { gtk_tree_model_get(model, &iter, LST_DEFARC_DATAS, &arcitem, -1); ui_arc_manage_set(treeview, NULL); } ui_arc_manage_update(GTK_WIDGET(treeview), NULL); } static void ui_arc_manage_cb_row_activated (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *col, gpointer userdata) { ui_arc_manage_cb_edit_clicked(GTK_WIDGET(treeview), userdata); } static void ui_arc_manage_cb_flttype_changed (GtkToggleButton *button, gpointer user_data) { ui_arc_manage_populate_listview(user_data); //g_print(" toggle type=%d\n", gtk_toggle_button_get_active(button)); } static gboolean ui_arc_manage_cleanup(struct ui_arc_manage_data *data, gint result) { gboolean doupdate = FALSE; DB( g_print("\n[ui_scheduled] cleanup\n") ); GLOBALS->arc_list = da_archive_sort(GLOBALS->arc_list); GLOBALS->changes_count += data->change; return doupdate; } static void ui_arc_manage_setup(struct ui_arc_manage_data *data) { DB( g_print("\n[ui_scheduled] setup\n") ); //init GList data->tmp_list = NULL; //hb-glist_clone_list(GLOBALS->arc_list, sizeof(struct _Archive)); data->change = 0; //hb-glist_populate_treeview(data->tmp_list, data->LV_arc, LST_DEFARC_DATAS, LST_DEFARC_OLDPOS); //insert all glist item into treeview ui_arc_manage_populate_listview(data); } static GtkWidget * ui_arc_manage_create_scheduling(struct ui_arc_manage_data *data) { GtkWidget *content, *group_grid, *hbox, *expander, *label, *widget; gint row; content = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING_SMALL); // group :: Scheduled insertion group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); gtk_box_pack_start (GTK_BOX (content), group_grid, FALSE, FALSE, 0); row = 0; widget = gtk_switch_new(); data->CM_auto = widget; gtk_widget_set_halign(widget, GTK_ALIGN_START); gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); row++; label = gtk_label_new_with_mnemonic (_("Next _date:")); data->LB_next = label; gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); widget = gtk_date_entry_new(label); data->PO_next = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); row++; label = make_label_widget(_("Ever_y:")); data->LB_every = label; gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); gtk_grid_attach (GTK_GRID (group_grid), hbox, 1, row, 1, 1); widget = make_numeric(label, 1, 100); data->NB_every = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); //label = gtk_label_new_with_mnemonic (_("_Unit:")); //gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); widget = make_cycle(label, CYA_ARC_UNIT); data->CY_unit = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); expander = gtk_expander_new_with_mnemonic(_("More options")); data->EX_options = expander; gtk_box_pack_start (GTK_BOX (content), expander, FALSE, FALSE, 0); // group :: Scheduled insertion group_grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL); gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM); g_object_set(group_grid, "margin", SPACING_SMALL, NULL); gtk_container_add(GTK_CONTAINER(expander), group_grid); row++; label = make_label_widget(_("Week end:")); data->LB_weekend = label; gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); widget = make_cycle(label, RA_ARC_WEEKEND); data->CY_weekend = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); row++; label = make_label_widget(_("_Stop after:")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); gtk_grid_attach (GTK_GRID (group_grid), hbox, 1, row, 1, 1); widget = gtk_check_button_new(); data->CM_limit = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); widget = make_numeric(label, 1, 366); data->NB_limit = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); label = gtk_label_new_with_mnemonic (_("posts")); data->LB_posts = label; gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); gtk_widget_show_all(content); return content; } GtkWidget * ui_arc_manage_dialog (Archive *ext_arc) { struct ui_arc_manage_data *data; GtkWidget *dialog, *content_area, *bbox, *hbox, *vbox, *tbar; GtkWidget *box, *treeview, *scrollwin; GtkWidget *widget, *content, *menubutton, *image, *label; GtkToolItem *toolitem; gint w, h; data = g_malloc0(sizeof(struct ui_arc_manage_data)); if(!data) return NULL; dialog = gtk_dialog_new_with_buttons (_("Manage scheduled/template transactions"), GTK_WINDOW(GLOBALS->mainwindow), 0, _("_Close"), GTK_RESPONSE_ACCEPT, NULL); data->dialog = dialog; gtk_window_set_icon_name(GTK_WINDOW (dialog), ICONNAME_HB_ARCHIVE); //set a nice dialog size gtk_window_get_size(GTK_WINDOW(GLOBALS->mainwindow), &w, &h); gtk_window_set_default_size (GTK_WINDOW(dialog), -1, h/PHI); //store our dialog private data g_object_set_data(G_OBJECT(dialog), "inst_data", (gpointer)data); DB( g_print("\n[ui_scheduled] dialog=%p, inst_data=%p\n", dialog, data) ); //dialog content content_area = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); // return a vbox content = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING_MEDIUM); g_object_set(content, "margin", SPACING_LARGE, NULL); gtk_box_pack_start (GTK_BOX (content_area), content, TRUE, TRUE, 0); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (content), hbox, FALSE, FALSE, 0); widget = hbtk_radio_button_new(RA_ARC_TYPE, TRUE); data->RA_flttype = widget; gtk_widget_set_halign(widget, GTK_ALIGN_CENTER); gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); widget = make_search (); data->ST_search = widget; gtk_widget_set_size_request(widget, HB_MINWIDTH_SEARCH, -1); gtk_widget_set_halign(widget, GTK_ALIGN_END); gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); //list + toolbar vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (content), vbox, TRUE, TRUE, 0); // listview scrollwin = gtk_scrolled_window_new(NULL,NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); treeview = (GtkWidget *)list_tpl_new(); data->LV_arc = treeview; gtk_widget_set_size_request(treeview, HB_MINWIDTH_LIST, -1); gtk_container_add(GTK_CONTAINER(scrollwin), treeview); gtk_box_pack_start (GTK_BOX (vbox), scrollwin, TRUE, TRUE, 0); tbar = gtk_toolbar_new(); gtk_toolbar_set_icon_size (GTK_TOOLBAR(tbar), GTK_ICON_SIZE_MENU); gtk_toolbar_set_style(GTK_TOOLBAR(tbar), GTK_TOOLBAR_ICONS); gtk_style_context_add_class (gtk_widget_get_style_context (tbar), GTK_STYLE_CLASS_INLINE_TOOLBAR); gtk_box_pack_start (GTK_BOX (vbox), tbar, FALSE, FALSE, 0); bbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); toolitem = gtk_tool_item_new(); gtk_container_add (GTK_CONTAINER(toolitem), bbox); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); //widget = gtk_button_new_with_mnemonic(_("_Add")); widget = make_image_button(ICONNAME_LIST_ADD, _("Add")); data->BT_add = widget; gtk_container_add (GTK_CONTAINER(bbox), widget); //widget = gtk_button_new_with_mnemonic(_("_Edit")); widget = make_image_button(ICONNAME_LIST_EDIT, _("Edit")); data->BT_edit = widget; gtk_container_add (GTK_CONTAINER(bbox), widget); //schedule button menubutton = gtk_menu_button_new (); data->MB_schedule = menubutton; gtk_menu_button_set_direction (GTK_MENU_BUTTON(menubutton), GTK_ARROW_DOWN ); gtk_widget_set_halign (menubutton, GTK_ALIGN_END); //gtk_widget_set_hexpand (menubutton, TRUE); gtk_widget_show_all(menubutton); gtk_container_add (GTK_CONTAINER(bbox), menubutton); box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); label = gtk_label_new_with_mnemonic (_("_Schedule")); gtk_box_pack_start (GTK_BOX(box), label, FALSE, FALSE, 0); image = gtk_image_new_from_icon_name ("pan-down-symbolic", GTK_ICON_SIZE_BUTTON); gtk_box_pack_start (GTK_BOX(box), image, FALSE, FALSE, 0); gtk_container_add(GTK_CONTAINER(menubutton), box); GtkWidget *template = ui_arc_manage_create_scheduling(data); GtkWidget *popover = create_popover (menubutton, template, GTK_POS_TOP); gtk_menu_button_set_popover(GTK_MENU_BUTTON(menubutton), popover); //widget = gtk_button_new_with_mnemonic(_("_Delete")); widget = make_image_button(ICONNAME_LIST_DELETE, "Delete"); data->BT_rem = widget; gtk_container_add (GTK_CONTAINER(bbox), widget); toolitem = gtk_separator_tool_item_new (); gtk_tool_item_set_expand (toolitem, TRUE); gtk_separator_tool_item_set_draw(GTK_SEPARATOR_TOOL_ITEM(toolitem), FALSE); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); //toolitem = gtk_tool_item_new(); //gtk_container_add (GTK_CONTAINER(toolitem), widget); //gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); toolitem = gtk_separator_tool_item_new (); gtk_tool_item_set_expand (toolitem, TRUE); gtk_separator_tool_item_set_draw(GTK_SEPARATOR_TOOL_ITEM(toolitem), FALSE); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); /* set default periodicity to month */ //todo: move elsewhere gtk_combo_box_set_active(GTK_COMBO_BOX(data->CY_unit), 2); gtk_widget_show_all(content); //connect all our signals g_signal_connect (dialog, "destroy", G_CALLBACK (gtk_widget_destroyed), &dialog); g_signal_connect (data->ST_search, "search-changed", G_CALLBACK (ui_arc_manage_cb_flttype_changed), data); g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_arc)), "changed", G_CALLBACK (ui_arc_manage_cb_selection_changed), NULL); g_signal_connect (data->LV_arc, "row-activated", G_CALLBACK (ui_arc_manage_cb_row_activated), NULL); g_signal_connect (data->BT_add , "clicked", G_CALLBACK (ui_arc_manage_cb_add_clicked), NULL); g_signal_connect (data->BT_edit, "clicked", G_CALLBACK (ui_arc_manage_cb_edit_clicked), NULL); g_signal_connect (data->BT_rem , "clicked", G_CALLBACK (ui_arc_manage_cb_delete_clicked), NULL); hbtk_radio_button_connect (GTK_CONTAINER(data->RA_flttype), "toggled", G_CALLBACK (ui_arc_manage_cb_flttype_changed), data); g_signal_connect (popover, "closed", G_CALLBACK (ui_arc_manage_cb_popover_closed), NULL); g_signal_connect (data->CM_auto, "notify::active", G_CALLBACK (ui_arc_manage_cd_schedule_changed), NULL); g_signal_connect (data->CM_limit, "toggled", G_CALLBACK (ui_arc_manage_cd_schedule_changed), NULL); //setup, init and show dialog ui_arc_manage_setup(data); ui_arc_manage_update(data->LV_arc, NULL); gtk_widget_grab_focus(GTK_WIDGET(data->LV_arc)); gtk_widget_show (dialog); if(ext_arc != NULL) list_tpl_select_by_pointer(GTK_TREE_VIEW(data->LV_arc), ext_arc); //wait for the user gint result = gtk_dialog_run (GTK_DIALOG (dialog)); switch (result) { case GTK_RESPONSE_ACCEPT: //do_application_specific_something (); break; default: //do_nothing_since_dialog_was_cancelled (); break; } // cleanup and destroy ui_arc_manage_cleanup(data, result); gtk_widget_destroy (dialog); g_free(data); return NULL; } homebank-5.3.2/src/hb-import-ofx.c0000664000175000017500000002643713604720365013700 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hb-import.h" #ifndef NOOFX #include #endif /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; #ifndef NOOFX /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /** * ofx_proc_account_cb: * * The ofx_proc_account_cb event is always generated first, to allow the application to create accounts * or ask the user to match an existing account before the ofx_proc_statement and ofx_proc_transaction * event are received. An OfxAccountData is passed to this event. * */ static LibofxProcStatementCallback ofx_proc_account_cb(const struct OfxAccountData data, ImportContext *ctx) { GenAcc *genacc; Account *dst_acc; DB( g_print("** ofx_proc_account_cb()\n") ); if(data.account_id_valid==true) { DB( g_print(" account_id: %s\n", data.account_id) ); DB( g_print(" account_name: %s\n", data.account_name) ); } //if(data.account_number_valid==true) //{ DB( g_print(" account_number: %s\n", data.account_number) ); //} if(data.account_type_valid==true) { DB( g_print(" account_type: %d\n", data.account_type) ); /* enum: OFX_CHECKING A standard checking account OFX_SAVINGS A standard savings account OFX_MONEYMRKT A money market account OFX_CREDITLINE A line of credit OFX_CMA Cash Management Account OFX_CREDITCARD A credit card account OFX_INVESTMENT An investment account */ } if(data.currency_valid==true) { DB( g_print(" currency: %s\n", data.currency) ); } //todo: normally should check for validity here // in every case we create an account here DB( g_print(" -> create generic account: '%s':'%s'\n", data.account_id, data.account_name) ); genacc = hb_import_gen_acc_get_next (ctx, FILETYPE_OFX, (gchar *)data.account_name, (gchar *)data.account_id); ctx->curr_acc_isnew = TRUE; dst_acc = hb_import_acc_find_existing((gchar *)data.account_name, (gchar *)data.account_id ); if( dst_acc != NULL ) { genacc->kacc = dst_acc->key; ctx->curr_acc_isnew = FALSE; if(dst_acc->type == ACC_TYPE_CREDITCARD) genacc->is_ccard = TRUE; } ctx->curr_acc = genacc; DB( fputs("\n",stdout) ); return 0; } /** * ofx_proc_statement_cb: * * The ofx_proc_statement_cb event is sent after all ofx_proc_transaction events have been sent. * An OfxStatementData is passed to this event. * */ static LibofxProcStatementCallback ofx_proc_statement_cb(const struct OfxStatementData data, ImportContext *ctx) { DB( g_print("** ofx_proc_statement_cb()\n") ); #if MYDEBUG == 1 if(data.ledger_balance_date_valid==true) { struct tm temp_tm; temp_tm = *localtime(&(data.ledger_balance_date)); g_print("ledger_balance_date : %d%s%d%s%d%s", temp_tm.tm_mday, "/", temp_tm.tm_mon+1, "/", temp_tm.tm_year+1900, "\n"); } #endif if(data.ledger_balance_valid==true) { if( ctx->curr_acc != NULL && ctx->curr_acc_isnew == TRUE ) { ctx->curr_acc->initial = data.ledger_balance; } DB( g_print("ledger_balance: $%.2f%s",data.ledger_balance,"\n") ); } return 0; } /** * ofx_proc_statement_cb: * * An ofx_proc_transaction_cb event is generated for every transaction in the ofx response, * after ofx_proc_statement (and possibly ofx_proc_security is generated. * An OfxTransactionData structure is passed to this event. * */ static LibofxProcStatementCallback ofx_proc_transaction_cb(const struct OfxTransactionData data, ImportContext *ctx) { struct tm *temp_tm; GDate date; GenTxn *gentxn; DB( g_print("** ofx_proc_transaction_cb()\n") ); gentxn = da_gen_txn_malloc(); // date gentxn->julian = 0; if(data.date_posted_valid && (data.date_posted != 0)) { temp_tm = localtime(&data.date_posted); if( temp_tm != 0) { g_date_set_dmy(&date, temp_tm->tm_mday, temp_tm->tm_mon+1, temp_tm->tm_year+1900); gentxn->julian = g_date_get_julian(&date); } } else if (data.date_initiated_valid && (data.date_initiated != 0)) { temp_tm = localtime(&data.date_initiated); if( temp_tm != 0) { g_date_set_dmy(&date, temp_tm->tm_mday, temp_tm->tm_mon+1, temp_tm->tm_year+1900); gentxn->julian = g_date_get_julian(&date); } } // amount if(data.amount_valid==true) { gentxn->amount = data.amount; } // check number :: The check number is most likely an integer and can probably be converted properly with atoi(). //However the spec allows for up to 12 digits, so it is not garanteed to work if(data.check_number_valid==true) { gentxn->rawinfo = g_strdup(data.check_number); } //todo: reference_number ?Might present in addition to or instead of a check_number. Not necessarily a number // ofx:name = Can be the name of the payee or the description of the transaction if(data.name_valid==true) { gentxn->rawpayee = g_strdup(data.name); } //memo ( new for v4.2) #319202 Extra information not included in name DB( g_print(" -> memo is='%d'\n", data.memo_valid) ); if(data.memo_valid==true) { gentxn->rawmemo = g_strdup(data.memo); } // payment if(data.transactiontype_valid==true) { switch(data.transactiontype) { //#740373 case OFX_CREDIT: if(gentxn->amount < 0) gentxn->amount *= -1; break; case OFX_DEBIT: if(gentxn->amount > 0) gentxn->amount *= -1; break; case OFX_INT: gentxn->paymode = PAYMODE_XFER; break; case OFX_DIV: gentxn->paymode = PAYMODE_XFER; break; case OFX_FEE: gentxn->paymode = PAYMODE_FEE; break; case OFX_SRVCHG: gentxn->paymode = PAYMODE_XFER; break; case OFX_DEP: gentxn->paymode = PAYMODE_DEPOSIT; break; case OFX_ATM: gentxn->paymode = PAYMODE_CASH; break; case OFX_POS: if(ctx->curr_acc && ctx->curr_acc->is_ccard == TRUE) gentxn->paymode = PAYMODE_CCARD; else gentxn->paymode = PAYMODE_DCARD; break; case OFX_XFER: gentxn->paymode = PAYMODE_XFER; break; case OFX_CHECK: gentxn->paymode = PAYMODE_CHECK; break; case OFX_PAYMENT: gentxn->paymode = PAYMODE_EPAYMENT; break; case OFX_CASH: gentxn->paymode = PAYMODE_CASH; break; case OFX_DIRECTDEP: gentxn->paymode = PAYMODE_DEPOSIT; break; case OFX_DIRECTDEBIT: //1854953: directdebit not adding in 4.6 //gentxn->paymode = PAYMODE_XFER; gentxn->paymode = PAYMODE_DIRECTDEBIT; break; case OFX_REPEATPMT: gentxn->paymode = PAYMODE_REPEATPMT; break; case OFX_OTHER: break; default : break; } } if( ctx->curr_acc ) { gentxn->account = g_strdup(ctx->curr_acc->name); #if MYDEBUG == 1 if(gentxn->rawinfo) g_print(" len info %d %ld\n", (int)strlen(gentxn->rawinfo) , g_utf8_strlen(gentxn->rawinfo, -1)); if(gentxn->rawmemo) g_print(" len memo %d %ld\n", (int)strlen(gentxn->rawmemo) , g_utf8_strlen(gentxn->rawmemo, -1)); if(gentxn->rawpayee) g_print(" len name %d %ld\n", (int)strlen(gentxn->rawpayee), g_utf8_strlen(gentxn->rawpayee, -1)); #endif //#1842935 workaround for libofx truncate bug that can leave invalid UTF-8 string //NAME = A-32 (96 allowed) #if( (GLIB_MAJOR_VERSION == 2) && (GLIB_MINOR_VERSION >= 52) ) if( gentxn->rawpayee && g_utf8_strlen(gentxn->rawpayee, -1) > 32 ) { gchar *oldtxt = gentxn->rawpayee; DB( g_print(" ensure UTF-8 for truncated NAME='%s'\n", oldtxt) ); gentxn->rawpayee = g_utf8_make_valid(oldtxt, -1); g_free(oldtxt); } #endif //TODO: maybe MEMO = A-255 /* ensure utf-8 here, has under windows, libofx not always return utf-8 as it should */ #ifndef G_OS_UNIX DB( g_print(" ensure UTF-8\n") ); gentxn->rawinfo = homebank_utf8_ensure(gentxn->rawinfo); gentxn->rawmemo = homebank_utf8_ensure(gentxn->rawmemo); gentxn->rawpayee = homebank_utf8_ensure(gentxn->rawpayee); #endif da_gen_txn_append(ctx, gentxn); DB( g_print(" insert gentxn: acc=%s\n", gentxn->account) ); if( ctx->curr_acc_isnew == TRUE ) { DB( g_print(" sub amount from initial\n") ); ctx->curr_acc->initial -= data.amount; } } else { da_gen_txn_free(gentxn); DB( g_print(" no account, insert txn skipped\n") ); } return 0; } static LibofxProcStatusCallback ofx_proc_status_cb(const struct OfxStatusData data, ImportContext *ctx) { DB( g_print("** ofx_proc_status_cb()\n") ); if(data.ofx_element_name_valid==true){ DB( g_print(" Ofx entity this status is relevent to: '%s'\n", data.ofx_element_name) ); } if(data.severity_valid==true){ DB( g_print(" Severity: ") ); switch(data.severity){ case INFO : DB( g_print("INFO\n") ); break; case WARN : DB( g_print("WARN\n") ); break; case ERROR : DB( g_print("ERROR\n") ); break; default: DB( g_print("WRITEME: Unknown status severity!\n") ); } } if(data.code_valid==true){ DB( g_print(" Code: %d, name: %s\n Description: %s\n", data.code, data.name, data.description) ); } if(data.server_message_valid==true){ DB( g_print(" Server Message: %s\n", data.server_message) ); } DB( g_print("\n") ); return 0; } GList *homebank_ofx_import(ImportContext *ictx, GenFile *genfile) { /*extern int ofx_PARSER_msg; extern int ofx_DEBUG_msg; extern int ofx_WARNING_msg; extern int ofx_ERROR_msg; extern int ofx_INFO_msg; extern int ofx_STATUS_msg;*/ DB( g_print("\n[import] ofx import (libofx=%s) \n", LIBOFX_VERSION_RELEASE_STRING) ); /*ofx_PARSER_msg = false; ofx_DEBUG_msg = false; ofx_WARNING_msg = false; ofx_ERROR_msg = false; ofx_INFO_msg = false; ofx_STATUS_msg = false;*/ LibofxContextPtr libofx_context = libofx_get_new_context(); ofx_set_status_cb (libofx_context, (LibofxProcStatusCallback) ofx_proc_status_cb , ictx); ofx_set_statement_cb (libofx_context, (LibofxProcStatementCallback) ofx_proc_statement_cb , ictx); ofx_set_account_cb (libofx_context, (LibofxProcAccountCallback) ofx_proc_account_cb , ictx); ofx_set_transaction_cb(libofx_context, (LibofxProcTransactionCallback)ofx_proc_transaction_cb, ictx); #ifdef G_OS_WIN32 //#932959: windows don't like utf8 path, so convert gchar *filepath = g_win32_locale_filename_from_utf8(genfile->filepath); libofx_proc_file(libofx_context, filepath, AUTODETECT); g_free(filepath); #else libofx_proc_file(libofx_context, genfile->filepath, AUTODETECT); #endif libofx_free_context(libofx_context); DB( g_print("ofx nb txn=%d\n", g_list_length(ictx->gen_lst_txn) )); return ictx->gen_lst_txn; } #endif homebank-5.3.2/src/hb-import-csv.c0000664000175000017500000002032313604720365013663 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hb-import.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; static gint csvtype[7] = { CSV_DATE, CSV_INT, CSV_STRING, CSV_STRING, CSV_STRING, CSV_DOUBLE, CSV_STRING, }; static gchar *hb_csv_strndup (gchar *str, gsize n) { gchar *new_str; gchar *twoquote; if (str) { new_str = g_new (gchar, n + 1); if(*str=='\"') { str++; n--; } if(str[n-1]=='\"') n--; strncpy (new_str, str, n); new_str[n] = '\0'; // replace "" twoquote = strstr(new_str, "\"\""); if(twoquote) strcpy (twoquote, twoquote+1); //todo: replace & < > ' " ?? } else new_str = NULL; return new_str; } static gchar *hb_csv_find_delimiter(gchar *string, gchar delimiter) { gchar *s = string; gboolean enclosed = FALSE; while( *s != '\0' ) { if( (*s == delimiter) && (enclosed == FALSE) ) break; if( *s == '\"' ) { enclosed = !enclosed; } s++; } return s; } static gboolean hb_csv_row_valid(gchar **str_array, guint nbcolumns, gint *csvtype) { gboolean valid = TRUE; guint i; extern int errno; #if MYDEBUG == 1 gchar *type[5] = { "string", "date", "int", "double" }; gint lasttype; #endif DB( g_print("\n[import-csv] row valid\n") ); DB( g_print(" -> strarr_len=%d, expected=%d\n", g_strv_length( str_array ), nbcolumns) ); if( g_strv_length( str_array ) != nbcolumns ) { valid = FALSE; goto csvend; } for(i=0;i fail on column %d, type: %s\n", i, type[lasttype]) ); break; } DB( g_print(" -> control column %d, type: %d, valid: %d '%s'\n", i, lasttype, valid, str_array[i]) ); switch( csvtype[i] ) { case CSV_DATE: valid = hb_string_isdate(str_array[i]); break; case CSV_STRING: valid = hb_string_isprint(str_array[i]); break; case CSV_INT: valid = hb_string_isdigit(str_array[i]); break; case CSV_DOUBLE : //todo: use strtod (to take care or . or ,) g_ascii_strtod(str_array[i], NULL); //todo : see this errno if( errno ) { DB( g_print("errno: %d\n", errno) ); valid = FALSE; } break; } } csvend: DB( g_print(" --> return %d\n", valid) ); return valid; } static gchar **hb_csv_row_get(gchar *string, gchar delimiter, gint max_tokens) { GSList *string_list = NULL, *slist; gchar **str_array, *s; guint n = 0; gchar *remainder; g_return_val_if_fail (string != NULL, NULL); g_return_val_if_fail (delimiter != '\0', NULL); DB( g_print("\n[import-csv] row get\n") ); if (max_tokens < 1) max_tokens = G_MAXINT; remainder = string; s = hb_csv_find_delimiter (remainder, delimiter); if (s) { while (--max_tokens && s && *s != '\0') { gsize len; len = s - remainder; string_list = g_slist_prepend (string_list, hb_csv_strndup (remainder, len)); DB( g_print(" stored=[%s]\n", (gchar *)string_list->data) ); n++; remainder = s + 1; s = hb_csv_find_delimiter (remainder, delimiter); } } if (*string) { gsize len; len = s - remainder; n++; string_list = g_slist_prepend (string_list, hb_csv_strndup (remainder, len)); DB( g_print(" stored=[%s]\n", (gchar *)string_list->data) ); } str_array = g_new (gchar*, n + 1); str_array[n--] = NULL; for (slist = string_list; slist; slist = slist->next) str_array[n--] = slist->data; g_slist_free (string_list); return str_array; } static gchar hb_csv_get_separator(void) { static const gchar sep[] = PRF_DTEX_CSVSEP_BUFFER; return sep[PREFS->dtex_csvsep]; } gboolean hb_csv_test_line(gchar *rawline) { gchar **str_array; gchar sep; gboolean isvalid = FALSE; DB( g_print("\n[import-csv] test line\n") ); hb_string_strip_crlf(rawline); sep = hb_csv_get_separator(); str_array = hb_csv_row_get(rawline, sep, 8); isvalid = hb_csv_row_valid(str_array, 8, csvtype); g_strfreev (str_array); return isvalid; } GList *homebank_csv_import(ImportContext *ictx, GenFile *genfile) { GIOChannel *io; //GList *list = NULL; DB( g_print("\n[import-csv] homebank csv\n") ); io = g_io_channel_new_file(genfile->filepath, "r", NULL); if(io != NULL) { gchar *tmpstr; gchar sep; gsize length; gint io_stat; gboolean isvalid; gint count = 0; gint error = 0; GenAcc *newacc; GError *err = NULL; newacc = hb_import_gen_acc_get_next(ictx, FILETYPE_CSV_HB, NULL, NULL); if( genfile->encoding != NULL ) { g_io_channel_set_encoding(io, genfile->encoding, NULL); } for(;;) { io_stat = g_io_channel_read_line(io, &tmpstr, &length, NULL, &err); if( io_stat == G_IO_STATUS_EOF) break; if( io_stat == G_IO_STATUS_ERROR ) { DB (g_print(" + ERROR %s\n",err->message)); break; } if( io_stat == G_IO_STATUS_NORMAL) { if( *tmpstr != '\0' ) { gchar **str_array; count++; //#1844892 wish: detect/skip UTF-8 BOM (Excel CSV files) if(count == 1) hb_string_strip_utf8_bom(tmpstr); sep = hb_csv_get_separator(); hb_string_strip_crlf(tmpstr); str_array = hb_csv_row_get(tmpstr, sep, 8); // 0:date; 1:paymode; 2:info; 3:payee, 4:wording; 5:amount; 6:category; 7:tags isvalid = hb_csv_row_valid(str_array, 8, csvtype); DB( g_print("\n (row-%04d) ->|%s|<-\n", count, tmpstr) ); DB( g_print(" valid %d, '%s'\n", isvalid, tmpstr) ); if( !isvalid ) { g_warning ("csv parse: line %d, invalid column count or data", count); error++; //todo log line in error to report user } else { GenTxn *newope = da_gen_txn_malloc();; DB( g_print(" adding txn\n" ) ); /* convert to generic transaction */ newope->date = g_strdup(str_array[0]); newope->paymode = atoi(str_array[1]); //todo: reinforce controls here // csv file are standalone, so no way to link a target txn //added 5.1.8 forbid to import 5=internal xfer if(newope->paymode == OLDPAYMODE_INTXFER) newope->paymode = PAYMODE_XFER; newope->rawinfo = g_strdup(str_array[2]); newope->rawpayee = g_strdup(g_strstrip(str_array[3])); newope->rawmemo = g_strdup(str_array[4]); newope->amount = hb_qif_parser_get_amount(str_array[5]); newope->category = g_strdup(g_strstrip(str_array[6])); newope->tags = g_strdup(str_array[7]); newope->account = g_strdup(newacc->name); /* todo: move this eval date valid */ //guint32 juliantmp = hb_date_get_julian(str_array[0], ictx->datefmt); ///if( juliantmp == 0 ) // ictx->cnt_err_date++; /* DB( g_print(" storing %s : %s : %s :%s : %s : %s : %s : %s\n", str_array[0], str_array[1], str_array[2], str_array[3], str_array[4], str_array[5], str_array[6], str_array[7] ) ); */ da_gen_txn_append(ictx, newope); g_strfreev (str_array); } } g_free(tmpstr); } } g_io_channel_unref (io); /* ui_dialog_msg_infoerror(data->window, error > 0 ? GTK_MESSAGE_ERROR : GTK_MESSAGE_INFO, _("Transaction CSV import result"), _("%d transactions inserted\n%d errors in the file"), count, error); */ } return ictx->gen_lst_txn; } homebank-5.3.2/src/ui-dialogs.h0000644000175000017500000000367313604720371013237 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_DIALOGS_GTK_H__ #define __HB_DIALOGS_GTK_H__ gint ui_dialog_msg_confirm_alert(GtkWindow *parent, gchar *title, gchar *secondtext, gchar *actionverb); gint ui_dialog_about(GtkWindow *parent, gchar *title, gchar *message_format, ...); gint ui_dialog_msg_question(GtkWindow *parent, gchar *title, gchar *message_format, ...); void ui_dialog_msg_infoerror(GtkWindow *parent, GtkMessageType type, gchar *title, gchar *message_format, ...); gboolean ui_file_chooser_qif(GtkWindow *parent, gchar **storage_ptr); gboolean ui_file_chooser_csv(GtkWindow *parent, GtkFileChooserAction action, gchar **storage_ptr, gchar *name); gboolean ui_file_chooser_xhb(GtkFileChooserAction action, gchar **storage_ptr, gboolean bakmode); gboolean ui_file_chooser_folder(GtkWindow *parent, gchar *title, gchar **storage_ptr); gint ui_dialog_export_pdf(GtkWindow *parent, gchar **storage_ptr); void ui_dialog_upgrade_choose_currency(void); gboolean ui_dialog_msg_savechanges(GtkWidget *widget, gpointer user_data); void ui_dialog_file_statistics(void); gint ui_dialog_transaction_xfer_select_child(GtkWindow *parent, Transaction *stxn, GList *matchlist, Transaction **child); #endif homebank-5.3.2/src/ui-payee.h0000644000175000017500000000501213604720371012705 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_PAYEE_GTK_H__ #define __HB_PAYEE_GTK_H__ enum { LST_DEFPAY_TOGGLE, LST_DEFPAY_DATAS, NUM_LST_DEFPAY }; #define LST_DEFPAY_SORT_NAME 1 #define LST_DEFPAY_SORT_DEFPAY 2 #define LST_DEFPAY_SORT_DEFCAT 3 #define LST_DEFPAY_SORT_USED 4 struct ui_pay_manage_dialog_data { GtkWidget *dialog; GtkWidget *ST_search; GtkWidget *BT_search; GtkWidget *ST_name; GtkWidget *LV_pay; GtkWidget *BT_add; GtkWidget *BT_edit; GtkWidget *BT_merge; GtkWidget *BT_delete; gint change; }; struct payPopContext { GtkTreeModel *model; guint except_key; }; /* = = = = = = = = = = */ GtkWidget *ui_pay_entry_popover_get_entry(GtkBox *box); Payee *ui_pay_entry_popover_get(GtkBox *box); guint32 ui_pay_entry_popover_get_key_add_new(GtkBox *box); guint32 ui_pay_entry_popover_get_key(GtkBox *box); void ui_pay_entry_popover_set_active(GtkBox *box, guint32 key); GtkWidget *ui_pay_entry_popover_new(GtkWidget *label); /* = = = = = = = = = = */ guint32 ui_pay_comboboxentry_get_key(GtkComboBox *entry_box); guint32 ui_pay_comboboxentry_get_key_add_new(GtkComboBox *entry_box); Payee *ui_pay_comboboxentry_get(GtkComboBox *entry_box); gboolean ui_pay_comboboxentry_set_active(GtkComboBox *entry_box, guint32 key); void ui_pay_comboboxentry_populate(GtkComboBox *entry_box, GHashTable *hash); GtkWidget *ui_pay_comboboxentry_new(GtkWidget *label); /* = = = = = = = = = = */ void ui_pay_listview_add(GtkTreeView *treeview, Payee *item); guint32 ui_pay_listview_get_selected_key(GtkTreeView *treeview); void ui_pay_listview_remove_selected(GtkTreeView *treeview); void ui_pay_listview_populate(GtkWidget *treeview, gchar *needle); GtkWidget *ui_pay_listview_new(gboolean withtoggle, gboolean withcount); GtkWidget *ui_pay_manage_dialog (void); #endif homebank-5.3.2/src/hb-assign.h0000644000175000017500000000355513604720371013054 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_ASSIGN_H__ #define __HB_ASSIGN_H__ typedef struct _assign Assign; struct _assign { guint32 key; gushort flags; gushort field; //0:memo / 1:payee gchar *search; gchar *notes; guint32 kpay; //dst payee guint32 kcat; //dst category gushort paymode; //dst_payment mode gushort pos; //position }; #define ASGF_EXACT (1<<0) #define ASGF_DOPAY (1<<1) #define ASGF_DOCAT (1<<2) #define ASGF_DOMOD (1<<3) #define ASGF_REGEX (1<<8) #define ASGF_OVWPAY (1<<9) #define ASGF_OVWCAT (1<<10) #define ASGF_OVWMOD (1<<11) void da_asg_free(Assign *item); Assign *da_asg_malloc(void); void da_asg_destroy(void); void da_asg_new(void); guint da_asg_length(void); gboolean da_asg_create_none(void); gboolean da_asg_remove(guint32 key); gboolean da_asg_insert(Assign *asg); gboolean da_asg_append(Assign *asg); guint32 da_asg_get_max_key(void); Assign *da_asg_get_by_name(gchar *name); Assign *da_asg_get(guint32 key); void da_asg_consistency(Assign *item); GList *assign_glist_sorted(gint column); guint transaction_auto_assign(GList *ope_list, guint32 key); #endif homebank-5.3.2/src/hb-assign.c0000644000175000017500000002456213604720365013053 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hb-assign.h" #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ void da_asg_free(Assign *item) { DB( g_print("da_asg_free\n") ); if(item != NULL) { DB( g_print(" => %d, %s\n", item->key, item->search) ); g_free(item->search); g_free(item->notes); g_free(item); } } Assign * da_asg_malloc(void) { DB( g_print("da_asg_malloc\n") ); return g_malloc0(sizeof(Assign)); } void da_asg_destroy(void) { DB( g_print("da_asg_destroy\n") ); g_hash_table_destroy(GLOBALS->h_rul); } void da_asg_new(void) { DB( g_print("da_asg_new\n") ); GLOBALS->h_rul = g_hash_table_new_full(g_int_hash, g_int_equal, (GDestroyNotify)g_free, (GDestroyNotify)da_asg_free); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void da_asg_max_key_ghfunc(gpointer key, Assign *item, guint32 *max_key) { *max_key = MAX(*max_key, item->key); } static gboolean da_asg_name_grfunc(gpointer key, Assign *item, gchar *name) { if( name && item->search ) { if(!strcasecmp(name, item->search)) return TRUE; } return FALSE; } /** * da_asg_length: * * Return value: the number of elements */ guint da_asg_length(void) { return g_hash_table_size(GLOBALS->h_rul); } /** * da_asg_remove: * * delete an rul from the GHashTable * * Return value: TRUE if the key was found and deleted * */ gboolean da_asg_remove(guint32 key) { DB( g_print("da_asg_remove %d\n", key) ); return g_hash_table_remove(GLOBALS->h_rul, &key); } /** * da_asg_insert: * * insert an rul into the GHashTable * * Return value: TRUE if inserted * */ gboolean da_asg_insert(Assign *item) { guint32 *new_key; DB( g_print("da_asg_insert\n") ); new_key = g_new0(guint32, 1); *new_key = item->key; g_hash_table_insert(GLOBALS->h_rul, new_key, item); return TRUE; } /** * da_asg_append: * * append a new rul into the GHashTable * * Return value: TRUE if inserted * */ gboolean da_asg_append(Assign *item) { Assign *existitem; guint32 *new_key; DB( g_print("da_asg_append\n") ); DB( g_print(" -> try append: %s\n", item->search) ); if( item->search != NULL ) { /* ensure no duplicate */ existitem = da_asg_get_by_name( item->search ); if( existitem == NULL ) { new_key = g_new0(guint32, 1); *new_key = da_asg_get_max_key() + 1; item->key = *new_key; DB( g_print(" -> append id: %d\n", *new_key) ); g_hash_table_insert(GLOBALS->h_rul, new_key, item); return TRUE; } } DB( g_print(" -> %s already exist: %d\n", item->search, item->key) ); return FALSE; } /** * da_asg_get_max_key: * * Get the biggest key from the GHashTable * * Return value: the biggest key value * */ guint32 da_asg_get_max_key(void) { guint32 max_key = 0; g_hash_table_foreach(GLOBALS->h_rul, (GHFunc)da_asg_max_key_ghfunc, &max_key); return max_key; } /** * da_asg_get_by_name: * * Get an rul structure by its name * * Return value: rul * or NULL if not found * */ Assign * da_asg_get_by_name(gchar *name) { DB( g_print("da_asg_get_by_name\n") ); return g_hash_table_find(GLOBALS->h_rul, (GHRFunc)da_asg_name_grfunc, name); } /** * da_asg_get: * * Get an rul structure by key * * Return value: rul * or NULL if not found * */ Assign * da_asg_get(guint32 key) { DB( g_print("da_asg_get_rul\n") ); return g_hash_table_lookup(GLOBALS->h_rul, &key); } void da_asg_consistency(Assign *item) { //5.2.4 we drop internal xfer here as it will disapear //was not possible, but just in case if( item->paymode == OLDPAYMODE_INTXFER ) item->paymode = PAYMODE_XFER; } static gint assign_glist_pos_compare_func(Assign *a, Assign *b) { return a->pos - b->pos; } static gint assign_glist_key_compare_func(Assign *a, Assign *b) { return a->key - b->key; } GList *assign_glist_sorted(gint column) { GList *list = g_hash_table_get_values(GLOBALS->h_rul); switch(column) { case HB_GLIST_SORT_POS: return g_list_sort(list, (GCompareFunc)assign_glist_pos_compare_func); break; default: return g_list_sort(list, (GCompareFunc)assign_glist_key_compare_func); break; } } static gboolean misc_text_match(gchar *text, gchar *searchtext, gboolean exact) { gboolean match = FALSE; if(text == NULL) return FALSE; //DB( g_print("search %s in %s\n", rul->name, ope->memo) ); if( searchtext != NULL ) { if( exact == TRUE ) { if( g_strrstr(text, searchtext) != NULL ) { DB( g_print("-- found case '%s'\n", searchtext) ); match = TRUE; } } else { gchar *word = g_utf8_casefold(text, -1); gchar *needle = g_utf8_casefold(searchtext, -1); if( g_strrstr(word, needle) != NULL ) { DB( g_print("-- found nocase '%s'\n", searchtext) ); match = TRUE; } g_free(word); g_free(needle); } } return match; } static gboolean misc_regex_match(gchar *text, gchar *searchtext, gboolean exact) { gboolean match = FALSE; if(text == NULL) return FALSE; DB( g_print("-- match RE %s in %s\n", searchtext, text) ); if( searchtext != NULL ) { match = g_regex_match_simple(searchtext, text, ((exact == TRUE)?0:G_REGEX_CASELESS) | G_REGEX_OPTIMIZE, G_REGEX_MATCH_NOTEMPTY ); if (match == TRUE) { DB( g_print("-- found pattern '%s'\n", searchtext) ); } } return match; } static GList *transaction_auto_assign_eval_txn(GList *l_rul, Transaction *txn) { GList *ret_list = NULL; GList *list; gchar *text = NULL; list = g_list_first(l_rul); while (list != NULL) { Assign *rul = list->data; text = txn->memo; if(rul->field == 1) //payee { Payee *pay = da_pay_get(txn->kpay); if(pay) text = pay->name; } if( !(rul->flags & ASGF_REGEX) ) { if( misc_text_match(text, rul->search, rul->flags & ASGF_EXACT) ) //TODO: perf must use preprend, see glib doc ret_list = g_list_append(ret_list, rul); } else { if( misc_regex_match(text, rul->search, rul->flags & ASGF_EXACT) ) ret_list = g_list_append(ret_list, rul); } list = g_list_next(list); } DB( g_print("- %d rule(s) match on '%s'\n", g_list_length (ret_list), text) ); return ret_list; } static GList *transaction_auto_assign_eval(GList *l_rul, gchar *text) { GList *ret_list = NULL; GList *list; list = g_list_first(l_rul); while (list != NULL) { Assign *rul = list->data; if( rul->field == 0 ) //memo { if( !(rul->flags & ASGF_REGEX) ) { if( misc_text_match(text, rul->search, rul->flags & ASGF_EXACT) ) //TODO: perf must use preprend, see glib doc ret_list = g_list_append(ret_list, rul); } else { if( misc_regex_match(text, rul->search, rul->flags & ASGF_EXACT) ) ret_list = g_list_append(ret_list, rul); } } list = g_list_next(list); } DB( g_print("- %d rule(s) match on '%s'\n", g_list_length (ret_list), text) ); return ret_list; } guint transaction_auto_assign(GList *ope_list, guint32 kacc) { GList *l_ope; GList *l_rul; GList *l_match, *l_tmp; guint changes = 0; DB( g_print("\n[transaction] auto_assign\n") ); l_rul = assign_glist_sorted(HB_GLIST_SORT_POS); l_ope = g_list_first(ope_list); while (l_ope != NULL) { Transaction *ope = l_ope->data; gboolean changed = FALSE; DB( g_print("\n- curr txn '%s' : acc=%d, pay=%d, cat=%d, %s\n", ope->memo, ope->kacc, ope->kpay, ope->kcat, (ope->flags & OF_SPLIT) ? "is_split" : "" ) ); //#1215521: added kacc == 0 if( (kacc == ope->kacc || kacc == 0) ) { if( !(ope->flags & OF_SPLIT) ) { l_match = l_tmp = transaction_auto_assign_eval_txn(l_rul, ope); while( l_tmp != NULL ) { Assign *rul = l_tmp->data; if( (ope->kpay == 0 && (rul->flags & ASGF_DOPAY)) || (rul->flags & ASGF_OVWPAY) ) { if(ope->kpay != rul->kpay) { changed = TRUE; } ope->kpay = rul->kpay; } if( (ope->kcat == 0 && (rul->flags & ASGF_DOCAT)) || (rul->flags & ASGF_OVWCAT) ) { if(ope->kcat != rul->kcat) { changed = TRUE; } ope->kcat = rul->kcat; } if( (ope->paymode == 0 && (rul->flags & ASGF_DOMOD)) || (rul->flags & ASGF_OVWMOD) ) { //ugly hack - don't allow modify intxfer if( !(ope->flags & OF_INTXFER) ) { if(ope->paymode != rul->paymode) { changed = TRUE; } ope->paymode = rul->paymode; } } l_tmp = g_list_next(l_tmp); } g_list_free(l_match); } else { guint i, nbsplit = da_splits_length(ope->splits); for(i=0;isplits, i); DB( g_print("- eval split '%s'\n", split->memo) ); l_match = l_tmp = transaction_auto_assign_eval(l_rul, split->memo); while( l_tmp != NULL ) { Assign *rul = l_tmp->data; //#1501144: check if user wants to set category in rule if( (split->kcat == 0 || (rul->flags & ASGF_OVWCAT)) && (rul->flags & ASGF_DOCAT) ) { if(split->kcat != rul->kcat) { changed = TRUE; } split->kcat = rul->kcat; } l_tmp = g_list_next(l_tmp); } g_list_free(l_match); } } if(changed == TRUE) { ope->flags |= OF_CHANGED; changes++; } } l_ope = g_list_next(l_ope); } g_list_free(l_rul); return changes; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ #if MYDEBUG static void da_asg_debug_list_ghfunc(gpointer key, gpointer value, gpointer user_data) { guint32 *id = key; Assign *item = value; DB( g_print(" %d :: %s\n", *id, item->search) ); } static void da_asg_debug_list(void) { DB( g_print("\n** debug **\n") ); g_hash_table_foreach(GLOBALS->h_rul, da_asg_debug_list_ghfunc, NULL); DB( g_print("\n** end debug **\n") ); } #endif homebank-5.3.2/src/hb-encoding.c0000644000175000017500000001757213604720365013360 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hb-encoding.h" #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /* * The original versions of the following tables are taken from profterm * * Copyright (C) 2002 Red Hat, Inc. */ static const GeditEncoding utf8_encoding = { GEDIT_ENCODING_UTF_8, "UTF-8", "Unicode" }; static const GeditEncoding encodings [] = { { GEDIT_ENCODING_ISO_8859_1, "ISO-8859-1", "Western" }, { GEDIT_ENCODING_ISO_8859_2, "ISO-8859-2", "Central European" }, { GEDIT_ENCODING_ISO_8859_3, "ISO-8859-3", "South European" }, { GEDIT_ENCODING_ISO_8859_4, "ISO-8859-4", "Baltic" }, { GEDIT_ENCODING_ISO_8859_5, "ISO-8859-5", "Cyrillic" }, { GEDIT_ENCODING_ISO_8859_6, "ISO-8859-6", "Arabic" }, { GEDIT_ENCODING_ISO_8859_7, "ISO-8859-7", "Greek" }, { GEDIT_ENCODING_ISO_8859_8, "ISO-8859-8", "Hebrew Visual" }, { GEDIT_ENCODING_ISO_8859_8_I, "ISO-8859-8-I", "Hebrew" }, { GEDIT_ENCODING_ISO_8859_9, "ISO-8859-9", "Turkish" }, { GEDIT_ENCODING_ISO_8859_10, "ISO-8859-10", "Nordic" }, { GEDIT_ENCODING_ISO_8859_13, "ISO-8859-13", "Baltic" }, { GEDIT_ENCODING_ISO_8859_14, "ISO-8859-14", "Celtic" }, { GEDIT_ENCODING_ISO_8859_15, "ISO-8859-15", "Western" }, { GEDIT_ENCODING_ISO_8859_16, "ISO-8859-16", "Romanian" }, { GEDIT_ENCODING_UTF_7, "UTF-7", "Unicode" }, { GEDIT_ENCODING_UTF_16, "UTF-16", "Unicode" }, { GEDIT_ENCODING_UTF_16_BE, "UTF-16BE", "Unicode" }, { GEDIT_ENCODING_UTF_16_LE, "UTF-16LE", "Unicode" }, { GEDIT_ENCODING_UTF_32, "UTF-32", "Unicode" }, { GEDIT_ENCODING_UCS_2, "UCS-2", "Unicode" }, { GEDIT_ENCODING_UCS_4, "UCS-4", "Unicode" }, { GEDIT_ENCODING_ARMSCII_8, "ARMSCII-8", "Armenian" }, { GEDIT_ENCODING_BIG5, "BIG5", "Chinese Traditional" }, { GEDIT_ENCODING_BIG5_HKSCS, "BIG5-HKSCS", "Chinese Traditional" }, { GEDIT_ENCODING_CP_866, "CP866", "Cyrillic/Russian" }, { GEDIT_ENCODING_EUC_JP, "EUC-JP", "Japanese" }, { GEDIT_ENCODING_EUC_JP_MS, "EUC-JP-MS", "Japanese" }, { GEDIT_ENCODING_CP932, "CP932", "Japanese" }, { GEDIT_ENCODING_EUC_KR, "EUC-KR", "Korean" }, { GEDIT_ENCODING_EUC_TW, "EUC-TW", "Chinese Traditional" }, { GEDIT_ENCODING_GB18030, "GB18030", "Chinese Simplified" }, { GEDIT_ENCODING_GB2312, "GB2312", "Chinese Simplified" }, { GEDIT_ENCODING_GBK, "GBK", "Chinese Simplified" }, { GEDIT_ENCODING_GEOSTD8, "GEORGIAN-ACADEMY", "Georgian" }, /* FIXME GEOSTD8 ? */ { GEDIT_ENCODING_HZ, "HZ", "Chinese Simplified" }, { GEDIT_ENCODING_IBM_850, "IBM850", "Western" }, { GEDIT_ENCODING_IBM_852, "IBM852", "Central European" }, { GEDIT_ENCODING_IBM_855, "IBM855", "Cyrillic" }, { GEDIT_ENCODING_IBM_857, "IBM857", "Turkish" }, { GEDIT_ENCODING_IBM_862, "IBM862", "Hebrew" }, { GEDIT_ENCODING_IBM_864, "IBM864", "Arabic" }, { GEDIT_ENCODING_ISO_2022_JP, "ISO-2022-JP", "Japanese" }, { GEDIT_ENCODING_ISO_2022_KR, "ISO-2022-KR", "Korean" }, { GEDIT_ENCODING_ISO_IR_111, "ISO-IR-111", "Cyrillic" }, { GEDIT_ENCODING_JOHAB, "JOHAB", "Korean" }, { GEDIT_ENCODING_KOI8_R, "KOI8R", "Cyrillic" }, { GEDIT_ENCODING_KOI8__R, "KOI8-R", "Cyrillic" }, { GEDIT_ENCODING_KOI8_U, "KOI8U", "Cyrillic/Ukrainian" }, { GEDIT_ENCODING_SHIFT_JIS, "SHIFT_JIS", "Japanese" }, { GEDIT_ENCODING_TCVN, "TCVN", "Vietnamese" }, { GEDIT_ENCODING_TIS_620, "TIS-620", "Thai" }, { GEDIT_ENCODING_UHC, "UHC", "Korean" }, { GEDIT_ENCODING_VISCII, "VISCII", "Vietnamese" }, { GEDIT_ENCODING_WINDOWS_1250, "WINDOWS-1250", "Central European" }, { GEDIT_ENCODING_WINDOWS_1251, "WINDOWS-1251", "Cyrillic" }, { GEDIT_ENCODING_WINDOWS_1252, "WINDOWS-1252", "Western" }, { GEDIT_ENCODING_WINDOWS_1253, "WINDOWS-1253", "Greek" }, { GEDIT_ENCODING_WINDOWS_1254, "WINDOWS-1254", "Turkish" }, { GEDIT_ENCODING_WINDOWS_1255, "WINDOWS-1255", "Hebrew" }, { GEDIT_ENCODING_WINDOWS_1256, "WINDOWS-1256", "Arabic" }, { GEDIT_ENCODING_WINDOWS_1257, "WINDOWS-1257", "Baltic" }, { GEDIT_ENCODING_WINDOWS_1258, "WINDOWS-1258", "Vietnamese" } }; const GeditEncoding * gedit_encoding_get_from_index (gint index) { //g_return_val_if_fail (index >= 0, NULL); if (index >= GEDIT_ENCODING_LAST) return NULL; //gedit_encoding_lazy_init (); return &encodings [index]; } const GeditEncoding * gedit_encoding_get_utf8 (void) { //gedit_encoding_lazy_init (); return &utf8_encoding; } static gchar *homebank_utf8_convert(gchar *buffer, const gchar **charset) { GError *conv_error; gchar* conv_buffer = NULL; gsize new_len; guint i; gboolean valid; const struct _GeditEncoding *enc; DB( g_print("(homebank) homebank_utf8_convert\n") ); for (i=0 ; i should try %s\n", enc->charset) ); conv_buffer = g_convert(buffer, -1, "UTF-8", enc->charset, NULL, &new_len, &conv_error); valid = g_utf8_validate (conv_buffer, -1, NULL); if ((conv_error != NULL) || !valid ) { DB( g_print (" -> Couldn't convert from %s to UTF-8.\n", enc->charset) ); } else { DB( g_print (" -> file compatible with '%s'\n", enc->charset) ); if(charset != NULL) *charset = enc->charset; return conv_buffer; } } if(charset != NULL) *charset = NULL; return NULL; } /* * Ensure a buffer to be utf-8, and convert if necessary * */ gchar *homebank_utf8_ensure(gchar *buffer) { gboolean isvalid; gchar *converted; DB( g_print("(homebank) homebank_utf8_ensure\n") ); if(buffer == NULL) return NULL; isvalid = g_utf8_validate(buffer, -1, NULL); DB( g_print(" -> is valid utf8: %d\n", isvalid) ); if(!isvalid) { converted = homebank_utf8_convert(buffer, NULL); if(converted != NULL) { //g_warn here ? g_free(buffer); return converted; } //g_warn here ? } return buffer; } const gchar *homebank_file_getencoding(gchar *filename) { const gchar *charset = NULL; gchar *buffer; gsize length; GError *error = NULL; gboolean isutf8; const gchar *locale_charset; const struct _GeditEncoding *enc; DB( g_print("(homebank) test encoding\n") ); if (g_get_charset (&locale_charset) == FALSE) { //unknown_encoding.charset = g_strdup (locale_charset); } DB( g_print(" -> locale charset is '%s'\n", locale_charset) ); if (g_file_get_contents (filename, &buffer, &length, &error)) { isutf8 = g_utf8_validate(buffer, -1, NULL); DB( g_print(" -> is valid utf8: %d\n", isutf8) ); if( isutf8 == FALSE ) { gchar *converted; converted = homebank_utf8_convert(buffer, &charset); DB( g_print(" -> converted charset match: '%s'\n", charset) ); DB( g_print(" -> converted: '%p' %s\n", converted, converted) ); if(converted != NULL) g_free(converted); } else { enc = gedit_encoding_get_utf8(); charset = enc->charset; } g_free(buffer); } DB( g_print (" -> charset is '%s'\n", charset) ); return charset; } homebank-5.3.2/src/ui-budget-tabview.c0000644000175000017500000026011013611577533014520 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 2018-2019 Adrien Dorsaz * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hb-misc.h" #include "dsp-mainwindow.h" #include "hb-category.h" #include "ui-budget-tabview.h" /****************************************************************************/ /* Implementation notes */ /****************************************************************************/ /* * This dialog allows user to manage its budget within a GtkTreeView. * * The view rows are separated in three main tree roots: * - Income: contains all Homebank categories of income type (see GF_INCOME) * - Expense: contains all Homebank categories of expense type * - Total: contains 3 sub-rows: * - Income: sum all amounts of the Income root * - Expense: sum all amounts of the Expense root * - Summary: difference between the two above sub-rows * * The view columns contain: * - Category: Homebank categories organised in hierarchy * according to the main tree roots above and the categories hierarchy * * - Annual Total: sum all amounts of the year for the category * * - Monthly Average: average of the amounts for the category * * - Monthly: set the monthly amount when the Same flag is active * - That column contains a toggle check box to enable or not monthly values * Check it to disable the GF_CUSTOM flag of Homebank categories * "Does this category has same amount planned every month ?" * * - 12 columns for each month of the year containing their specific amount * * The dialog shows 3 radio buttons on top to choose between 3 viewing modes: * - Summary: show Homebank categories with budget set or set with GF_FORCED * - Expense: show all available Homebank categories of expense type * - Income: show all available Homebank categories of income type * */ /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* Global data */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; static gchar *UI_BUD_TABVIEW_MONTHS[] = { N_("Jan"), N_("Feb"), N_("Mar"), N_("Apr"), N_("May"), N_("Jun"), N_("Jul"), N_("Aug"), N_("Sept"), N_("Oct"), N_("Nov"), N_("Dec"), NULL}; /* The different view mode available */ static gchar *UI_BUD_TABVIEW_VIEW_MODE[] = { N_("Summary"), N_("Expense"), N_("Income"), NULL }; /* These values has to correspond to UI_BUD_TABVIEW_VIEW_MODE[] */ enum ui_bud_tabview_view_mode { UI_BUD_TABVIEW_VIEW_SUMMARY = 0, UI_BUD_TABVIEW_VIEW_EXPENSE, UI_BUD_TABVIEW_VIEW_INCOME }; typedef enum ui_bud_tabview_view_mode ui_bud_tabview_view_mode_t; /* These values corresponds to the return of category_type_get from hb-category */ enum ui_bud_tabview_cat_type { UI_BUD_TABVIEW_CAT_TYPE_EXPENSE = -1, UI_BUD_TABVIEW_CAT_TYPE_NONE = 0, // Not real category type: used to retrieve tree roots UI_BUD_TABVIEW_CAT_TYPE_INCOME = 1 }; typedef enum ui_bud_tabview_cat_type ui_bud_tabview_cat_type_t; /* enum for the Budget Tree Store model */ enum ui_bud_tabview_store { UI_BUD_TABVIEW_CATEGORY_KEY = 0, UI_BUD_TABVIEW_CATEGORY_NAME, UI_BUD_TABVIEW_CATEGORY_FULLNAME, UI_BUD_TABVIEW_CATEGORY_TYPE, UI_BUD_TABVIEW_IS_ROOT, // To retrieve easier the 3 main tree roots UI_BUD_TABVIEW_IS_TOTAL, // To retrieve rows inside the Total root UI_BUD_TABVIEW_IS_CHILD_HEADER, // The row corresponds to the head child which is shown before the separator UI_BUD_TABVIEW_IS_SEPARATOR, // Row to just display a separator in Tree View UI_BUD_TABVIEW_IS_MONITORING_FORCED, UI_BUD_TABVIEW_IS_SAME_AMOUNT, UI_BUD_TABVIEW_IS_SUB_CATEGORY, UI_BUD_TABVIEW_HAS_BUDGET, UI_BUD_TABVIEW_SAME_AMOUNT, UI_BUD_TABVIEW_JANUARY, UI_BUD_TABVIEW_FEBRUARY, UI_BUD_TABVIEW_MARCH, UI_BUD_TABVIEW_APRIL, UI_BUD_TABVIEW_MAY, UI_BUD_TABVIEW_JUNE, UI_BUD_TABVIEW_JULY, UI_BUD_TABVIEW_AUGUST, UI_BUD_TABVIEW_SEPTEMBER, UI_BUD_TABVIEW_OCTOBER, UI_BUD_TABVIEW_NOVEMBER, UI_BUD_TABVIEW_DECEMBER, UI_BUD_TABVIEW_NUMBER_COLOMNS }; typedef enum ui_bud_tabview_store ui_bud_tabview_store_t; // Retrieve a row iterator according to specific criterias const struct ui_bud_tabview_search_criteria { // Search by non-zero category key guint32 row_category_key; // Search by other criterias ui_bud_tabview_cat_type_t row_category_type; gboolean row_is_root; gboolean row_is_total; // Found iterator, NULL if not found GtkTreeIter *iterator; } ui_bud_tabview_search_criteria_default = {0, UI_BUD_TABVIEW_CAT_TYPE_NONE, FALSE, FALSE, NULL} ; typedef struct ui_bud_tabview_search_criteria ui_bud_tabview_search_criteria_t; /* * Local headers **/ // GtkTreeStore model static gboolean ui_bud_tabview_model_search_iterator (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, ui_bud_tabview_search_criteria_t *search); static void ui_bud_tabview_model_add_category_with_lineage(GtkTreeStore *budget, GtkTreeIter *balanceIter, guint32 *key_category); static void ui_bud_tabview_model_collapse (GtkTreeView *view); static void ui_bud_tabview_model_insert_roots(GtkTreeStore* budget); static void ui_bud_tabview_model_update_monthly_total(GtkTreeStore* budget); static gboolean ui_bud_tabview_model_row_filter (GtkTreeModel *model, GtkTreeIter *iter, gpointer data); #if HB_BUD_TABVIEW_EDIT_ENABLE static gboolean ui_bud_tabview_model_row_merge_filter_with_headers (GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data); static gboolean ui_bud_tabview_model_row_filter_parents (GtkTreeModel *model, GtkTreeIter *iter, gpointer data); #endif static gint ui_bud_tabview_model_row_sort (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer user_data); static GtkTreeModel * ui_bud_tabview_model_new (); // GtkTreeView widget static void ui_bud_tabview_view_display_category_name (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data); static void ui_bud_tabview_view_display_amount (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data); static void ui_bud_tabview_view_display_is_same_amount (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data); static void ui_bud_tabview_view_display_annual_total (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data); static void ui_bud_tabview_view_display_monthly_average(GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data); static void ui_bud_tabview_view_toggle (gpointer user_data, ui_bud_tabview_view_mode_t view_mode); static gboolean ui_bud_tabview_view_search (GtkTreeModel *model, gint column, const gchar *key, GtkTreeIter *iter, gpointer data); #if HB_BUD_TABVIEW_EDIT_ENABLE static gboolean ui_bud_tabview_view_separator (GtkTreeModel *model, GtkTreeIter *iter, gpointer data); #endif static void ui_bud_tabview_view_on_select(GtkTreeSelection *treeselection, gpointer user_data); static GtkWidget *ui_bud_tabview_view_new (gpointer user_data); // UI actions #if HB_BUD_TABVIEW_EDIT_ENABLE static void ui_bud_tabview_cell_update_category(GtkCellRendererText *renderer, gchar *filter_path, gchar *new_text, gpointer user_data); #endif static void ui_bud_tabview_cell_update_amount(GtkCellRendererText *renderer, gchar *filter_path, gchar *new_text, gpointer user_data); static void ui_bud_tabview_cell_update_is_same_amount(GtkCellRendererText *renderer, gchar *filter_path, gpointer user_data); static void ui_bud_tabview_view_update_mode (GtkToggleButton *button, gpointer user_data); static void ui_bud_tabview_view_expand (GtkButton *button, gpointer user_data); static void ui_bud_tabview_view_collapse (GtkButton *button, gpointer user_data); static gboolean ui_bud_tabview_get_selected_category (GtkTreeModel **budget, GtkTreeIter *iter, Category **category, ui_bud_tabview_data_t *data); #if HB_BUD_TABVIEW_EDIT_ENABLE static gboolean ui_bud_tabview_get_selected_root_iter (GtkTreeModel **budget, GtkTreeIter *iter, ui_bud_tabview_data_t *data); static void ui_bud_tabview_category_add_full_filled (GtkWidget *source, gpointer user_data); static void ui_bud_tabview_category_add (GtkButton *button, gpointer user_data); static void ui_bud_tabview_category_delete (GtkButton *button, gpointer user_data); static void ui_bud_tabview_category_merge_full_filled (GtkWidget *source, gpointer user_data); static void ui_bud_tabview_category_merge (GtkButton *button, gpointer user_data); #endif static void ui_bud_tabview_category_reset (GtkButton *button, gpointer user_data); static gboolean ui_bud_tabview_on_key_press(GtkWidget *widget, GdkEventKey *event, gpointer user_data); static void ui_bud_tabview_dialog_close(ui_bud_tabview_data_t *data, gint response); /** * GtkTreeStore model **/ // Look for category by deterministic characteristics // Only categories with specific characteristics can be easily found // like roots, total rows and categories with real key id // You are responsible to g_free iterator static gboolean ui_bud_tabview_model_search_iterator (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, ui_bud_tabview_search_criteria_t *search) { guint32 category_key; ui_bud_tabview_cat_type_t category_type; gboolean is_found = FALSE, is_root, is_total, is_separator; search->iterator = NULL; gtk_tree_model_get (model, iter, UI_BUD_TABVIEW_CATEGORY_KEY, &category_key, UI_BUD_TABVIEW_CATEGORY_TYPE, &category_type, UI_BUD_TABVIEW_IS_ROOT, &is_root, UI_BUD_TABVIEW_IS_TOTAL, &is_total, UI_BUD_TABVIEW_IS_SEPARATOR, &is_separator, -1); if (search->row_category_key > 0 // Look for iter of real category row && category_key == search->row_category_key && !(is_total) && !(is_root) ) { DB(g_print("\tFound row with key %d\n", category_key)); is_found = TRUE; } else if (search->row_category_key == 0 // Look for iter of fake category row && is_root == search->row_is_root && is_total == search->row_is_total && category_type == search->row_category_type && !is_separator ) { DB(g_print("\tFound row with is_root = %d, is_total %d, type = %d\n", is_root, is_total, category_type)); is_found = TRUE; } // If found, save result to struct if (is_found) { search->iterator = g_malloc0(sizeof(GtkTreeIter)); *search->iterator = *iter; } return is_found; } /* Recursive function which add a new row in the budget model with all its ancestors */ static void ui_bud_tabview_model_add_category_with_lineage(GtkTreeStore *budget, GtkTreeIter *balanceIter, guint32 *key_category) { GtkTreeIter child; GtkTreeIter *parent; Category *bdg_category; gboolean cat_is_same_amount; ui_bud_tabview_search_criteria_t parent_search = ui_bud_tabview_search_criteria_default; bdg_category = da_cat_get(*key_category); if (bdg_category == NULL) { return; } cat_is_same_amount = (! (bdg_category->flags & GF_CUSTOM)); /* Check if parent category already exists */ parent_search.row_category_key = bdg_category->parent; gtk_tree_model_foreach(GTK_TREE_MODEL(budget), (GtkTreeModelForeachFunc) ui_bud_tabview_model_search_iterator, &parent_search); if (bdg_category->parent == 0) { // If we are one of the oldest parent, stop recursion gtk_tree_store_insert ( budget, &child, balanceIter, -1); } else { if (parent_search.iterator) { DB(g_print("\tRecursion optimisation: parent key %d already exists\n", parent_search.row_category_key)); // If parent already exists, stop recursion parent = parent_search.iterator; } else { // Parent has not been found, ask to create it first ui_bud_tabview_model_add_category_with_lineage(budget, balanceIter, &(bdg_category->parent)); // Now, we are sure parent exists, look for it again gtk_tree_model_foreach(GTK_TREE_MODEL(budget), (GtkTreeModelForeachFunc) ui_bud_tabview_model_search_iterator, &parent_search); parent = parent_search.iterator; } gtk_tree_store_insert ( budget, &child, parent, -1); } DB(g_print("insert new category %s (key: %d, type: %d)\n", bdg_category->name, bdg_category->key, category_type_get (bdg_category))); gtk_tree_store_set( budget, &child, UI_BUD_TABVIEW_CATEGORY_KEY, bdg_category->key, UI_BUD_TABVIEW_CATEGORY_NAME, bdg_category->name, UI_BUD_TABVIEW_CATEGORY_FULLNAME, bdg_category->fullname, UI_BUD_TABVIEW_CATEGORY_TYPE, category_type_get (bdg_category), UI_BUD_TABVIEW_IS_MONITORING_FORCED, (bdg_category->flags & GF_FORCED), UI_BUD_TABVIEW_IS_ROOT, FALSE, UI_BUD_TABVIEW_IS_SAME_AMOUNT, cat_is_same_amount, UI_BUD_TABVIEW_IS_TOTAL, FALSE, UI_BUD_TABVIEW_IS_SUB_CATEGORY, bdg_category->parent != 0, UI_BUD_TABVIEW_HAS_BUDGET, (bdg_category->flags & GF_BUDGET), UI_BUD_TABVIEW_SAME_AMOUNT, bdg_category->budget[0], UI_BUD_TABVIEW_JANUARY, bdg_category->budget[1], UI_BUD_TABVIEW_FEBRUARY, bdg_category->budget[2], UI_BUD_TABVIEW_MARCH, bdg_category->budget[3], UI_BUD_TABVIEW_APRIL, bdg_category->budget[4], UI_BUD_TABVIEW_MAY, bdg_category->budget[5], UI_BUD_TABVIEW_JUNE, bdg_category->budget[6], UI_BUD_TABVIEW_JULY, bdg_category->budget[7], UI_BUD_TABVIEW_AUGUST, bdg_category->budget[8], UI_BUD_TABVIEW_SEPTEMBER, bdg_category->budget[9], UI_BUD_TABVIEW_OCTOBER, bdg_category->budget[10], UI_BUD_TABVIEW_NOVEMBER, bdg_category->budget[11], UI_BUD_TABVIEW_DECEMBER, bdg_category->budget[12], -1); // Always add child header and separator parent = gtk_tree_iter_copy(&child); gtk_tree_store_insert_with_values( budget, &child, parent, -1, UI_BUD_TABVIEW_CATEGORY_KEY, bdg_category->key, UI_BUD_TABVIEW_CATEGORY_NAME, bdg_category->name, UI_BUD_TABVIEW_CATEGORY_FULLNAME, bdg_category->fullname, UI_BUD_TABVIEW_CATEGORY_TYPE, category_type_get (bdg_category), UI_BUD_TABVIEW_IS_CHILD_HEADER, TRUE, -1); gtk_tree_store_insert_with_values( budget, &child, parent, -1, UI_BUD_TABVIEW_CATEGORY_KEY, bdg_category->key, UI_BUD_TABVIEW_CATEGORY_TYPE, category_type_get (bdg_category), UI_BUD_TABVIEW_IS_SEPARATOR, TRUE, -1); gtk_tree_iter_free(parent); g_free(parent_search.iterator); return; } // Collapse all categories except root static void ui_bud_tabview_model_collapse (GtkTreeView *view) { GtkTreeModel *budget; GtkTreePath *path; ui_bud_tabview_search_criteria_t root_search = ui_bud_tabview_search_criteria_default; budget = gtk_tree_view_get_model (view); gtk_tree_view_collapse_all(view); // Keep root categories expanded // Retrieve income root root_search.row_is_root = TRUE; root_search.row_is_total = FALSE; root_search.row_category_type = UI_BUD_TABVIEW_CAT_TYPE_INCOME; gtk_tree_model_foreach(GTK_TREE_MODEL(budget), (GtkTreeModelForeachFunc) ui_bud_tabview_model_search_iterator, &root_search); if (root_search.iterator != NULL) { path = gtk_tree_model_get_path(budget, root_search.iterator); gtk_tree_view_expand_row(view, path, FALSE); } // Retrieve expense root root_search.row_is_root = TRUE; root_search.row_is_total = FALSE; root_search.row_category_type = UI_BUD_TABVIEW_CAT_TYPE_EXPENSE; gtk_tree_model_foreach(GTK_TREE_MODEL(budget), (GtkTreeModelForeachFunc) ui_bud_tabview_model_search_iterator, &root_search); if (root_search.iterator != NULL) { path = gtk_tree_model_get_path(budget, root_search.iterator); gtk_tree_view_expand_row(view, path, FALSE); } // Retrieve total root root_search.row_is_root = TRUE; root_search.row_is_total = FALSE; root_search.row_category_type = UI_BUD_TABVIEW_CAT_TYPE_NONE; gtk_tree_model_foreach(GTK_TREE_MODEL(budget), (GtkTreeModelForeachFunc) ui_bud_tabview_model_search_iterator, &root_search); if (root_search.iterator != NULL) { path = gtk_tree_model_get_path(budget, root_search.iterator); gtk_tree_view_expand_row(view, path, FALSE); } g_free(root_search.iterator); return; } // Create tree roots for the store static void ui_bud_tabview_model_insert_roots(GtkTreeStore* budget) { GtkTreeIter iter, root; gtk_tree_store_insert_with_values ( budget, &root, NULL, -1, UI_BUD_TABVIEW_CATEGORY_NAME, _(UI_BUD_TABVIEW_VIEW_MODE[UI_BUD_TABVIEW_VIEW_INCOME]), UI_BUD_TABVIEW_CATEGORY_FULLNAME, _(UI_BUD_TABVIEW_VIEW_MODE[UI_BUD_TABVIEW_VIEW_INCOME]), UI_BUD_TABVIEW_CATEGORY_TYPE, UI_BUD_TABVIEW_CAT_TYPE_INCOME, UI_BUD_TABVIEW_IS_ROOT, TRUE, UI_BUD_TABVIEW_IS_TOTAL, FALSE, -1); // For add category dialog: copy of the root to be able to select it gtk_tree_store_insert_with_values ( budget, &iter, &root, -1, UI_BUD_TABVIEW_CATEGORY_NAME, _(UI_BUD_TABVIEW_VIEW_MODE[UI_BUD_TABVIEW_VIEW_INCOME]), UI_BUD_TABVIEW_CATEGORY_FULLNAME, _(UI_BUD_TABVIEW_VIEW_MODE[UI_BUD_TABVIEW_VIEW_INCOME]), UI_BUD_TABVIEW_CATEGORY_TYPE, UI_BUD_TABVIEW_CAT_TYPE_INCOME, UI_BUD_TABVIEW_CATEGORY_KEY, 0, UI_BUD_TABVIEW_IS_ROOT, FALSE, UI_BUD_TABVIEW_IS_TOTAL, FALSE, UI_BUD_TABVIEW_IS_CHILD_HEADER, TRUE, -1); // For add category dialog: add a separator to distinguish root with children gtk_tree_store_insert_with_values ( budget, &iter, &root, -1, UI_BUD_TABVIEW_IS_SEPARATOR, TRUE, UI_BUD_TABVIEW_CATEGORY_TYPE, UI_BUD_TABVIEW_CAT_TYPE_INCOME, -1); gtk_tree_store_insert_with_values ( budget, &root, NULL, -1, UI_BUD_TABVIEW_CATEGORY_NAME, _(UI_BUD_TABVIEW_VIEW_MODE[UI_BUD_TABVIEW_VIEW_EXPENSE]), UI_BUD_TABVIEW_CATEGORY_FULLNAME, _(UI_BUD_TABVIEW_VIEW_MODE[UI_BUD_TABVIEW_VIEW_EXPENSE]), UI_BUD_TABVIEW_CATEGORY_TYPE, UI_BUD_TABVIEW_CAT_TYPE_EXPENSE, UI_BUD_TABVIEW_IS_ROOT, TRUE, UI_BUD_TABVIEW_IS_TOTAL, FALSE, -1); // For add category dialog: copy of the root to be able to select it gtk_tree_store_insert_with_values ( budget, &iter, &root, -1, UI_BUD_TABVIEW_CATEGORY_NAME, _(UI_BUD_TABVIEW_VIEW_MODE[UI_BUD_TABVIEW_VIEW_EXPENSE]), UI_BUD_TABVIEW_CATEGORY_FULLNAME, _(UI_BUD_TABVIEW_VIEW_MODE[UI_BUD_TABVIEW_VIEW_EXPENSE]), UI_BUD_TABVIEW_CATEGORY_TYPE, UI_BUD_TABVIEW_CAT_TYPE_EXPENSE, UI_BUD_TABVIEW_CATEGORY_KEY, 0, UI_BUD_TABVIEW_IS_ROOT, FALSE, UI_BUD_TABVIEW_IS_TOTAL, FALSE, UI_BUD_TABVIEW_IS_CHILD_HEADER, TRUE, -1); // For add category dialog: add a separator to distinguish root with children gtk_tree_store_insert_with_values ( budget, &iter, &root, -1, UI_BUD_TABVIEW_IS_SEPARATOR, TRUE, UI_BUD_TABVIEW_CATEGORY_TYPE, UI_BUD_TABVIEW_CAT_TYPE_EXPENSE, -1); gtk_tree_store_insert_with_values ( budget, &root, NULL, -1, UI_BUD_TABVIEW_CATEGORY_NAME, _("Totals"), UI_BUD_TABVIEW_CATEGORY_FULLNAME, _("Totals"), UI_BUD_TABVIEW_CATEGORY_TYPE, UI_BUD_TABVIEW_CAT_TYPE_NONE, UI_BUD_TABVIEW_IS_ROOT, TRUE, UI_BUD_TABVIEW_IS_TOTAL, FALSE, -1); return; } // Update (or insert) total rows for a budget according to the view mode // This function will is used to initiate model and to refresh it after change by user static void ui_bud_tabview_model_update_monthly_total(GtkTreeStore* budget) { ui_bud_tabview_search_criteria_t root_search = ui_bud_tabview_search_criteria_default; GtkTreeIter total_root, child; double total_income[12] = {0}, total_expense[12] = {0}; gboolean cat_is_same_amount; guint32 n_category; // Go through all categories to compute totals n_category = da_cat_get_max_key(); for(guint32 i=1; i<=n_category; ++i) { Category *bdg_category; gboolean cat_is_income; bdg_category = da_cat_get(i); if (bdg_category == NULL) { continue; } cat_is_income = (category_type_get (bdg_category) == 1); cat_is_same_amount = (! (bdg_category->flags & GF_CUSTOM)); for (gint j=0; j<=11; ++j) { if (cat_is_income) { if (cat_is_same_amount) { total_income[j] += bdg_category->budget[0]; } else { total_income[j] += bdg_category->budget[j+1]; } } else { if (cat_is_same_amount) { total_expense[j] += bdg_category->budget[0]; } else { total_expense[j] += bdg_category->budget[j+1]; } } } } // Retrieve total root and insert required total rows root_search.row_is_root = TRUE; root_search.row_is_total = FALSE; root_search.row_category_type = UI_BUD_TABVIEW_CAT_TYPE_NONE; gtk_tree_model_foreach(GTK_TREE_MODEL(budget), (GtkTreeModelForeachFunc) ui_bud_tabview_model_search_iterator, &root_search); if (!root_search.iterator) { return; } total_root = *root_search.iterator; // Retrieve and set totals root_search.row_is_root = FALSE; root_search.row_is_total = TRUE; // First, look for Incomes root_search.row_category_type = UI_BUD_TABVIEW_CAT_TYPE_INCOME; gtk_tree_model_foreach(GTK_TREE_MODEL(budget), (GtkTreeModelForeachFunc) ui_bud_tabview_model_search_iterator, &root_search); if (root_search.iterator) { child = *root_search.iterator; } else { gtk_tree_store_insert(budget, &child, &total_root, -1); } gtk_tree_store_set ( budget, &child, UI_BUD_TABVIEW_CATEGORY_NAME, _(UI_BUD_TABVIEW_VIEW_MODE[UI_BUD_TABVIEW_VIEW_INCOME]), UI_BUD_TABVIEW_CATEGORY_FULLNAME, _(UI_BUD_TABVIEW_VIEW_MODE[UI_BUD_TABVIEW_VIEW_INCOME]), UI_BUD_TABVIEW_CATEGORY_TYPE, UI_BUD_TABVIEW_CAT_TYPE_INCOME, UI_BUD_TABVIEW_IS_TOTAL, TRUE, UI_BUD_TABVIEW_JANUARY, total_income[0], UI_BUD_TABVIEW_FEBRUARY, total_income[1], UI_BUD_TABVIEW_MARCH, total_income[2], UI_BUD_TABVIEW_APRIL, total_income[3], UI_BUD_TABVIEW_MAY, total_income[4], UI_BUD_TABVIEW_JUNE, total_income[5], UI_BUD_TABVIEW_JULY, total_income[6], UI_BUD_TABVIEW_AUGUST, total_income[7], UI_BUD_TABVIEW_SEPTEMBER, total_income[8], UI_BUD_TABVIEW_OCTOBER, total_income[9], UI_BUD_TABVIEW_NOVEMBER, total_income[10], UI_BUD_TABVIEW_DECEMBER, total_income[11], -1); // Then look for Expenses root_search.row_category_type = UI_BUD_TABVIEW_CAT_TYPE_EXPENSE; gtk_tree_model_foreach(GTK_TREE_MODEL(budget), (GtkTreeModelForeachFunc) ui_bud_tabview_model_search_iterator, &root_search); if (root_search.iterator) { child = *root_search.iterator; } else { gtk_tree_store_insert(budget, &child, &total_root, -1); } gtk_tree_store_set ( budget, &child, UI_BUD_TABVIEW_CATEGORY_NAME, _(UI_BUD_TABVIEW_VIEW_MODE[UI_BUD_TABVIEW_VIEW_EXPENSE]), UI_BUD_TABVIEW_CATEGORY_FULLNAME, _(UI_BUD_TABVIEW_VIEW_MODE[UI_BUD_TABVIEW_VIEW_EXPENSE]), UI_BUD_TABVIEW_CATEGORY_TYPE, UI_BUD_TABVIEW_CAT_TYPE_EXPENSE, UI_BUD_TABVIEW_IS_TOTAL, TRUE, UI_BUD_TABVIEW_JANUARY, total_expense[0], UI_BUD_TABVIEW_FEBRUARY, total_expense[1], UI_BUD_TABVIEW_MARCH, total_expense[2], UI_BUD_TABVIEW_APRIL, total_expense[3], UI_BUD_TABVIEW_MAY, total_expense[4], UI_BUD_TABVIEW_JUNE, total_expense[5], UI_BUD_TABVIEW_JULY, total_expense[6], UI_BUD_TABVIEW_AUGUST, total_expense[7], UI_BUD_TABVIEW_SEPTEMBER, total_expense[8], UI_BUD_TABVIEW_OCTOBER, total_expense[9], UI_BUD_TABVIEW_NOVEMBER, total_expense[10], UI_BUD_TABVIEW_DECEMBER, total_expense[11], -1); // Finally, set Balance total row root_search.row_category_type = UI_BUD_TABVIEW_CAT_TYPE_NONE; gtk_tree_model_foreach(GTK_TREE_MODEL(budget), (GtkTreeModelForeachFunc) ui_bud_tabview_model_search_iterator, &root_search); if (root_search.iterator) { child = *root_search.iterator; } else { gtk_tree_store_insert(budget, &child, &total_root, -1); } gtk_tree_store_set ( budget, &child, UI_BUD_TABVIEW_CATEGORY_NAME, _(UI_BUD_TABVIEW_VIEW_MODE[UI_BUD_TABVIEW_VIEW_SUMMARY]), UI_BUD_TABVIEW_CATEGORY_FULLNAME, _(UI_BUD_TABVIEW_VIEW_MODE[UI_BUD_TABVIEW_VIEW_SUMMARY]), UI_BUD_TABVIEW_CATEGORY_TYPE, UI_BUD_TABVIEW_CAT_TYPE_NONE, UI_BUD_TABVIEW_IS_TOTAL, TRUE, UI_BUD_TABVIEW_JANUARY, total_income[0] + total_expense[0], UI_BUD_TABVIEW_FEBRUARY, total_income[1] + total_expense[1], UI_BUD_TABVIEW_MARCH, total_income[2] + total_expense[2], UI_BUD_TABVIEW_APRIL, total_income[3] + total_expense[3], UI_BUD_TABVIEW_MAY, total_income[4] + total_expense[4], UI_BUD_TABVIEW_JUNE, total_income[5] + total_expense[5], UI_BUD_TABVIEW_JULY, total_income[6] + total_expense[6], UI_BUD_TABVIEW_AUGUST, total_income[7] + total_expense[7], UI_BUD_TABVIEW_SEPTEMBER, total_income[8] + total_expense[8], UI_BUD_TABVIEW_OCTOBER, total_income[9] + total_expense[9], UI_BUD_TABVIEW_NOVEMBER, total_income[10] + total_expense[10], UI_BUD_TABVIEW_DECEMBER, total_income[11] + total_expense[11], -1); g_free(root_search.iterator); return; } // Filter shown rows according to VIEW mode static gboolean ui_bud_tabview_model_row_filter (GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gboolean is_visible, is_root, is_total, is_separator, is_childheader; ui_bud_tabview_data_t* data; ui_bud_tabview_view_mode_t view_mode; guint32 category_key; ui_bud_tabview_cat_type_t category_type; Category *bdg_category; is_visible = TRUE; data = user_data; view_mode = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_mode)); gtk_tree_model_get(model, iter, UI_BUD_TABVIEW_IS_ROOT, &is_root, UI_BUD_TABVIEW_IS_TOTAL, &is_total, UI_BUD_TABVIEW_IS_SEPARATOR, &is_separator, UI_BUD_TABVIEW_IS_CHILD_HEADER, &is_childheader, UI_BUD_TABVIEW_CATEGORY_KEY, &category_key, UI_BUD_TABVIEW_CATEGORY_TYPE, &category_type, -1); // On specific mode, hide categories of opposite type if (!is_total && category_type == UI_BUD_TABVIEW_CAT_TYPE_INCOME && view_mode == UI_BUD_TABVIEW_VIEW_EXPENSE) { is_visible = FALSE; } if (!is_total && category_type == UI_BUD_TABVIEW_CAT_TYPE_EXPENSE && view_mode == UI_BUD_TABVIEW_VIEW_INCOME) { is_visible = FALSE; } // Hide fake first child root used for add dialog if (is_childheader || is_separator) { is_visible = FALSE; } // On balance mode, hide not forced empty categories if (!is_total && !is_root && !is_childheader && !is_separator && view_mode == UI_BUD_TABVIEW_VIEW_SUMMARY) { bdg_category = da_cat_get(category_key); if (bdg_category != NULL) { // Either the category has some budget, or its display is forced is_visible = (bdg_category->flags & (GF_BUDGET|GF_FORCED)); // Force display if one of its children should be displayed if (!is_visible) { GtkTreeIter child; Category *subcat; guint32 subcat_key; gint child_id=0; while (gtk_tree_model_iter_nth_child(model, &child, iter, child_id)) { gtk_tree_model_get(model, &child, UI_BUD_TABVIEW_CATEGORY_KEY, &subcat_key, -1); if (subcat_key != 0) { subcat = da_cat_get (subcat_key); if (subcat != NULL) { is_visible = (subcat->flags & (GF_BUDGET|GF_FORCED)); } } // Stop loop on first visible children if (is_visible) { break; } ++child_id; } } } } return is_visible; } #if HB_BUD_TABVIEW_EDIT_ENABLE // Filter rows to show only parent categories static gboolean ui_bud_tabview_model_row_filter_parents (GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { ui_bud_tabview_data_t *data = user_data; gboolean is_visible, is_root, is_total, is_separator, is_childheader; Category *bdg_category; guint32 category_key; ui_bud_tabview_cat_type_t category_type; ui_bud_tabview_view_mode_t view_mode = UI_BUD_TABVIEW_VIEW_SUMMARY; view_mode = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_mode)); is_visible = TRUE; gtk_tree_model_get(model, iter, UI_BUD_TABVIEW_CATEGORY_KEY, &category_key, UI_BUD_TABVIEW_CATEGORY_TYPE, &category_type, UI_BUD_TABVIEW_IS_ROOT, &is_root, UI_BUD_TABVIEW_IS_TOTAL, &is_total, UI_BUD_TABVIEW_IS_CHILD_HEADER, &is_childheader, UI_BUD_TABVIEW_IS_SEPARATOR, &is_separator, -1); // Show root according to view_mode if (is_root) { // Always hide total root if(category_type == UI_BUD_TABVIEW_CAT_TYPE_NONE) { is_visible = FALSE; } else if(view_mode == UI_BUD_TABVIEW_VIEW_EXPENSE && category_type == UI_BUD_TABVIEW_CAT_TYPE_INCOME) { is_visible = FALSE; } else if(view_mode == UI_BUD_TABVIEW_VIEW_INCOME && category_type == UI_BUD_TABVIEW_CAT_TYPE_EXPENSE) { is_visible = FALSE; } } // Hide Total rows if (is_total) { is_visible = FALSE; } if (category_key > 0 && (is_separator || is_childheader)) { is_visible = FALSE; } else if (category_key > 0) { // Hide rows according to currently view mode if(view_mode == UI_BUD_TABVIEW_VIEW_EXPENSE && category_type == UI_BUD_TABVIEW_CAT_TYPE_INCOME) { is_visible = FALSE; } else if(view_mode == UI_BUD_TABVIEW_VIEW_INCOME && category_type == UI_BUD_TABVIEW_CAT_TYPE_EXPENSE) { is_visible = FALSE; } else { // Show categories without parents bdg_category = da_cat_get(category_key); if (bdg_category != NULL) { if (bdg_category->parent > 0) { is_visible = FALSE; } } } } return is_visible; } // Filter rows to show only mergeable categories static gboolean ui_bud_tabview_model_row_merge_filter_with_headers (GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { ui_bud_tabview_data_t *data = user_data; gboolean is_visible, is_root, is_total, is_separator, is_childheader; guint32 category_key; ui_bud_tabview_cat_type_t category_type; is_visible = TRUE; gtk_tree_model_get(model, iter, UI_BUD_TABVIEW_CATEGORY_KEY, &category_key, UI_BUD_TABVIEW_CATEGORY_TYPE, &category_type, UI_BUD_TABVIEW_IS_ROOT, &is_root, UI_BUD_TABVIEW_IS_TOTAL, &is_total, UI_BUD_TABVIEW_IS_CHILD_HEADER, &is_childheader, UI_BUD_TABVIEW_IS_SEPARATOR, &is_separator, -1); // Hide source merge row if (data->MERGE_source_category_key == category_key) { is_visible = FALSE; } // Hide Total root if (is_root && category_type == UI_BUD_TABVIEW_CAT_TYPE_NONE ) { is_visible = FALSE; } // Hide Total rows if (is_total) { is_visible = FALSE; } if ((is_separator || is_childheader)) { GtkTreeIter parent; gtk_tree_model_iter_parent(model, &parent, iter); // Show child header and separator if parent has more than 2 children is_visible = (gtk_tree_model_iter_n_children(model, &parent) > 2); } return is_visible; } #endif static gint ui_bud_tabview_model_row_sort (GtkTreeModel *model, GtkTreeIter *cat_a, GtkTreeIter *cat_b, gpointer user_data) { const gchar* cat_a_name; const gchar* cat_b_name; ui_bud_tabview_cat_type_t cat_a_type, cat_b_type; guint32 cat_a_key, cat_b_key; gboolean cat_a_is_childheader, cat_a_is_separator, cat_b_is_childheader, cat_b_is_separator; gint order = 0; gtk_tree_model_get(model, cat_a, UI_BUD_TABVIEW_CATEGORY_NAME, &cat_a_name, UI_BUD_TABVIEW_CATEGORY_TYPE, &cat_a_type, UI_BUD_TABVIEW_CATEGORY_KEY, &cat_a_key, UI_BUD_TABVIEW_IS_CHILD_HEADER, &cat_a_is_childheader, UI_BUD_TABVIEW_IS_SEPARATOR, &cat_a_is_separator, -1); gtk_tree_model_get(model, cat_b, UI_BUD_TABVIEW_CATEGORY_NAME, &cat_b_name, UI_BUD_TABVIEW_CATEGORY_TYPE, &cat_b_type, UI_BUD_TABVIEW_CATEGORY_KEY, &cat_b_key, UI_BUD_TABVIEW_IS_CHILD_HEADER, &cat_b_is_childheader, UI_BUD_TABVIEW_IS_SEPARATOR, &cat_b_is_separator, -1); // Sort first by category type if (cat_a_type != cat_b_type) { switch (cat_a_type) { case UI_BUD_TABVIEW_CAT_TYPE_INCOME: order = -1; break; case UI_BUD_TABVIEW_CAT_TYPE_EXPENSE: order = 0; break; case UI_BUD_TABVIEW_CAT_TYPE_NONE: order = 1; break; } } else { // On standard categories, just order by name if (!cat_a_is_childheader && !cat_a_is_separator && !cat_b_is_childheader && !cat_b_is_separator) { order = g_utf8_collate(g_utf8_casefold(cat_a_name, -1), g_utf8_casefold(cat_b_name, -1) ); } // Otherwise, fake categories have to be first (header and separator) else if (cat_a_is_childheader || cat_a_is_separator) { if (!cat_b_is_separator && !cat_b_is_childheader) { order = -1; } // When both are fake, header has to be first else { order = (cat_a_is_childheader ? -1 : 1); } } else { // Same idea for fake categories when cat_b is fake, but // with reversed result, because sort function return // result according to cat_a if (!cat_a_is_separator && !cat_a_is_childheader) { order = 1; } else { order = (cat_b_is_childheader ? 1 : -1); } } } return order; } // the budget model creation static GtkTreeModel * ui_bud_tabview_model_new () { GtkTreeStore *budget; GtkTreeIter *iter_income, *iter_expense; guint32 n_category; ui_bud_tabview_search_criteria_t root_search = ui_bud_tabview_search_criteria_default; // Create Tree Store budget = gtk_tree_store_new ( UI_BUD_TABVIEW_NUMBER_COLOMNS, G_TYPE_UINT, // UI_BUD_TABVIEW_CATEGORY_KEY G_TYPE_STRING, // UI_BUD_TABVIEW_CATEGORY_NAME G_TYPE_STRING, // UI_BUD_TABVIEW_CATEGORY_FULLNAME G_TYPE_INT, // UI_BUD_TABVIEW_CATEGORY_TYPE G_TYPE_BOOLEAN, // UI_BUD_TABVIEW_IS_ROOT G_TYPE_BOOLEAN, // UI_BUD_TABVIEW_IS_TOTAL G_TYPE_BOOLEAN, // UI_BUD_TABVIEW_IS_CHILD_HEADER G_TYPE_BOOLEAN, // UI_BUD_TABVIEW_IS_SEPARATOR G_TYPE_BOOLEAN, // UI_BUD_TABVIEW_IS_MONITORING_FORCED G_TYPE_BOOLEAN, // UI_BUD_TABVIEW_IS_SAME_AMOUNT G_TYPE_BOOLEAN, // UI_BUD_TABVIEW_IS_SUB_CATEGORY G_TYPE_BOOLEAN, // UI_BUD_TABVIEW_HAS_BUDGET G_TYPE_DOUBLE, // UI_BUD_TABVIEW_SAME_AMOUNT G_TYPE_DOUBLE, // UI_BUD_TABVIEW_JANUARY G_TYPE_DOUBLE, // UI_BUD_TABVIEW_FEBRUARY G_TYPE_DOUBLE, // UI_BUD_TABVIEW_MARCH G_TYPE_DOUBLE, // UI_BUD_TABVIEW_APRIL G_TYPE_DOUBLE, // UI_BUD_TABVIEW_MAY G_TYPE_DOUBLE, // UI_BUD_TABVIEW_JUNE G_TYPE_DOUBLE, // UI_BUD_TABVIEW_JULY G_TYPE_DOUBLE, // UI_BUD_TABVIEW_AUGUST G_TYPE_DOUBLE, // UI_BUD_TABVIEW_SEPTEMBER G_TYPE_DOUBLE, // UI_BUD_TABVIEW_OCTOBER G_TYPE_DOUBLE, // UI_BUD_TABVIEW_NOVEMBER G_TYPE_DOUBLE // UI_BUD_TABVIEW_DECEMBER ); // Populate the store /* Create tree roots */ ui_bud_tabview_model_insert_roots (budget); // Retrieve required root root_search.row_is_root = TRUE; root_search.row_is_total = FALSE; root_search.row_category_type = UI_BUD_TABVIEW_CAT_TYPE_INCOME; gtk_tree_model_foreach(GTK_TREE_MODEL(budget), (GtkTreeModelForeachFunc) ui_bud_tabview_model_search_iterator, &root_search); iter_income = root_search.iterator; root_search.row_category_type = UI_BUD_TABVIEW_CAT_TYPE_EXPENSE; gtk_tree_model_foreach(GTK_TREE_MODEL(budget), (GtkTreeModelForeachFunc) ui_bud_tabview_model_search_iterator, &root_search); iter_expense = root_search.iterator; /* Create rows for real categories */ n_category = da_cat_get_max_key(); for(guint32 i=1; i<=n_category; ++i) { Category *bdg_category; gboolean cat_is_income; bdg_category = da_cat_get(i); if (bdg_category == NULL) { continue; } cat_is_income = (category_type_get (bdg_category) == 1); DB(g_print(" category %d:'%s' isincome=%d, issub=%d hasbudget=%d parent=%d\n", bdg_category->key, bdg_category->name, cat_is_income, (bdg_category->flags & GF_SUB), (bdg_category->flags & GF_BUDGET), bdg_category->parent)); // Compute totals and initiate category in right tree root if (cat_is_income) { ui_bud_tabview_model_add_category_with_lineage(budget, iter_income, &(bdg_category->key)); } else if (!cat_is_income) { ui_bud_tabview_model_add_category_with_lineage(budget, iter_expense, &(bdg_category->key)); } } /* Create rows for total root */ ui_bud_tabview_model_update_monthly_total(GTK_TREE_STORE(budget)); /* Sort categories on same node level */ gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE(budget), UI_BUD_TABVIEW_CATEGORY_NAME, ui_bud_tabview_model_row_sort, NULL, NULL); gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (budget), UI_BUD_TABVIEW_CATEGORY_NAME, GTK_SORT_ASCENDING); g_free(root_search.iterator); return GTK_TREE_MODEL(budget); } /** * GtkTreeView functions **/ static void ui_bud_tabview_icon_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { ui_bud_tabview_data_t *data = user_data; gchar *iconname = NULL; gboolean has_budget, is_monitoring_forced; ui_bud_tabview_view_mode_t view_mode = UI_BUD_TABVIEW_VIEW_SUMMARY; gtk_tree_model_get(model, iter, UI_BUD_TABVIEW_IS_MONITORING_FORCED, &is_monitoring_forced, UI_BUD_TABVIEW_HAS_BUDGET, &has_budget, -1); view_mode = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_mode)); //5.3 added if( is_monitoring_forced ) iconname = ICONNAME_HB_OPE_FORCED; else if (view_mode != UI_BUD_TABVIEW_VIEW_SUMMARY ) { if( has_budget ) iconname = ICONNAME_HB_OPE_BUDGET; } g_object_set(renderer, "icon-name", iconname, NULL); } // Display category name in bold if it has budget static void ui_bud_tabview_view_display_category_name (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { ui_bud_tabview_data_t *data = user_data; gboolean has_budget, is_sub_category; PangoWeight weight = PANGO_WEIGHT_NORMAL; ui_bud_tabview_view_mode_t view_mode = UI_BUD_TABVIEW_VIEW_SUMMARY; gtk_tree_model_get(model, iter, UI_BUD_TABVIEW_IS_SUB_CATEGORY, &is_sub_category, UI_BUD_TABVIEW_HAS_BUDGET, &has_budget, -1); view_mode = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_mode)); if (view_mode != UI_BUD_TABVIEW_VIEW_SUMMARY && has_budget) { weight = PANGO_WEIGHT_BOLD; } g_object_set(renderer, "style", is_sub_category ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL, "weight", weight, NULL); } // to enable or not edition on month columns static void ui_bud_tabview_view_display_amount (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { GtkAdjustment *adjustment; gboolean is_same_amount, is_root, is_total, is_visible, is_editable; ui_bud_tabview_cat_type_t row_category_type; gdouble amount = 0.0; gchar *text; gchar *fgcolor; const ui_bud_tabview_store_t column_id = GPOINTER_TO_INT(user_data); gtk_tree_model_get(model, iter, UI_BUD_TABVIEW_CATEGORY_TYPE, &row_category_type, UI_BUD_TABVIEW_IS_ROOT, &is_root, UI_BUD_TABVIEW_IS_SAME_AMOUNT, &is_same_amount, UI_BUD_TABVIEW_IS_TOTAL, &is_total, -1); // Text to display if (is_same_amount) { gtk_tree_model_get(model, iter, UI_BUD_TABVIEW_SAME_AMOUNT, &amount, -1); } else if (column_id >= UI_BUD_TABVIEW_JANUARY && column_id <= UI_BUD_TABVIEW_DECEMBER) { gtk_tree_model_get(model, iter, column_id, &amount, -1); } text = g_strdup_printf("%.2f", amount); fgcolor = get_normal_color_amount(amount); // Default styling values is_visible = TRUE; is_editable = FALSE; if (is_root) { is_visible = FALSE; is_editable = FALSE; } else if (is_total) { is_visible = TRUE; is_editable = FALSE; if (column_id == UI_BUD_TABVIEW_SAME_AMOUNT) { is_visible = FALSE; } } else if (is_same_amount) { is_visible = TRUE; is_editable = FALSE; if (column_id == UI_BUD_TABVIEW_SAME_AMOUNT) { is_editable = TRUE; } } else if (! is_same_amount) { is_visible = TRUE; is_editable = TRUE; if (column_id == UI_BUD_TABVIEW_SAME_AMOUNT) { is_editable = FALSE; } } // Finally, visibility depends on set amount is_visible = (is_visible && (is_editable || amount != 0.0)); adjustment = gtk_adjustment_new( 0.0, // initial-value -G_MAXDOUBLE, // minmal-value G_MAXDOUBLE, // maximal-value 0.5, // step increment 10, // page increment 0); // page size (0 because irrelevant for GtkSpinButton) g_object_set(renderer, "text", text, "visible", is_visible, "editable", is_editable, "foreground", fgcolor, "xalign", 1.0, "adjustment", adjustment, "digits", 2, NULL); g_free(text); } // to enable or not edition on month columns static void ui_bud_tabview_view_display_is_same_amount (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gboolean is_same_amount, is_root, is_total, is_visible, is_sensitive; gtk_tree_model_get(model, iter, UI_BUD_TABVIEW_IS_ROOT, &is_root, UI_BUD_TABVIEW_IS_SAME_AMOUNT, &is_same_amount, UI_BUD_TABVIEW_IS_TOTAL, &is_total, -1); // Default values is_visible = TRUE; is_sensitive = TRUE; if (is_root || is_total) { is_visible = FALSE; is_sensitive = FALSE; } g_object_set(renderer, "activatable", TRUE, "active", is_same_amount, "visible", is_visible, "sensitive", is_sensitive, NULL); } // Compute dynamically the annual total static void ui_bud_tabview_view_display_annual_total (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gboolean is_same_amount = FALSE, is_total = FALSE, is_root = FALSE; gdouble amount = 0.0; gdouble total = 0.0; gchar *text; gchar *fgcolor; gboolean is_visible = TRUE; gtk_tree_model_get(model, iter, UI_BUD_TABVIEW_IS_ROOT, &is_root, UI_BUD_TABVIEW_IS_SAME_AMOUNT, &is_same_amount, UI_BUD_TABVIEW_SAME_AMOUNT, &amount, UI_BUD_TABVIEW_IS_TOTAL, &is_total, -1); if (is_same_amount) { total = 12.0 * amount; } else { for (int i = UI_BUD_TABVIEW_JANUARY ; i <= UI_BUD_TABVIEW_DECEMBER ; ++i) { gtk_tree_model_get(model, iter, i, &amount, -1); total += amount; } } text = g_strdup_printf("%.2f", total); fgcolor = get_normal_color_amount(total); if (is_root) { is_visible = FALSE; } // Finally, visibility depends on set amount //is_visible = (is_visible && amount != 0.0); //#1859275 visibility to be tested on total is_visible = (is_visible && total != 0.0); g_object_set(renderer, "text", text, "foreground", fgcolor, "visible", is_visible, "xalign", 1.0, NULL); g_free(text); } // Compute monthly average static void ui_bud_tabview_view_display_monthly_average(GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gboolean is_same_amount = FALSE, is_total = FALSE, is_root = FALSE; gdouble amount = 0.0; gdouble average = 0.0; gchar *text; gchar *fgcolor; gboolean is_visible = TRUE; gtk_tree_model_get(model, iter, UI_BUD_TABVIEW_IS_ROOT, &is_root, UI_BUD_TABVIEW_IS_SAME_AMOUNT, &is_same_amount, UI_BUD_TABVIEW_SAME_AMOUNT, &amount, UI_BUD_TABVIEW_IS_TOTAL, &is_total, -1); if (is_same_amount) { average = amount; } else { for (int i = UI_BUD_TABVIEW_JANUARY ; i <= UI_BUD_TABVIEW_DECEMBER ; ++i) { gtk_tree_model_get(model, iter, i, &amount, -1); average += amount; } average = hb_amount_round(average / 12.0, 2); } text = g_strdup_printf("%.2f", average); fgcolor = get_normal_color_amount(average); if (is_root) { is_visible = FALSE; } // Finally, visibility depends on set amount is_visible = (is_visible && average != 0.0); g_object_set(renderer, "text", text, "foreground", fgcolor, "visible", is_visible, "xalign", 1.0, NULL); g_free(text); } // When view mode is toggled: // - recreate the view to update columns rendering static void ui_bud_tabview_view_toggle (gpointer user_data, ui_bud_tabview_view_mode_t view_mode) { ui_bud_tabview_data_t *data = user_data; GtkTreeModel *budget; GtkWidget *view; GtkTreePath* firstRow; view = data->TV_budget; budget = gtk_tree_view_get_model(GTK_TREE_VIEW(view)); gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(budget)); if (data->TV_is_expanded) { gtk_tree_view_expand_all(GTK_TREE_VIEW(view)); } else { ui_bud_tabview_model_collapse(GTK_TREE_VIEW(view)); } gtk_tree_selection_unselect_all(gtk_tree_view_get_selection(GTK_TREE_VIEW(view))); firstRow = gtk_tree_path_new_from_string("0"); gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(view), firstRow, data->TVC_category, TRUE, 0, 0); DB(g_print("[ui_bud_tabview] : button state changed to: %d\n", view_mode)); return; } static gboolean ui_bud_tabview_view_search (GtkTreeModel *filter, gint column, const gchar *key, GtkTreeIter *filter_iter, gpointer data) { gboolean is_matching = FALSE, is_root, is_total; GtkTreeModel *budget; GtkTreeIter iter; gchar *category_name; budget = gtk_tree_model_filter_get_model(GTK_TREE_MODEL_FILTER(filter)); gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter), &iter, filter_iter); gtk_tree_model_get(budget, &iter, UI_BUD_TABVIEW_CATEGORY_NAME, &category_name, UI_BUD_TABVIEW_IS_ROOT, &is_root, UI_BUD_TABVIEW_IS_TOTAL, &is_total, -1); if (!is_root && !is_total && g_strstr_len(g_utf8_casefold(category_name, -1), -1, g_utf8_casefold(key, -1))) { is_matching = TRUE; } // GtkTreeViewSearchEqualFunc has to return FALSE only if iter matches. return !is_matching; } #if HB_BUD_TABVIEW_EDIT_ENABLE static gboolean ui_bud_tabview_view_separator (GtkTreeModel *model, GtkTreeIter *iter, gpointer data) { gboolean is_separator; gtk_tree_model_get(model, iter, UI_BUD_TABVIEW_IS_SEPARATOR, &is_separator, -1); return is_separator; } #endif // the budget view creation which run the model creation tool static GtkWidget *ui_bud_tabview_view_new (gpointer user_data) { GtkTreeViewColumn *col; GtkCellRenderer *renderer, *cat_name_renderer; GtkWidget *view; ui_bud_tabview_data_t *data = user_data; view = gtk_tree_view_new(); /* icon column */ col = gtk_tree_view_column_new(); renderer = gtk_cell_renderer_pixbuf_new (); //gtk_cell_renderer_set_fixed_size(renderer, GLOBALS->lst_pixbuf_maxwidth, -1); gtk_tree_view_column_pack_start(col, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(col, renderer, ui_bud_tabview_icon_cell_data_function, (gpointer) data, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(view), col); /* --- Category column --- */ col = gtk_tree_view_column_new(); data->TVC_category = col; gtk_tree_view_column_set_title(col, _("Category")); gtk_tree_view_column_set_alignment(col, 0.5); gtk_tree_view_append_column(GTK_TREE_VIEW(view), col); gtk_tree_view_set_expander_column(GTK_TREE_VIEW(view), col); // Category Name cat_name_renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start (col, cat_name_renderer, TRUE); gtk_tree_view_column_add_attribute(col, cat_name_renderer, "text", UI_BUD_TABVIEW_CATEGORY_NAME); gtk_tree_view_column_set_cell_data_func(col, cat_name_renderer, ui_bud_tabview_view_display_category_name, (gpointer) data, NULL); #if HB_BUD_TABVIEW_EDIT_ENABLE g_object_set(cat_name_renderer, "editable", TRUE, NULL); g_signal_connect(cat_name_renderer, "edited", G_CALLBACK(ui_bud_tabview_cell_update_category), (gpointer) data); #endif /* --- Annual Total --- */ col = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(col, _("Annual Total")); gtk_tree_view_column_set_alignment(col, 0.5); gtk_tree_view_append_column(GTK_TREE_VIEW(view), col); renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(col, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(col, renderer, ui_bud_tabview_view_display_annual_total, NULL, NULL); /* --- Monthly average --- */ col = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(col, _("Monthly Average")); gtk_tree_view_column_set_alignment(col, 0.5); gtk_tree_view_append_column(GTK_TREE_VIEW(view), col); renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(col, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(col, renderer, ui_bud_tabview_view_display_monthly_average, NULL, NULL); /* --- Monthly column --- */ col = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(col, _("Monthly")); gtk_tree_view_column_set_alignment(col, 0.5); gtk_tree_view_append_column(GTK_TREE_VIEW(view), col); // Monthly toggler renderer = gtk_cell_renderer_toggle_new(); g_object_set(renderer, "xalign", 0, NULL); gtk_tree_view_column_pack_start(col, renderer, FALSE); gtk_tree_view_column_set_cell_data_func(col, renderer, ui_bud_tabview_view_display_is_same_amount, NULL, NULL); g_signal_connect (renderer, "toggled", G_CALLBACK(ui_bud_tabview_cell_update_is_same_amount), (gpointer) data); // Monthly amount renderer = gtk_cell_renderer_spin_new(); gtk_tree_view_column_pack_start(col, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(col, renderer, ui_bud_tabview_view_display_amount, GINT_TO_POINTER(UI_BUD_TABVIEW_SAME_AMOUNT), NULL); g_object_set_data(G_OBJECT(renderer), "ui_bud_tabview_column_id", GINT_TO_POINTER(UI_BUD_TABVIEW_SAME_AMOUNT)); g_signal_connect(renderer, "edited", G_CALLBACK(ui_bud_tabview_cell_update_amount), (gpointer) data); /* --- Each month amount --- */ for (int i = UI_BUD_TABVIEW_JANUARY ; i <= UI_BUD_TABVIEW_DECEMBER ; ++i) { int month = i - UI_BUD_TABVIEW_JANUARY ; col = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(col, _(UI_BUD_TABVIEW_MONTHS[month])); gtk_tree_view_column_set_alignment(col, 0.5); gtk_tree_view_append_column(GTK_TREE_VIEW(view), col); renderer = gtk_cell_renderer_spin_new(); gtk_tree_view_column_pack_start(col, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(col, renderer, ui_bud_tabview_view_display_amount, GINT_TO_POINTER(i), NULL); g_object_set_data(G_OBJECT(renderer), "ui_bud_tabview_column_id", GINT_TO_POINTER(i)); g_signal_connect(renderer, "edited", G_CALLBACK(ui_bud_tabview_cell_update_amount), (gpointer) data); } /* --- Empty column to expand according to the window width --- */ col = gtk_tree_view_column_new(); gtk_tree_view_append_column(GTK_TREE_VIEW(view), col); gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(view)), GTK_SELECTION_SINGLE); gtk_tree_view_set_enable_search(GTK_TREE_VIEW(view), TRUE); gtk_tree_view_set_search_column(GTK_TREE_VIEW(view), UI_BUD_TABVIEW_CATEGORY_NAME); gtk_tree_view_set_search_equal_func(GTK_TREE_VIEW(view), (GtkTreeViewSearchEqualFunc) ui_bud_tabview_view_search, NULL, NULL); g_object_set(view, "enable-grid-lines", PREFS->grid_lines, "enable-tree-lines", FALSE, NULL); return view; } /* * UI actions **/ #if HB_BUD_TABVIEW_EDIT_ENABLE // Update homebank category on user change static void ui_bud_tabview_cell_update_category(GtkCellRendererText *renderer, gchar *filter_path, gchar *new_text, gpointer user_data) { ui_bud_tabview_data_t *data = user_data; GtkWidget *view; GtkTreeIter filter_iter, iter; GtkTreeModel *filter, *budget; Category* category; guint32 category_key; gboolean is_root, is_total; DB(g_print("\n[ui_bud_tabview] category name updated with new name '%s'\n", new_text)); view = data->TV_budget; // Read filter data filter = gtk_tree_view_get_model (GTK_TREE_VIEW(view)); gtk_tree_model_get_iter_from_string (filter, &filter_iter, filter_path); // Convert data to budget model budget = gtk_tree_model_filter_get_model(GTK_TREE_MODEL_FILTER(filter)); gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter), &iter, &filter_iter); gtk_tree_model_get (budget, &iter, UI_BUD_TABVIEW_CATEGORY_KEY, &category_key, UI_BUD_TABVIEW_IS_ROOT, &is_root, UI_BUD_TABVIEW_IS_TOTAL, &is_total, -1); category = da_cat_get (category_key); if (! category || is_root || is_total) { return; } // Update category name category_rename(category, new_text); // Notify of changes data->change++; // Update budget model // Current row gtk_tree_store_set( GTK_TREE_STORE(budget), &iter, UI_BUD_TABVIEW_CATEGORY_NAME, category->name, UI_BUD_TABVIEW_CATEGORY_FULLNAME, category->fullname, -1); return; } #endif // Update amount in budget model and homebank category on user change static void ui_bud_tabview_cell_update_amount(GtkCellRendererText *renderer, gchar *filter_path, gchar *new_text, gpointer user_data) { const ui_bud_tabview_store_t column_id = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(renderer), "ui_bud_tabview_column_id")); ui_bud_tabview_data_t *data = user_data; GtkWidget *view; GtkTreeIter filter_iter, iter; GtkTreeModel *filter, *budget; Category* category; gdouble amount; guint32 category_key; DB(g_print("\n[ui_bud_tabview] amount updated:\n")); view = data->TV_budget; // Read filter data filter = gtk_tree_view_get_model (GTK_TREE_VIEW(view)); gtk_tree_model_get_iter_from_string (filter, &filter_iter, filter_path); // Convert data to budget model budget = gtk_tree_model_filter_get_model(GTK_TREE_MODEL_FILTER(filter)); gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter), &iter, &filter_iter); gtk_tree_model_get (budget, &iter, UI_BUD_TABVIEW_CATEGORY_KEY, &category_key, -1); category = da_cat_get (category_key); if (! category) { return; } amount = g_strtod(new_text, NULL); DB(g_print("\tcolumn: %d (month: %d), category key: %d, amount %.2f\n", column_id, column_id - UI_BUD_TABVIEW_JANUARY + 1, category_key, amount)); // Update Category category->budget[column_id - UI_BUD_TABVIEW_JANUARY + 1] = amount; // Reset Budget Flag category->flags &= ~(GF_BUDGET); if (category->flags & GF_FORCED) { category->flags |= GF_BUDGET; } else { for(gint budget_id = 0; budget_id <=12; ++budget_id) { if( category->budget[budget_id] != 0.0) { category->flags |= GF_BUDGET; break; } } } // Notify of changes data->change++; // Update budget model // Current row gtk_tree_store_set( GTK_TREE_STORE(budget), &iter, UI_BUD_TABVIEW_HAS_BUDGET, (category->flags & GF_BUDGET), column_id, amount, -1); // Refresh total rows ui_bud_tabview_model_update_monthly_total (GTK_TREE_STORE(budget)); return; } // Update the row to (dis/enable) same amount for this category static void ui_bud_tabview_cell_update_is_same_amount(GtkCellRendererText *renderer, gchar *filter_path, gpointer user_data) { ui_bud_tabview_data_t *data = user_data; GtkWidget *view; GtkTreeIter filter_iter, iter; GtkTreeModel *filter, *budget; Category* category; gboolean issame; guint32 category_key; DB(g_print("\n[ui_bud_tabview] Is same amount updated:\n")); view = data->TV_budget; // Read filter data filter = gtk_tree_view_get_model (GTK_TREE_VIEW(view)); gtk_tree_model_get_iter_from_string (filter, &filter_iter, filter_path); // Convert data to budget model budget = gtk_tree_model_filter_get_model(GTK_TREE_MODEL_FILTER(filter)); gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter), &iter, &filter_iter); gtk_tree_model_get (budget, &iter, UI_BUD_TABVIEW_CATEGORY_KEY, &category_key, UI_BUD_TABVIEW_IS_SAME_AMOUNT, &issame, -1); category = da_cat_get (category_key); if (! category) { return; } // Value has been toggled ! issame = !(issame); DB(g_print("\tcategory key: %d, issame: %d (before: %d)\n", category_key, issame, !(issame))); // Update Category // Reset Forced Flag category->flags &= ~(GF_CUSTOM); if (issame == FALSE) { category->flags |= (GF_CUSTOM); } // Notify of changes data->change++; // Update budget model // Current row gtk_tree_store_set( GTK_TREE_STORE(budget), &iter, UI_BUD_TABVIEW_IS_SAME_AMOUNT, issame, -1); // Refresh total rows ui_bud_tabview_model_update_monthly_total (GTK_TREE_STORE(budget)); return; } // Update budget view and model according to the new view mode selected static void ui_bud_tabview_view_update_mode (GtkToggleButton *button, gpointer user_data) { ui_bud_tabview_data_t *data = user_data; ui_bud_tabview_view_mode_t view_mode = UI_BUD_TABVIEW_VIEW_SUMMARY; // Only run once the view update, so only run on the activated button signal if(!gtk_toggle_button_get_active(button)) { return; } // Mode is directly set by radio button, because the UI_BUD_TABVIEW_VIEW_MODE and enum // for view mode are constructed to correspond (manually) view_mode = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_mode)); DB(g_print("\n[ui_bud_tabview] view mode toggled to: %d\n", view_mode)); ui_bud_tabview_view_toggle((gpointer) data, view_mode); return; } // Expand all categories inside the current view static void ui_bud_tabview_view_expand (GtkButton *button, gpointer user_data) { ui_bud_tabview_data_t *data = user_data; GtkWidget *view; view = data->TV_budget; data->TV_is_expanded = TRUE; gtk_tree_view_expand_all(GTK_TREE_VIEW(view)); return; } // Collapse all categories inside the current view static void ui_bud_tabview_view_collapse (GtkButton *button, gpointer user_data) { ui_bud_tabview_data_t *data = user_data; GtkWidget *view; view = data->TV_budget; data->TV_is_expanded = FALSE; ui_bud_tabview_model_collapse (GTK_TREE_VIEW(view)); return; } // From TreeView, retrieve the category, the budget TreeStore and the iter inside that store. // * budget: a GtkTreeModel // * iter: an unintialized GtkTreeIter // * category: a pointer of Category which will point to the found Category // If category is not retrieved, return FALSE and reset budget, iter and category. // That's especillaly useful for buttons outside the GtkTreeView. // Warning: iter has to be already allocated static gboolean ui_bud_tabview_get_selected_category (GtkTreeModel **budget, GtkTreeIter *iter, Category **category, ui_bud_tabview_data_t *data) { GtkWidget *view; GtkTreeModel *filter; GtkTreeSelection *selection; GtkTreeIter filter_iter; guint32 item_key; DB( g_print("[ui_bud_tabview_get_selected_category] retrieve category from selected row\n") ); view = data->TV_budget; // Read filter to retrieve the currently selected row filter = gtk_tree_view_get_model (GTK_TREE_VIEW(view)); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(view)); *budget = gtk_tree_model_filter_get_model(GTK_TREE_MODEL_FILTER(filter)); // Retrieve selected row from filter if possible if (gtk_tree_selection_get_selected(selection, &filter, &filter_iter)) { // Convert data to budget model gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter), iter, &filter_iter); // Avoid to return fake categories gtk_tree_model_get (*budget, iter, UI_BUD_TABVIEW_CATEGORY_KEY, &item_key, -1); if (item_key != 0) { DB(g_print("look category with key: %d\n", item_key)); *category = da_cat_get(item_key); return (*category != NULL); } } return FALSE; } #if HB_BUD_TABVIEW_EDIT_ENABLE // From TreeView, retrieve the the budget TreeStore and the root iter inside that store. // * budget: a GtkTreeModel // * iter: an unintialized GtkTreeIter // Return true if selected row is a root row. // Warning: iter has to be already allocated static gboolean ui_bud_tabview_get_selected_root_iter (GtkTreeModel **budget, GtkTreeIter *iter, ui_bud_tabview_data_t *data) { GtkWidget *view; GtkTreeModel *filter; GtkTreeSelection *selection; GtkTreeIter filter_iter; gboolean is_root; DB( g_print("[ui_bud_tabview_get_selected_root_iter] retrieve root iter from selected row\n") ); view = data->TV_budget; // Read filter to retrieve the currently selected row filter = gtk_tree_view_get_model (GTK_TREE_VIEW(view)); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(view)); *budget = gtk_tree_model_filter_get_model(GTK_TREE_MODEL_FILTER(filter)); // Retrieve selected row from filter if possible if (gtk_tree_selection_get_selected(selection, &filter, &filter_iter)) { // Convert data to budget model gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter), iter, &filter_iter); gtk_tree_model_get (*budget, iter, UI_BUD_TABVIEW_IS_ROOT, &is_root, -1); return (is_root); } return FALSE; } // Check if add category dialog is full filled static void ui_bud_tabview_category_add_full_filled (GtkWidget *source, gpointer user_data) { ui_bud_tabview_data_t *data = user_data; const gchar* new_raw_name; gchar* new_name; gboolean is_name_filled = FALSE, is_parent_choosen = FALSE; // Check a name for the new category is given: new_raw_name = gtk_entry_get_text(GTK_ENTRY(data->EN_add_name)); if (new_raw_name && *new_raw_name) { new_name = g_strdup(new_raw_name); g_strstrip(new_name); if (strlen(new_name) > 0) { is_name_filled = TRUE; } g_free(new_name); } // Check an entry has been selected in parent combobox is_parent_choosen = (gtk_combo_box_get_active(GTK_COMBO_BOX(data->COMBO_add_parent)) > -1); // Dis/Enable apply dialog button gtk_widget_set_sensitive(data->BT_apply, is_name_filled && is_parent_choosen); return; } // Add a category according to the current selection static void ui_bud_tabview_category_add (GtkButton *button, gpointer user_data) { ui_bud_tabview_data_t *data = user_data; GtkWidget *apply; ui_bud_tabview_view_mode_t view_mode; GtkTreeModel *budget, *categories; GtkTreeIter default_parent_iter, categories_iter; GtkWidget *dialog, *content_area, *grid, *combobox, *textentry, *widget; GtkCellRenderer *renderer; Category *category; gint gridrow, response; gboolean exists_default_select = FALSE; view_mode = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_mode)); // Setup budget and retrieve default selection from budget dialog if (ui_bud_tabview_get_selected_category (&budget, &default_parent_iter, &category, data)) { exists_default_select = TRUE; if (category->parent != 0) { ui_bud_tabview_search_criteria_t parent_search = ui_bud_tabview_search_criteria_default; parent_search.row_category_key = category->parent; gtk_tree_model_foreach(GTK_TREE_MODEL(budget), (GtkTreeModelForeachFunc) ui_bud_tabview_model_search_iterator, &parent_search); if (!parent_search.iterator) { DB(g_print(" -> error: not found good parent iterator !\n")); return; } default_parent_iter = *parent_search.iterator; g_free(parent_search.iterator); } } else if (ui_bud_tabview_get_selected_root_iter (&budget, &default_parent_iter, data)) { // If currently selected row is a root row, use it as default value exists_default_select = TRUE; } // Selectable categories from original model categories = gtk_tree_model_filter_new(budget, NULL); gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(categories), ui_bud_tabview_model_row_filter_parents, data, NULL); if (exists_default_select) { gtk_tree_model_filter_convert_child_iter_to_iter(GTK_TREE_MODEL_FILTER(categories), &categories_iter, &default_parent_iter); } DB( g_print("[ui_bud_tabview] open sub-dialog to add a category\n") ); dialog = gtk_dialog_new_with_buttons (_("Add a category"), GTK_WINDOW(data->dialog), GTK_DIALOG_MODAL, _("_Cancel"), GTK_RESPONSE_CANCEL, NULL); // Apply button will be enabled only when parent category and name are choosen apply = gtk_dialog_add_button(GTK_DIALOG(dialog), _("_Apply"), GTK_RESPONSE_APPLY); data->BT_apply = apply; gtk_widget_set_sensitive(apply, FALSE); //window contents content_area = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); // design content grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (grid), SPACING_MEDIUM); gtk_grid_set_column_spacing (GTK_GRID (grid), SPACING_MEDIUM); g_object_set(grid, "margin", SPACING_MEDIUM, NULL); gtk_container_add(GTK_CONTAINER(content_area), grid); // First row display parent selector gridrow = 0; widget = gtk_label_new(_("Parent category")); gtk_grid_attach (GTK_GRID (grid), widget, 0, gridrow, 1, 1); combobox = gtk_combo_box_new_with_model(categories); data->COMBO_add_parent = combobox; gtk_grid_attach (GTK_GRID (grid), combobox, 1, gridrow, 1, 1); gtk_combo_box_set_row_separator_func( GTK_COMBO_BOX(combobox), ui_bud_tabview_view_separator, data, NULL ); gtk_combo_box_set_id_column(GTK_COMBO_BOX(combobox), UI_BUD_TABVIEW_CATEGORY_KEY); renderer = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT(combobox), renderer, TRUE); gtk_cell_layout_add_attribute(GTK_CELL_LAYOUT(combobox), renderer, "text", UI_BUD_TABVIEW_CATEGORY_FULLNAME); // Next row displays the new category entry gridrow++; widget = gtk_label_new(_("Category name")); gtk_grid_attach (GTK_GRID (grid), widget, 0, gridrow, 1, 1); textentry = gtk_entry_new(); data->EN_add_name = textentry; gtk_grid_attach (GTK_GRID (grid), textentry, 1, gridrow, 1, 1); // Signals to enable Apply button g_signal_connect (data->COMBO_add_parent, "changed", G_CALLBACK(ui_bud_tabview_category_add_full_filled), (gpointer)data); g_signal_connect (data->EN_add_name, "changed", G_CALLBACK(ui_bud_tabview_category_add_full_filled), (gpointer)data); if (exists_default_select) { gtk_combo_box_set_active_iter(GTK_COMBO_BOX(combobox), &categories_iter); } gtk_widget_show_all (dialog); response = gtk_dialog_run (GTK_DIALOG (dialog)); // When the response is APPLY, the form was full filled if (response == GTK_RESPONSE_APPLY) { Category *new_item; const gchar *new_name; gchar *parent_name; guint32 parent_key; ui_bud_tabview_cat_type_t parent_type; ui_bud_tabview_search_criteria_t root_search = ui_bud_tabview_search_criteria_default; GtkTreeIter parent_iter, *root_iter; DB( g_print("[ui_bud_tabview] applying creation of a new category\n") ); // Retrieve info from dialog gtk_combo_box_get_active_iter(GTK_COMBO_BOX(combobox), &categories_iter); gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(categories), &parent_iter, &categories_iter); gtk_tree_model_get (budget, &parent_iter, UI_BUD_TABVIEW_CATEGORY_NAME, &parent_name, UI_BUD_TABVIEW_CATEGORY_KEY, &parent_key, UI_BUD_TABVIEW_CATEGORY_TYPE, &parent_type, -1); DB( g_print(" -> from parent cat: %s (key: %d, type: %d)\n", parent_name, parent_key ,parent_type) ); // Retrieve required root root_search.row_is_root = TRUE; root_search.row_is_total = FALSE; root_search.row_category_type = parent_type; gtk_tree_model_foreach(GTK_TREE_MODEL(budget), (GtkTreeModelForeachFunc) ui_bud_tabview_model_search_iterator, &root_search); if (!root_search.iterator) { DB(g_print(" -> error: not found good tree root !\n")); return; } root_iter = root_search.iterator; // Build new category from name and parent iterator new_name = gtk_entry_get_text(GTK_ENTRY(textentry)); data->change++; new_item = da_cat_malloc(); new_item->name = g_strdup(new_name); g_strstrip(new_item->name); new_item->parent = parent_key; if (parent_key) { new_item->flags |= GF_SUB; } if (parent_type == UI_BUD_TABVIEW_CAT_TYPE_INCOME) { new_item->flags |= GF_INCOME; } // On balance mode, enable forced display too to render it to user if (view_mode == UI_BUD_TABVIEW_VIEW_SUMMARY) { new_item->flags |= GF_FORCED; } if(da_cat_append(new_item)) { GtkWidget *view; GtkTreeModel *filter; GtkTreeIter filter_iter; GtkTreePath *path; DB( g_print(" => add cat: %p (%d), type=%d\n", new_item->name, new_item->key, category_type_get(new_item)) ); // Finally add it to model ui_bud_tabview_model_add_category_with_lineage (GTK_TREE_STORE(budget), root_iter, &(new_item->key)); // Expand view up to the newly added item, so expand its parent which is already known as iter view = data->TV_budget; filter = gtk_tree_view_get_model(GTK_TREE_VIEW(view)); if(gtk_tree_model_filter_convert_child_iter_to_iter(GTK_TREE_MODEL_FILTER(filter), &filter_iter, &parent_iter) ) { path = gtk_tree_model_get_path(filter, &filter_iter); gtk_tree_view_expand_row(GTK_TREE_VIEW(view), path, TRUE); } } } gtk_widget_destroy(dialog); return; } // Delete a category according to the current selection static void ui_bud_tabview_category_delete (GtkButton *button, gpointer user_data) { ui_bud_tabview_data_t *data = user_data; GtkTreeModel *budget; GtkTreeIter iter; Category* category; gint response; DB( g_print("[ui_bud_tabview] open sub-dialog to delete a category\n") ); // Retrieve selected row from filter if possible if (ui_bud_tabview_get_selected_category (&budget, &iter, &category, data)) { gchar *title = NULL; gchar *secondtext = NULL; title = g_strdup_printf ( _("Are you sure you want to permanently delete '%s'?"), category->name); if( category->usage_count > 0 ) { secondtext = _("This category is used.\n" "Any transaction using that category will be set to (no category)"); } response = ui_dialog_msg_confirm_alert( GTK_WINDOW(data->dialog), title, secondtext, _("_Delete") ); g_free(title); if( response == GTK_RESPONSE_OK ) { gtk_tree_store_remove(GTK_TREE_STORE(budget), &iter); category_move(category->key, 0); da_cat_delete(category->key); data->change++; } } return; } // Check if add category dialog is full filled static void ui_bud_tabview_category_merge_full_filled (GtkWidget *source, gpointer user_data) { ui_bud_tabview_data_t *data = user_data; gboolean is_target_choosen = FALSE; is_target_choosen = (gtk_combo_box_get_active(GTK_COMBO_BOX(data->COMBO_merge_target)) > -1); // Dis/Enable apply dialog button gtk_widget_set_sensitive(data->BT_apply, is_target_choosen); return; } static void ui_bud_tabview_category_merge (GtkButton *button, gpointer user_data) { ui_bud_tabview_data_t *data = user_data; GtkWidget *apply; GtkTreeModel *budget, *categories; GtkTreeIter iter_source, iter, categories_iter; GtkWidget *dialog, *content_area, *grid, *combobox, *widget, *checkbutton; GtkCellRenderer *renderer; gint gridrow, response; Category *merge_source; gchar *label_source, *label_delete; // Retrieve source of merge if (ui_bud_tabview_get_selected_category(&budget, &iter_source, &merge_source, data)) { DB( g_print("[ui_bud_tabview] open sub-dialog to merge category: %s\n", merge_source->name) ); dialog = gtk_dialog_new_with_buttons (_("Merge categories"), GTK_WINDOW(data->dialog), GTK_DIALOG_MODAL, _("_Cancel"), GTK_RESPONSE_CANCEL, NULL); // Apply button will be enabled only when a target merge category is choosen apply = gtk_dialog_add_button(GTK_DIALOG(dialog), _("_Apply"), GTK_RESPONSE_APPLY); data->BT_apply = apply; gtk_widget_set_sensitive(apply, FALSE); //window contents content_area = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); // design content grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (grid), SPACING_MEDIUM); gtk_grid_set_column_spacing (GTK_GRID (grid), SPACING_MEDIUM); g_object_set(grid, "margin", SPACING_MEDIUM, NULL); gtk_container_add(GTK_CONTAINER(content_area), grid); // First row display parent selector gridrow = 0; label_source = g_strdup_printf(_("Transactions assigned to category '%s', will be moved to the category selected below."), merge_source->name); widget = gtk_label_new (label_source); gtk_grid_attach (GTK_GRID (grid), widget, 0, gridrow, 4, 1); // Line to select merge target gridrow++; widget = gtk_label_new(_("Target category")); gtk_grid_attach (GTK_GRID (grid), widget, 1, gridrow, 1, 1); // Target category list is built from original model with a filter categories = gtk_tree_model_filter_new(budget, NULL); data->MERGE_source_category_key = merge_source->key; gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(categories), ui_bud_tabview_model_row_merge_filter_with_headers, data, NULL); combobox = gtk_combo_box_new_with_model(categories); data->COMBO_merge_target = combobox; gtk_grid_attach (GTK_GRID (grid), combobox, 2, gridrow, 1, 1); gtk_combo_box_set_row_separator_func( GTK_COMBO_BOX(combobox), ui_bud_tabview_view_separator, data, NULL ); gtk_combo_box_set_id_column(GTK_COMBO_BOX(combobox), UI_BUD_TABVIEW_CATEGORY_KEY); renderer = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT(combobox), renderer, TRUE); gtk_cell_layout_add_attribute(GTK_CELL_LAYOUT(combobox), renderer, "text", UI_BUD_TABVIEW_CATEGORY_FULLNAME); // Next row displays the automatic delete option gridrow++; label_delete = g_strdup_printf ( _("_Delete the category '%s'"), merge_source->name); checkbutton = gtk_check_button_new_with_mnemonic(label_delete); gtk_grid_attach (GTK_GRID (grid), checkbutton, 0, gridrow, 4, 1); // Signals to enable Apply button g_signal_connect (data->COMBO_merge_target, "changed", G_CALLBACK(ui_bud_tabview_category_merge_full_filled), (gpointer)data); gtk_widget_show_all (dialog); response = gtk_dialog_run (GTK_DIALOG (dialog)); // When the response is APPLY, the form was full filled if (response == GTK_RESPONSE_APPLY) { Category *merge_target, *parent_source; gint target_key; DB( g_print("[ui_bud_tabview] applying merge\n") ); // Retrieve info from dialog gtk_combo_box_get_active_iter(GTK_COMBO_BOX(combobox), &categories_iter); gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(categories), &iter, &categories_iter); gtk_tree_model_get (budget, &iter, UI_BUD_TABVIEW_CATEGORY_KEY, &target_key, -1); merge_target = da_cat_get(target_key); DB( g_print(" -> to target category: %s (key: %d)\n", merge_target->name, target_key) ); // Merge categories (according to ui-category.c) category_move(merge_source->key, merge_target->key); merge_target->usage_count += merge_source->usage_count; merge_source->usage_count = 0; // Keep the income type with us parent_source = da_cat_get(merge_source->parent); if(parent_source != NULL && (parent_source->flags & GF_INCOME)) { merge_target->flags |= GF_INCOME; } // Clean source merge if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(checkbutton))) { da_cat_delete(merge_source->key); gtk_tree_store_remove(GTK_TREE_STORE(budget), &iter_source); } data->change++; } data->MERGE_source_category_key = 0; gtk_widget_destroy(dialog); g_free(label_source); g_free(label_delete); } return; } #endif // Reset inputs done for the currently selected category static void ui_bud_tabview_category_reset (GtkButton *button, gpointer user_data) { ui_bud_tabview_data_t *data = user_data; GtkTreeModel *budget; GtkTreeIter iter; Category* category; gint response; DB( g_print("[ui_bud_tabview] open sub-dialog to confirm category reset\n") ); // Retrieve selected row from filter if possible if (ui_bud_tabview_get_selected_category (&budget, &iter, &category, data)) { gchar *title = NULL; gchar *secondtext = NULL; title = g_strdup_printf ( _("Are you sure you want to clear inputs for '%s'?"), category->name); secondtext = _("If you proceed, every amount will be set to 0."); response = ui_dialog_msg_confirm_alert( GTK_WINDOW(data->dialog), title, secondtext, _("_Clear") ); g_free(title); if( response == GTK_RESPONSE_OK ) { // Update data for(int i=0;i<=12;i++) { category->budget[i] = 0; } // Reset budget flag according to GF_FORCED category->flags &= ~(GF_BUDGET); //mdo: no /*if (category->flags & GF_FORCED) { category->flags |= GF_BUDGET; }*/ data->change++; // Update GtkTreeStore gtk_tree_store_set( GTK_TREE_STORE(budget), &iter, UI_BUD_TABVIEW_HAS_BUDGET, (category->flags & GF_BUDGET), UI_BUD_TABVIEW_SAME_AMOUNT, category->budget[0], UI_BUD_TABVIEW_JANUARY, category->budget[1], UI_BUD_TABVIEW_FEBRUARY, category->budget[2], UI_BUD_TABVIEW_MARCH, category->budget[3], UI_BUD_TABVIEW_APRIL, category->budget[4], UI_BUD_TABVIEW_MAY, category->budget[5], UI_BUD_TABVIEW_JUNE, category->budget[6], UI_BUD_TABVIEW_JULY, category->budget[7], UI_BUD_TABVIEW_AUGUST, category->budget[8], UI_BUD_TABVIEW_SEPTEMBER, category->budget[9], UI_BUD_TABVIEW_OCTOBER, category->budget[10], UI_BUD_TABVIEW_NOVEMBER, category->budget[11], UI_BUD_TABVIEW_DECEMBER, category->budget[12], -1); // Refresh total rows ui_bud_tabview_model_update_monthly_total (GTK_TREE_STORE(budget)); } } return; } static void ui_bud_tabview_category_toggle_monitoring(GtkButton *button, gpointer user_data) { ui_bud_tabview_data_t *data = user_data; GtkTreeModel *budget; GtkTreeIter iter; Category* category; DB( g_print("[ui_bud_tabview] open sub-dialog to confirm category reset\n") ); // Retrieve selected row from filter if possible if (ui_bud_tabview_get_selected_category (&budget, &iter, &category, data)) { gboolean is_monitoring_forced; // Toggle monitoring is_monitoring_forced = !(category->flags & GF_FORCED); // Update Category // Reset Forced and Budget Flags category->flags &= ~(GF_FORCED); category->flags &= ~(GF_BUDGET); if (is_monitoring_forced == TRUE) { category->flags |= (GF_FORCED); category->flags |= (GF_BUDGET); } else { for(gint budget_id = 0; budget_id <=12; ++budget_id) { if( category->budget[budget_id] != 0.0) { category->flags |= GF_BUDGET; break; } } } // Notify of changes data->change++; // Update budget model // Current row gtk_tree_store_set( GTK_TREE_STORE(budget), &iter, UI_BUD_TABVIEW_IS_MONITORING_FORCED, is_monitoring_forced, UI_BUD_TABVIEW_HAS_BUDGET, (category->flags & GF_BUDGET), -1); // Refresh total rows ui_bud_tabview_model_update_monthly_total (GTK_TREE_STORE(budget)); } return; } static gboolean ui_bud_tabview_on_key_press(GtkWidget *source, GdkEventKey *event, gpointer user_data) { ui_bud_tabview_data_t *data = user_data; // On Control-f enable search entry if (event->state & GDK_CONTROL_MASK && event->keyval == GDK_KEY_f) { gtk_widget_grab_focus(data->EN_search); } return GDK_EVENT_PROPAGATE; } static void ui_bud_tabview_view_on_select(GtkTreeSelection *treeselection, gpointer user_data) { ui_bud_tabview_data_t *data = user_data; GtkWidget *view; GtkTreeModel *filter, *budget; GtkTreeIter filter_iter, iter; GtkTreeSelection *selection; gboolean is_root, is_total, is_monitoring_forced; ui_bud_tabview_cat_type_t category_type; view = data->TV_budget; selection = data->TV_selection; // Block signals g_signal_handler_block(data->BT_category_force_monitoring, data->HID_category_monitoring_toggle); // Reset buttons #if HB_BUD_TABVIEW_EDIT_ENABLE gtk_widget_set_sensitive(data->BT_category_add, FALSE); gtk_widget_set_sensitive(data->BT_category_delete, FALSE); gtk_widget_set_sensitive(data->BT_category_merge, FALSE); #endif gtk_widget_set_sensitive(data->BT_category_reset, FALSE); gtk_widget_set_sensitive(data->BT_category_force_monitoring, FALSE); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->BT_category_force_monitoring), FALSE); // Read filter to retrieve the currently selected row in real model filter = gtk_tree_view_get_model (GTK_TREE_VIEW(view)); budget = gtk_tree_model_filter_get_model(GTK_TREE_MODEL_FILTER(filter)); // Activate buttons if selected row is editable if (gtk_tree_selection_get_selected(selection, &filter, &filter_iter)) { // Convert data to budget model gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter), &iter, &filter_iter); // Check the iter is an editable one gtk_tree_model_get (budget, &iter, UI_BUD_TABVIEW_CATEGORY_TYPE, &category_type, UI_BUD_TABVIEW_IS_ROOT, &is_root, UI_BUD_TABVIEW_IS_TOTAL, &is_total, UI_BUD_TABVIEW_IS_MONITORING_FORCED, &is_monitoring_forced, -1); // If category is neither a root, neither a total row, every operations can be applied if (!is_root && !is_total) { #if HB_BUD_TABVIEW_EDIT_ENABLE gtk_widget_set_sensitive(data->BT_category_add, TRUE); gtk_widget_set_sensitive(data->BT_category_delete, TRUE); gtk_widget_set_sensitive(data->BT_category_merge, TRUE); #endif gtk_widget_set_sensitive(data->BT_category_reset, TRUE); gtk_widget_set_sensitive(data->BT_category_force_monitoring, TRUE); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->BT_category_force_monitoring), is_monitoring_forced); } // If category is a root (except the Total one), we can use it to add a child row #if HB_BUD_TABVIEW_EDIT_ENABLE else if (category_type != UI_BUD_TABVIEW_CAT_TYPE_NONE && is_root && !is_total) { gtk_widget_set_sensitive(data->BT_category_add, TRUE); } #endif } // Unblock signals g_signal_handler_unblock(data->BT_category_force_monitoring, data->HID_category_monitoring_toggle); return; } static void ui_bud_tabview_dialog_close(ui_bud_tabview_data_t *data, gint response) { DB( g_print("[ui_bud_tabview] dialog close\n") ); GLOBALS->changes_count += data->change; return; } // Open / create the main dialog, the budget view and the budget model GtkWidget *ui_bud_tabview_manage_dialog(void) { ui_bud_tabview_data_t *data; GtkWidget *dialog, *content_area, *grid; GtkWidget *radiomode; GtkWidget *widget; GtkWidget *vbox, *hbox; GtkWidget *search_entry; GtkWidget *scrolledwindow, *treeview; GtkWidget *toolbar; GtkToolItem *toolitem; GtkTreeModel *model, *filter; gint response; gint gridrow, w, h; data = g_malloc0(sizeof(ui_bud_tabview_data_t)); data->change = 0; if(!data) return NULL; DB( g_print("\n[ui_bud_tabview] open dialog\n") ); // create window dialog = gtk_dialog_new_with_buttons (_("Budget (table view)"), GTK_WINDOW(GLOBALS->mainwindow), GTK_DIALOG_MODAL, _("_Close"), GTK_RESPONSE_ACCEPT, NULL); data->dialog = dialog; gtk_window_set_icon_name(GTK_WINDOW (dialog), ICONNAME_HB_BUDGET); //window contents content_area = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); // return a vbox // store data inside dialog property to retrieve them easily in callbacks g_object_set_data(G_OBJECT(dialog), "inst_data", (gpointer)&data); DB( g_print(" - new dialog=%p, inst_data=%p\n", dialog, data) ); // set a nice default dialog size gtk_window_get_size(GTK_WINDOW(GLOBALS->mainwindow), &w, &h); gtk_window_resize (GTK_WINDOW(data->dialog), w * 0.9, h * 0.9); // design content grid = gtk_grid_new (); gtk_grid_set_row_spacing (GTK_GRID (grid), SPACING_MEDIUM); gtk_grid_set_column_spacing (GTK_GRID (grid), SPACING_MEDIUM); g_object_set(grid, "margin", SPACING_MEDIUM, NULL); gtk_container_add(GTK_CONTAINER(content_area), grid); // First row displays radio button to change mode (edition / view) and search entry gridrow = 0; hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_grid_attach (GTK_GRID (grid), hbox, 0, gridrow, 1, 1); // edition mode radio buttons radiomode = hbtk_radio_button_new(UI_BUD_TABVIEW_VIEW_MODE, TRUE); data->RA_mode = radiomode; gtk_box_set_center_widget(GTK_BOX (hbox), radiomode); // Search search_entry = gtk_search_entry_new(); data->EN_search = search_entry; gtk_box_pack_end (GTK_BOX (hbox), search_entry, FALSE, FALSE, 0); // Next row displays the budget tree with its toolbar gridrow++; // We use a Vertical Box to link tree with searchbar and toolbar vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_grid_attach (GTK_GRID (grid), vbox, 0, gridrow, 1, 1); // Scrolled Window will permit to display budgets with a lot of active categories scrolledwindow = gtk_scrolled_window_new(NULL, NULL); gtk_widget_set_hexpand (scrolledwindow, TRUE); gtk_widget_set_vexpand (scrolledwindow, TRUE); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_box_pack_start (GTK_BOX (vbox), scrolledwindow, TRUE, TRUE, 0); treeview = ui_bud_tabview_view_new ((gpointer) data); data->TV_budget = treeview; gtk_container_add(GTK_CONTAINER(scrolledwindow), treeview); data->TV_selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)); // Toolbar to add, remove categories, expand and collapse categorie 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); gtk_box_pack_start (GTK_BOX (vbox), toolbar, FALSE, FALSE, 0); gtk_style_context_add_class (gtk_widget_get_style_context (toolbar), GTK_STYLE_CLASS_INLINE_TOOLBAR); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); toolitem = gtk_tool_item_new(); gtk_container_add (GTK_CONTAINER(toolitem), hbox); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(toolitem), -1); #if HB_BUD_TABVIEW_EDIT_ENABLE // Add / Remove / Merge widget = make_image_button(ICONNAME_LIST_ADD, _("Add category")); data->BT_category_add = widget; gtk_widget_set_sensitive(widget, FALSE); gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); widget = make_image_button(ICONNAME_LIST_DELETE, _("Remove category")); data->BT_category_delete = widget; gtk_widget_set_sensitive(widget, FALSE); gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); widget = gtk_button_new_with_label (_("Merge")); data->BT_category_merge = widget; gtk_widget_set_sensitive(widget, FALSE); gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); // Separator toolitem = gtk_separator_tool_item_new (); gtk_tool_item_set_expand (toolitem, FALSE); gtk_separator_tool_item_set_draw(GTK_SEPARATOR_TOOL_ITEM(toolitem), FALSE); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(toolitem), -1); #endif // Clear Input toolitem = gtk_tool_item_new(); gtk_tool_item_set_expand (toolitem, FALSE); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(toolitem), -1); widget = gtk_button_new_with_label (_("Clear input")); data->BT_category_reset = widget; gtk_widget_set_sensitive(widget, FALSE); gtk_container_add (GTK_CONTAINER(toolitem), widget); // Separator toolitem = gtk_separator_tool_item_new (); gtk_tool_item_set_expand (toolitem, FALSE); gtk_separator_tool_item_set_draw(GTK_SEPARATOR_TOOL_ITEM(toolitem), FALSE); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(toolitem), -1); // Force monitoring toolitem = gtk_tool_item_new(); gtk_tool_item_set_expand (toolitem, FALSE); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(toolitem), -1); widget = gtk_check_button_new_with_mnemonic (_("_Force monitoring this category")); data->BT_category_force_monitoring = widget; gtk_widget_set_sensitive (widget, FALSE); gtk_container_add (GTK_CONTAINER(toolitem), widget); g_object_set(widget, "draw-indicator", TRUE, NULL); // Separator toolitem = gtk_separator_tool_item_new (); gtk_tool_item_set_expand (toolitem, TRUE); gtk_separator_tool_item_set_draw(GTK_SEPARATOR_TOOL_ITEM(toolitem), FALSE); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(toolitem), -1); // Expand / Collapse hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); toolitem = gtk_tool_item_new(); gtk_container_add (GTK_CONTAINER(toolitem), hbox); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(toolitem), -1); widget = make_image_button(ICONNAME_HB_BUTTON_EXPAND, _("Expand all")); data->BT_expand = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); widget = make_image_button(ICONNAME_HB_BUTTON_COLLAPSE, _("Collapse all")); data->BT_collapse = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); /* signal connect */ // connect every radio button to the toggled signal to correctly update the view for (int i=0; UI_BUD_TABVIEW_VIEW_MODE[i] != NULL; i++) { widget = hbtk_radio_button_get_nth (GTK_CONTAINER(radiomode), i); if (widget) { g_signal_connect (widget, "toggled", G_CALLBACK (ui_bud_tabview_view_update_mode), (gpointer)data); } } // Connect to key press to handle some events like Control-f gtk_tree_view_set_search_entry(GTK_TREE_VIEW(treeview), GTK_ENTRY(search_entry)); g_signal_connect (dialog, "key-press-event", G_CALLBACK (ui_bud_tabview_on_key_press), (gpointer)data); // Tree View g_signal_connect (data->TV_selection, "changed", G_CALLBACK(ui_bud_tabview_view_on_select), (gpointer)data); // toolbar buttons #if HB_BUD_TABVIEW_EDIT_ENABLE g_signal_connect (data->BT_category_add, "clicked", G_CALLBACK(ui_bud_tabview_category_add), (gpointer)data); g_signal_connect (data->BT_category_delete, "clicked", G_CALLBACK (ui_bud_tabview_category_delete), (gpointer)data); g_signal_connect (data->BT_category_merge, "clicked", G_CALLBACK (ui_bud_tabview_category_merge), (gpointer)data); #endif g_signal_connect (data->BT_category_reset, "clicked", G_CALLBACK (ui_bud_tabview_category_reset), (gpointer)data); data->HID_category_monitoring_toggle = g_signal_connect (data->BT_category_force_monitoring, "toggled", G_CALLBACK (ui_bud_tabview_category_toggle_monitoring), (gpointer)data); g_signal_connect (data->BT_expand, "clicked", G_CALLBACK (ui_bud_tabview_view_expand), (gpointer)data); g_signal_connect (data->BT_collapse, "clicked", G_CALLBACK (ui_bud_tabview_view_collapse), (gpointer)data); // dialog g_signal_connect (dialog, "destroy", G_CALLBACK (gtk_widget_destroyed), &dialog); // tree model to map HomeBank categories to the tree view model = ui_bud_tabview_model_new(); filter = gtk_tree_model_filter_new(model, NULL); gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(filter), ui_bud_tabview_model_row_filter, data, NULL); gtk_tree_view_set_model(GTK_TREE_VIEW(treeview), filter); g_object_unref(model); // Remove model with filter g_object_unref(filter); // Remove filter with view // By default, show the balance mode with all categories expanded data->TV_is_expanded = TRUE; ui_bud_tabview_view_toggle((gpointer) data, UI_BUD_TABVIEW_VIEW_SUMMARY); gtk_widget_show_all (dialog); response = gtk_dialog_run (GTK_DIALOG (dialog)); ui_bud_tabview_dialog_close(data, response); gtk_widget_destroy (dialog); g_free(data); return NULL; } homebank-5.3.2/src/gtk-chart.h0000644000175000017500000001456313604720371013066 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __GTK_CHART_H__ #define __GTK_CHART_H__ #include "gtk-chart-colors.h" G_BEGIN_DECLS #define GTK_TYPE_CHART (gtk_chart_get_type ()) #define GTK_CHART(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CHART, GtkChart)) #define GTK_CHART_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CHART, GtkChartClass) #define GTK_IS_CHART(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CHART)) #define GTK_IS_CHART_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CHART)) #define GTK_CHART_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CHART, GtkChartClass)) typedef struct _GtkChart GtkChart; typedef struct _GtkChartClass GtkChartClass; //typedef struct _GtkChartPrivate GtkChartPrivate; typedef struct _ChartItem ChartItem; typedef gchar (* GtkChartPrintIntFunc) (gint value, gboolean minor); typedef gchar (* GtkChartPrintDoubleFunc) (gdouble value, gboolean minor); /* = = = = = = = = = = */ /* = = = = = = = = = = = = = = = = = = = = */ /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /* phi value */ #define PHI 1.61803399 /* default zoomx for charts */ #define GTK_CHART_BARW 41 //24 #define GTK_CHART_MINBARW 8 //4 #define GTK_CHART_MAXBARW 41 //128 #define GTK_CHART_SPANBARW GTK_CHART_MAXBARW+1 #define GTK_CHART_MINRADIUS 64 #define CHART_BUFFER_LENGTH 128 // char draw options #define CHART_PARAM_PIE_DONUT TRUE #define CHART_PARAM_PIE_LINE FALSE #define CHART_PARAM_PIE_MARK FALSE #define CHART_PARAM_PIE_HOLEVALUE 0.5 /* new stuff */ #define CHART_MARGIN 12 //standard a4 margin is 18 #define CHART_SPACING 6 #define CHART_LINE_SPACING 1.25 //#define PROP_SHOW_MINOR 6 //#define PROP_SHOW_LEGEND 7 #define ROUNDHALF(x) floor(x *2) / 2 enum { CHART_TYPE_NONE, CHART_TYPE_COL, CHART_TYPE_PIE, CHART_TYPE_LINE, CHART_TYPE_MAX }; enum { LST_LEGEND_FAKE, LST_LEGEND_COLOR, LST_LEGEND_TITLE, LST_LEGEND_AMOUNT, LST_LEGEND_RATE, NUM_LST_LEGEND }; struct _ChartItem { /* data part */ gchar *label; gdouble serie1; gdouble serie2; gdouble rate; /* draw stuffs */ gchar *legend; double angle2; /* rate for pie */ double height; /* for column */ }; struct _GtkChart { //own widget here /*< private >*/ //GtkChartPrivate *priv; /* all below should be in priv normally */ GtkBox hbox; GtkWidget *drawarea; GtkAdjustment *adjustment; GtkWidget *scrollbar; GtkTreeModel *model; /* data storage */ gint nb_items; GArray *items; gchar *title; gchar *subtitle; /* chart properties */ gint type; // column/pie/line gboolean dual; gboolean abs; gboolean show_legend; gboolean show_legend_wide; gboolean show_over; gboolean show_average; gboolean show_xval; gboolean show_mono; gint every_xval; guint32 kcur; gboolean minor; gdouble minor_rate; gchar *minor_symbol; /* color datas */ GtkColorScheme color_scheme; /* cairo default value */ PangoFontDescription *pfd; gint pfd_size; /* buffer surface */ cairo_surface_t *surface; /* drawing datas */ double font_h; int l, t, b, r, w, h; cairo_rectangle_t graph; cairo_rectangle_t legend; /* legend dimension */ double label_w; double legend_font_h; double legend_label_w; double legend_value_w; double legend_rate_w; /* zones height */ double title_zh; double subtitle_zh, subtitle_y; double header_zh, header_y; double item_zh; double ox, oy; gint lastx, lasty, lastactive; gint lastpress_x, lastpress_y; gint active; guint timer_tag; /* pie specifics */ gdouble total; gint rayon, mark, left, top; gint leg_nb_l, leg_width_l, leg_vspace_l; gint leg_nb_r, leg_width_r, leg_vspace_r; /* bar specifics */ double rawmin, rawmax, range, min, max, unit, minimum, average; gint div; gint visible; double scale_x, scale_y, scale_w, scale_h; double item_x, item_y, item_w; double barw, blkw, posbarh, negbarh; double usrbarw; gchar buffer1[CHART_BUFFER_LENGTH]; gchar buffer2[CHART_BUFFER_LENGTH]; }; struct _GtkChartClass { GtkBoxClass parent_class; /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); }; GType gtk_chart_get_type (void) G_GNUC_CONST; /* public function */ GtkWidget *gtk_chart_new(gint type); void gtk_chart_set_type(GtkChart *chart, gint type); void gtk_chart_set_color_scheme(GtkChart * chart, gint colorscheme); void gtk_chart_queue_redraw(GtkChart *chart); void gtk_chart_set_datas(GtkChart *chart, GtkTreeModel *model, guint column, gchar *title, gchar *subtitle); void gtk_chart_set_dualdatas(GtkChart *chart, GtkTreeModel *model, guint column1, guint column2, gchar *title, gchar *subtitle); void gtk_chart_set_minor_prefs(GtkChart * chart, gdouble rate, gchar *symbol); void gtk_chart_set_currency(GtkChart * chart, guint32 kcur); void gtk_chart_show_average(GtkChart * chart, gdouble value, gboolean visible); void gtk_chart_set_overdrawn(GtkChart * chart, gdouble minimum); //void gtk_chart_set_every_xval(GtkChart * chart, gint decay); void gtk_chart_set_barw(GtkChart * chart, gdouble barw); void gtk_chart_set_showmono(GtkChart * chart, gboolean mono); void gtk_chart_show_legend(GtkChart * chart, gboolean visible, gboolean showextracol); void gtk_chart_show_overdrawn(GtkChart * chart, gboolean visible); void gtk_chart_show_xval(GtkChart * chart, gboolean visible); void gtk_chart_show_minor(GtkChart * chart, gboolean minor); void gtk_chart_set_absolute(GtkChart * chart, gboolean abs); G_END_DECLS #endif /* __GTK_CHART_H__ */ homebank-5.3.2/src/hb-category.c0000644000175000017500000005372413604720365013406 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hb-category.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ Category * da_cat_clone(Category *src_item) { Category *new_item = g_memdup(src_item, sizeof(Category)); DB( g_print("da_cat_clone\n") ); if(new_item) { //duplicate the string new_item->name = g_strdup(src_item->name); new_item->fullname = g_strdup(src_item->fullname); } return new_item; } void da_cat_free(Category *item) { DB( g_print("da_cat_free\n") ); if(item != NULL) { DB( g_print(" => %d, %s\n", item->key, item->name) ); g_free(item->name); g_free(item->fullname); g_free(item); } } Category * da_cat_malloc(void) { DB( g_print("da_cat_malloc\n") ); return g_malloc0(sizeof(Category)); } void da_cat_destroy(void) { DB( g_print("da_cat_destroy\n") ); g_hash_table_destroy(GLOBALS->h_cat); } void da_cat_new(void) { Category *item; DB( g_print("da_cat_new\n") ); GLOBALS->h_cat = g_hash_table_new_full(g_int_hash, g_int_equal, (GDestroyNotify)g_free, (GDestroyNotify)da_cat_free); // insert our 'no category' item = da_cat_malloc(); item->key = 0; item->name = g_strdup(""); item->fullname = g_strdup(""); da_cat_insert(item); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /** * da_cat_length: * * Return value: the number of elements */ guint da_cat_length(void) { return g_hash_table_size(GLOBALS->h_cat); } static void da_cat_max_key_ghfunc(gpointer key, Category *cat, guint32 *max_key) { *max_key = MAX(*max_key, cat->key); } /** * da_cat_get_max_key: * * Get the biggest key from the GHashTable * * Return value: the biggest key value * */ guint32 da_cat_get_max_key(void) { guint32 max_key = 0; g_hash_table_foreach(GLOBALS->h_cat, (GHFunc)da_cat_max_key_ghfunc, &max_key); return max_key; } static gboolean da_cat_remove_grfunc(gpointer key, Category *cat, guint32 *remkey) { if(cat->key == *remkey || cat->parent == *remkey) return TRUE; return FALSE; } /** * da_cat_delete: * * delete a category from the GHashTable * * Return value: TRUE if the key was found and deleted * */ guint da_cat_delete(guint32 key) { DB( g_print("\nda_cat_delete %d\n", key) ); return g_hash_table_foreach_remove(GLOBALS->h_cat, (GHRFunc)da_cat_remove_grfunc, &key); } static void da_cat_build_fullname(Category *item) { Category *parent; g_free(item->fullname); if( item->parent == 0 ) item->fullname = g_strdup(item->name); else { parent = da_cat_get(item->parent); if( parent != NULL ) item->fullname = g_strconcat(parent->name, ":", item->name, NULL); } DB( g_print("- updated %d:'%s' fullname='%s'\n", item->key, item->name, item->fullname) ); } static void da_cat_rename(Category *item, gchar *newname) { DB( g_print("- renaming %s' => '%s'\n", item->name, newname) ); g_free(item->name); item->name = g_strdup(newname); da_cat_build_fullname(item); if( item->parent == 0 ) { GHashTableIter iter; gpointer value; DB( g_print("- updating subcat fullname\n") ); g_hash_table_iter_init (&iter, GLOBALS->h_cat); while (g_hash_table_iter_next (&iter, NULL, &value)) { Category *subcat = value; if( subcat->parent == item->key ) da_cat_build_fullname(subcat); } } } /** * da_cat_insert: * * insert a category into the GHashTable * * Return value: TRUE if inserted * */ gboolean da_cat_insert(Category *item) { guint32 *new_key; DB( g_print("\nda_cat_insert\n") ); DB( g_print("- '%s'\n", item->name) ); new_key = g_new0(guint32, 1); *new_key = item->key; g_hash_table_insert(GLOBALS->h_cat, new_key, item); da_cat_build_fullname(item); return TRUE; } /** * da_cat_append: * * append a category into the GHashTable * * Return value: TRUE if inserted * */ // used only to add cat/subcat from ui_category with the 2 inputs gboolean da_cat_append(Category *cat) { Category *existitem; DB( g_print("\nda_cat_append\n") ); if( !cat->fullname ) da_cat_build_fullname(cat); existitem = da_cat_get_by_fullname( cat->fullname ); if( existitem == NULL ) { cat->key = da_cat_get_max_key() + 1; da_cat_insert(cat); return TRUE; } DB( g_print(" -> %s already exist\n", cat->name) ); return FALSE; } /* fullname i.e. car:refuel */ struct fullcatcontext { guint32 parent; gchar *name; }; static gboolean da_cat_fullname_grfunc(gpointer key, Category *item, struct fullcatcontext *ctx) { //DB( g_print("'%s' == '%s'\n", ctx->name, item->name) ); if( item->parent == ctx->parent ) { if( ctx->name && item->name ) if(!strcasecmp(ctx->name, item->name)) return TRUE; } return FALSE; } static Category *da_cat_get_by_name_find_internal(guint32 parent, gchar *name) { struct fullcatcontext ctx; ctx.parent = parent; ctx.name = name; DB( g_print("- searching %s %d '%s'\n", (parent == 0) ? "lv1cat" : "lv2cat", parent, name) ); return g_hash_table_find(GLOBALS->h_cat, (GHRFunc)da_cat_fullname_grfunc, &ctx); } static gchar **da_cat_get_by_fullname_split_clean(gchar *rawfullname, guint *outlen) { gchar **partstr = g_strsplit(rawfullname, ":", 2); guint len = g_strv_length(partstr); gboolean valid = TRUE; DB( g_print("- spliclean '%s' - %d parts\n", rawfullname, g_strv_length(partstr)) ); if( outlen != NULL ) *outlen = len; if(len >= 1) { g_strstrip(partstr[0]); if( strlen(partstr[0]) == 0 ) valid = FALSE; if(len == 2) { g_strstrip(partstr[1]); if( strlen(partstr[1]) == 0 ) valid = FALSE; } } if(valid == TRUE) return partstr; DB( g_print("- is invalid\n") ); g_strfreev(partstr); return NULL; } Category * da_cat_get_by_fullname(gchar *rawfullname) { gchar **partstr; Category *parent = NULL; Category *retval = NULL; guint len; DB( g_print("\nda_cat_get_by_fullname\n") ); if( rawfullname ) { if( (partstr = da_cat_get_by_fullname_split_clean(rawfullname, &len)) != NULL ) { if( len >= 1 ) { parent = da_cat_get_by_name_find_internal(0, partstr[0]); retval = parent; } if( len == 2 && parent != NULL ) { retval = da_cat_get_by_name_find_internal(parent->key, partstr[1]); } g_strfreev(partstr); } } return retval; } /** * da_cat_append_ifnew_by_fullname: * * append a category if it is new by fullname * * Return value: * */ Category * da_cat_append_ifnew_by_fullname(gchar *rawfullname) { gchar **partstr; Category *parent = NULL; Category *newcat = NULL; Category *retval = NULL; guint len; DB( g_print("\nda_cat_append_ifnew_by_fullname\n") ); if( rawfullname ) { if( (partstr = da_cat_get_by_fullname_split_clean(rawfullname, &len)) != NULL ) { if( len >= 1 ) { parent = da_cat_get_by_name_find_internal(0, partstr[0]); if( parent == NULL ) { parent = da_cat_malloc(); parent->key = da_cat_get_max_key() + 1; parent->name = g_strdup(partstr[0]); da_cat_insert(parent); } retval = parent; } /* if we have a subcategory - xxx:xxx */ if( len == 2 && parent != NULL ) { newcat = da_cat_get_by_name_find_internal(parent->key, partstr[1]); if( newcat == NULL ) { newcat = da_cat_malloc(); newcat->key = da_cat_get_max_key() + 1; newcat->parent = parent->key; newcat->name = g_strdup(partstr[1]); newcat->flags |= GF_SUB; //#1713413 take parent type into account if(parent->flags & GF_INCOME) newcat->flags |= GF_INCOME; da_cat_insert(newcat); } retval = newcat; } g_strfreev(partstr); } } return retval; } /** * da_cat_get: * * Get a category structure by key * * Return value: Category * or NULL if not found * */ Category * da_cat_get(guint32 key) { //DB( g_print("da_cat_get\n") ); return g_hash_table_lookup(GLOBALS->h_cat, &key); } gchar *da_cat_get_name(Category *item) { gchar *name = NULL; if(item != NULL) { name = item->key == 0 ? _("(no category)") : item->fullname; } return name; } void da_cat_consistency(Category *item) { //gboolean isIncome; if((item->flags & GF_SUB) && item->key > 0) { //check for existing parent if( da_cat_get(item->parent) == NULL ) { Category *parent = da_cat_append_ifnew_by_fullname ("orphaned"); item->parent = parent->key; da_cat_build_fullname(item); g_warning("category consistency: fixed missing parent %d", item->parent); } } // ensure type equal for categories and its children /* no since #1740368 if(!(item->flags & GF_SUB) && item->key > 0) { isIncome = (item->flags & GF_INCOME) ? TRUE : FALSE; if( category_change_type(item, isIncome) > 0 ) { g_warning("category consistency: fixed type for child"); GLOBALS->changes_count++; } }*/ if( item->name != NULL ) g_strstrip(item->name); else { item->name = g_strdup("void"); da_cat_build_fullname(item); g_warning("category consistency: fixed null name"); GLOBALS->changes_count++; } } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ #if MYDEBUG static void da_cat_debug_list_ghfunc(gpointer key, gpointer value, gpointer user_data) { guint32 *id = key; Category *cat = value; DB( g_print(" %d :: %s (parent=%d\n", *id, cat->name, cat->parent) ); } static void da_cat_debug_list(void) { DB( g_print("\n** debug **\n") ); g_hash_table_foreach(GLOBALS->h_cat, da_cat_debug_list_ghfunc, NULL); DB( g_print("\n** end debug **\n") ); } #endif /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ guint32 category_report_id(guint32 key, gboolean subcat) { guint32 retval = 0; if(subcat == FALSE) { Category *catentry = da_cat_get(key); if(catentry) retval = (catentry->flags & GF_SUB) ? catentry->parent : catentry->key; } else { retval = key; } //DB( g_print("- cat '%s' reportid = %d\n", catentry->name, retval) ); return retval; } void category_delete_unused(void) { GList *lcat, *list; lcat = list = g_hash_table_get_values(GLOBALS->h_cat); while (list != NULL) { Category *entry = list->data; if(entry->usage_count <= 0 && entry->key > 0) da_cat_delete (entry->key); list = g_list_next(list); } g_list_free(lcat); } static void category_fill_usage_count(guint32 kcat) { Category *cat = da_cat_get (kcat); Category *parent; if(cat) { cat->usage_count++; if( cat->parent > 0 ) { parent = da_cat_get(cat->parent); if( parent ) { parent->usage_count++; } } } } void category_fill_usage(void) { GList *lcat; GList *lst_acc, *lnk_acc; GList *lnk_txn; GList *lpay, *lrul, *list; guint i, nbsplit; lcat = list = g_hash_table_get_values(GLOBALS->h_cat); while (list != NULL) { Category *entry = list->data; entry->usage_count = 0; list = g_list_next(list); } g_list_free(lcat); lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; lnk_txn = g_queue_peek_head_link(acc->txn_queue); while (lnk_txn != NULL) { Transaction *txn = lnk_txn->data; //#1689308 count split as well if( txn->flags & OF_SPLIT ) { nbsplit = da_splits_length(txn->splits); for(i=0;isplits, i); category_fill_usage_count(split->kcat); } } else category_fill_usage_count(txn->kcat); lnk_txn = g_list_next(lnk_txn); } lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); lpay = list = g_hash_table_get_values(GLOBALS->h_pay); while (list != NULL) { Payee *entry = list->data; category_fill_usage_count(entry->kcat); list = g_list_next(list); } g_list_free(lpay); list = g_list_first(GLOBALS->arc_list); while (list != NULL) { Archive *entry = list->data; //#1689308 count split as well if( entry->flags & OF_SPLIT ) { nbsplit = da_splits_length(entry->splits); for(i=0;isplits, i); category_fill_usage_count(split->kcat); } } else category_fill_usage_count(entry->kcat); list = g_list_next(list); } lrul = list = g_hash_table_get_values(GLOBALS->h_rul); while (list != NULL) { Assign *entry = list->data; category_fill_usage_count(entry->kcat); list = g_list_next(list); } g_list_free(lrul); } void category_move(guint32 key1, guint32 key2) { GList *lst_acc, *lnk_acc; GList *lnk_txn; GList *lrul, *list; guint i, nbsplit; lst_acc = g_hash_table_get_values(GLOBALS->h_acc); lnk_acc = g_list_first(lst_acc); while (lnk_acc != NULL) { Account *acc = lnk_acc->data; lnk_txn = g_queue_peek_head_link(acc->txn_queue); while (lnk_txn != NULL) { Transaction *txn = lnk_txn->data; if(txn->kcat == key1) { txn->kcat = key2; txn->flags |= OF_CHANGED; } // move split category #1340142 nbsplit = da_splits_length(txn->splits); for(i=0;isplits, i); if( split->kcat == key1 ) { split->kcat = key2; txn->flags |= OF_CHANGED; } } lnk_txn = g_list_next(lnk_txn); } lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); list = g_list_first(GLOBALS->arc_list); while (list != NULL) { Archive *entry = list->data; if(entry->kcat == key1) { entry->kcat = key2; } list = g_list_next(list); } lrul = list = g_hash_table_get_values(GLOBALS->h_rul); while (list != NULL) { Assign *entry = list->data; if(entry->kcat == key1) { entry->kcat = key2; } list = g_list_next(list); } g_list_free(lrul); } gboolean category_rename(Category *item, const gchar *newname) { Category *parent, *existitem; gchar *fullname = NULL; gchar *stripname; gboolean retval; DB( g_print("\n(category) rename\n") ); stripname = g_strdup(newname); g_strstrip(stripname); if( item->parent == 0) fullname = g_strdup(stripname); else { parent = da_cat_get(item->parent); if( parent ) { fullname = g_strdup_printf("%s:%s", parent->name, stripname); } } DB( g_print(" - search: %s\n", fullname) ); existitem = da_cat_get_by_fullname( fullname ); if( existitem != NULL && existitem->key != item->key) { DB( g_print("- error, same name already exist with other key %d <> %d\n",existitem->key, item->key) ); retval = FALSE; } else { DB( g_print("- renaming\n") ); da_cat_rename (item, stripname); retval = TRUE; } g_free(fullname); g_free(stripname); return retval; } static gint category_glist_name_compare_func(Category *c1, Category *c2) { gint retval = 0; if( c1 != NULL && c2 != NULL ) { retval = hb_string_utf8_compare(c1->fullname, c2->fullname); } return retval; } static gint category_glist_key_compare_func(Category *a, Category *b) { gint ka, kb, retval = 0; if(a->parent == 0 && b->parent == a->key) retval = -1; else if(b->parent == 0 && a->parent == b->key) retval = 1; else { ka = a->parent != 0 ? a->parent : a->key; kb = b->parent != 0 ? b->parent : b->key; retval = ka - kb; } #if MYDEBUG == 1 gchar *str; if(retval < 0) str = "a < b"; else if(retval ==0) str = "a = b"; else if(retval > 0) str = "a > b"; DB( g_print("compare a=%2d:%2d to b=%2d:%2d :: %d [%s]\n", a->key, a->parent, b->key, b->parent, retval, str ) ); #endif return retval; } GList * category_glist_sorted(gint column) { GList *list = g_hash_table_get_values(GLOBALS->h_cat); if(column == 0) return g_list_sort(list, (GCompareFunc)category_glist_key_compare_func); else return g_list_sort(list, (GCompareFunc)category_glist_name_compare_func); } gboolean category_load_csv(gchar *filename, gchar **error) { gboolean retval; GIOChannel *io; gchar *tmpstr; gint io_stat; gchar **str_array; gchar *lastcatname = NULL; gchar *fullcatname; GError *err = NULL; Category *item; gboolean isIncome; const gchar *encoding; encoding = homebank_file_getencoding(filename); DB( g_print(" -> encoding should be %s\n", encoding) ); retval = TRUE; *error = NULL; io = g_io_channel_new_file(filename, "r", NULL); if(io != NULL) { if( encoding != NULL ) { g_io_channel_set_encoding(io, encoding, NULL); } for(;;) { if( *error != NULL ) break; io_stat = g_io_channel_read_line(io, &tmpstr, NULL, NULL, &err); DB( g_print(" + iostat %d\n", io_stat) ); if( io_stat == G_IO_STATUS_ERROR ) { DB (g_print(" + ERROR %s\n",err->message)); break; } if( io_stat == G_IO_STATUS_EOF) break; if( io_stat == G_IO_STATUS_NORMAL) { if( tmpstr != NULL ) { DB( g_print(" + strip %s\n", tmpstr) ); hb_string_strip_crlf(tmpstr); DB( g_print(" + split\n") ); str_array = g_strsplit (tmpstr, ";", 3); // type; sign; name if( g_strv_length (str_array) != 3 ) { *error = _("invalid CSV format"); retval = FALSE; DB( g_print(" + error %s\n", *error) ); } else { DB( g_print(" + read %s : %s : %s\n", str_array[0], str_array[1], str_array[2]) ); fullcatname = NULL; if( g_str_has_prefix(str_array[0], "1") ) { fullcatname = g_strdup(str_array[2]); g_free(lastcatname); lastcatname = g_strdup(str_array[2]); } else if( g_str_has_prefix(str_array[0], "2") ) { fullcatname = g_strdup_printf("%s:%s", lastcatname, str_array[2]); } item = da_cat_append_ifnew_by_fullname(fullcatname); DB( g_print(" + item %p\n", item) ); if( item != NULL) { isIncome = g_str_has_prefix(str_array[1], "+") ? TRUE : FALSE; category_change_type(item, isIncome, FALSE); } g_free(fullcatname); g_strfreev (str_array); } } } g_free(tmpstr); } g_io_channel_unref (io); } g_free(lastcatname); return retval; } gboolean category_save_csv(gchar *filename, gchar **error) { gboolean retval = FALSE; GIOChannel *io; gchar *outstr; GList *lcat, *list; io = g_io_channel_new_file(filename, "w", NULL); if(io != NULL) { lcat = list = category_glist_sorted(1); while (list != NULL) { Category *item = list->data; if(item->key != 0) { gchar lvel, type; //#1740368 changes here type = category_get_type_char(item); lvel = ( item->parent == 0 ) ? '1' : '2'; outstr = g_strdup_printf("%c;%c;%s\n", lvel, type, item->name); DB( g_print(" + export %s\n", outstr) ); g_io_channel_write_chars(io, outstr, -1, NULL, NULL); g_free(outstr); } list = g_list_next(list); } retval = TRUE; g_list_free(lcat); g_io_channel_unref (io); } return retval; } // only used to warn in txn dialog gint category_type_get(Category *item) { if( (item->flags & (GF_INCOME)) ) return 1; return -1; } gchar category_get_type_char(Category *item) { return (item->flags & GF_INCOME) ? '+' : '-'; } static gint category_change_type_eval(Category *item, gboolean isIncome) { gboolean flaginc; gint retval = 0; flaginc = (item->flags & (GF_INCOME)) ? TRUE : FALSE; if( flaginc != isIncome ) retval = 1; DB( g_print(" change:%d\n", retval) ); return retval; } gint category_change_type(Category *item, gboolean isIncome, gboolean doChild) { GList *lcat, *list; gint changes = 0; DB( g_print("\n[category] category_change_type\n") ); // reset & set income DB( g_print(" set '%s' %d\n", item->fullname, isIncome) ); changes += category_change_type_eval(item, isIncome); item->flags &= ~(GF_INCOME); if(isIncome == TRUE) item->flags |= GF_INCOME; //if item is a subcat we override by its parent for below child processing if( item->parent != 0 ) item = da_cat_get(item->parent); if( item && !(item->flags & GF_SUB) ) { item->flags &= ~(GF_MIXED); lcat = list = g_hash_table_get_values(GLOBALS->h_cat); while (list != NULL) { Category *child = list->data; if(child->parent == item->key) { // propagate to child if( doChild ) { changes += category_change_type_eval(child, isIncome); DB( g_print(" set child '%s' %d\n", child->fullname, isIncome) ); child->flags &= ~(GF_INCOME); //delete flag if(isIncome == TRUE) child->flags |= GF_INCOME; } // set mixed if child has != sign if((item->flags & GF_INCOME) != (child->flags & GF_INCOME) ) item->flags |= GF_MIXED; } list = g_list_next(list); } g_list_free(lcat); } return changes; } /** * category_find_preset: * * find a user language compatible file for category preset * * Return value: a pathname to the file or NULL * */ gchar * category_find_preset(gchar **lang) { gchar **langs; gchar *filename; gboolean exists; guint i; DB( g_print("** category_find_preset **\n") ); langs = (gchar **)g_get_language_names (); DB( g_print(" -> %d languages detected\n", g_strv_length(langs)) ); for(i=0;i %d '%s'\n", i, langs[i]) ); filename = g_strdup_printf("hb-categories-%s.csv", langs[i]); gchar *pathfilename = g_build_filename(homebank_app_get_datas_dir(), filename, NULL); exists = g_file_test(pathfilename, G_FILE_TEST_EXISTS); DB( g_print(" -> '%s' exists=%d\n", pathfilename, exists) ); if(exists) { g_free(filename); *lang = langs[i]; return pathfilename; } g_free(filename); g_free(pathfilename); } DB( g_print("return NULL\n") ); *lang = NULL; return NULL; } homebank-5.3.2/src/hub-account.c0000664000175000017500000004017013604720365013403 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 "homebank.h" #include "hub-account.h" #include "dsp-mainwindow.h" #include "list-account.h" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif /* our global datas */ extern struct HomeBank *GLOBALS; extern struct Preferences *PREFS; extern HbKvData CYA_ACC_TYPE[]; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void da_accgrp_free(PnlAccGrp *item) { DB( g_print("da_accgrp_free\n") ); DB( g_print(" free '%s'\n", item->name) ); if(item->name) g_free(item->name); if(item->acclist) g_ptr_array_free (item->acclist, TRUE); g_free(item); } static PnlAccGrp *da_accgrp_malloc(void) { DB( g_print("da_accgrp_malloc\n") ); return g_malloc0(sizeof(PnlAccGrp)); } static void da_accgrp_destroy(GHashTable *h_group) { GHashTableIter grp_iter; gpointer key, value; DB( g_print("\n[hub-account] groups free\n") ); if(h_group == NULL) return; g_hash_table_iter_init (&grp_iter, h_group); while (g_hash_table_iter_next (&grp_iter, &key, &value)) { PnlAccGrp *group = value; da_accgrp_free(group); } g_hash_table_destroy (h_group); } static GHashTable *da_accgrp_new(void) { DB( g_print("\n[hub-account] groups new\n") ); return g_hash_table_new_full(g_str_hash, g_str_equal, (GDestroyNotify)g_free, NULL); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static GHashTable *ui_hub_account_groups_get(GtkTreeView *treeview, gint groupby, gboolean showall) { GHashTable *h_group; GList *lacc, *elt; gchar *groupname; gint nballoc; DB( g_print("\n[hub-account] groups get\n") ); nballoc = da_acc_length (); DB( g_print(" %d accounts\n", nballoc) ); h_group = da_accgrp_new(); lacc = g_hash_table_get_values(GLOBALS->h_acc); elt = g_list_first(lacc); while (elt != NULL) { Account *acc = elt->data; PnlAccGrp *group; //#1674045 ony rely on nosummary //if( showall || !(acc->flags & (AF_CLOSED|AF_NOSUMMARY)) ) if( showall || !(acc->flags & AF_NOSUMMARY) ) { switch( groupby ) { case DSPACC_GROUP_BY_BANK: { groupname = _("(no institution)"); if( (acc->bankname != NULL) && strlen(acc->bankname) > 0 ) groupname = acc->bankname; } break; case DSPACC_GROUP_BY_GROUP: { Group *grp = da_grp_get(acc->kgrp); groupname = _("(no group)"); if( grp != NULL && grp->key > 0 ) groupname = grp->name; } break; default: //pre 5.1.3 historical by type display groupname = hbtk_get_label(CYA_ACC_TYPE, acc->type); break; } //#1820853 groupname could be NULL if( groupname != NULL ) { if( g_hash_table_contains(h_group, groupname) == FALSE ) { group = da_accgrp_malloc(); group->name = g_strdup(groupname); group->acclist = g_ptr_array_sized_new(nballoc); g_hash_table_insert(h_group, g_strdup(groupname), group ); } group = g_hash_table_lookup(h_group, groupname); if( group != NULL ) { g_ptr_array_add(group->acclist, (gpointer)acc); } } } elt = g_list_next(elt); } g_list_free(lacc); return h_group; } static void ui_hub_account_groups_compute(GHashTable *h_accgrp, PnlAccGrp *totaccgrp) { GHashTableIter grp_iter; gpointer key, value; PnlAccGrp *gt; guint j; DB( g_print("\n[hub-account] groups compute\n") ); if( !h_accgrp || !totaccgrp) return; gt = totaccgrp; gt->bal_bank = 0; gt->bal_today = 0; gt->bal_future = 0; g_hash_table_iter_init (&grp_iter, h_accgrp); while (g_hash_table_iter_next (&grp_iter, &key, &value)) { PnlAccGrp *g = value; if(!g) continue; DB( g_print(" g '%s'\n", g->name) ); g->bal_bank = 0; g->bal_today = 0; g->bal_future = 0; for(j=0;jacclist->len;j++) { Account *acc = g_ptr_array_index(g->acclist, j); if(acc) { g->bal_bank += hb_amount_base(acc->bal_bank, acc->kcur); g->bal_today += hb_amount_base(acc->bal_today, acc->kcur); g->bal_future += hb_amount_base(acc->bal_future, acc->kcur); } } DB( g_print(" + total :: %.2f %.2f %.2f\n", g->bal_bank, g->bal_today, g->bal_future) ); gt->bal_bank += g->bal_bank; gt->bal_today += g->bal_today; gt->bal_future += g->bal_future; } } void ui_hub_account_populate(GtkWidget *widget, gpointer user_data) { struct hbfile_data *data; GtkTreeModel *model; GtkTreeIter iter1, child_iter; Account *acc; guint j, nbtype; GHashTable *h_group; GHashTableIter grp_iter; gpointer key, value; DB( g_print("\n[hub-account] populate\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); // clear previous model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_acc)); gtk_tree_store_clear (GTK_TREE_STORE(model)); if(data->totaccgrp != NULL) da_accgrp_free(data->totaccgrp); if(data->h_accgrp != NULL) da_accgrp_destroy(data->h_accgrp); h_group = ui_hub_account_groups_get(GTK_TREE_VIEW(data->LV_acc), PREFS->pnl_acc_show_by, data->showall); data->h_accgrp = h_group; data->totaccgrp = da_accgrp_malloc(); DB( g_print("\n\n populate listview, %d group(s)\n", g_hash_table_size(h_group)) ); nbtype = 0; g_hash_table_iter_init (&grp_iter, h_group); while (g_hash_table_iter_next (&grp_iter, &key, &value)) { PnlAccGrp *group = value; gint position; if(group != NULL) { nbtype++; //1: Header: Bank, Cash, ... DB( g_print(" g '%s'\n", (gchar *)key) ); //#1663399 keep group type position like in dropdown position = 0; if( PREFS->pnl_acc_show_by == DSPACC_GROUP_BY_TYPE ) { gint t = 0; while(CYA_ACC_TYPE[t].name != NULL && t < 32) { if( !strcmp(CYA_ACC_TYPE[t].name, key) ) break; t++; } position = t; } gtk_tree_store_append (GTK_TREE_STORE(model), &iter1, NULL); gtk_tree_store_set (GTK_TREE_STORE(model), &iter1, LST_DSPACC_POS, position, LST_DSPACC_DATATYPE, DSPACC_TYPE_HEADER, LST_DSPACC_DATAS, group, -1); //2: Accounts for real for(j=0;jacclist->len;j++) { acc = g_ptr_array_index(group->acclist, j); DB( g_print(" + '%s' :: %.2f %.2f %.2f\n", acc->name, acc->bal_bank, acc->bal_today, acc->bal_future) ); gtk_tree_store_append (GTK_TREE_STORE(model), &child_iter, &iter1); gtk_tree_store_set (GTK_TREE_STORE(model), &child_iter, LST_DSPACC_DATATYPE, DSPACC_TYPE_NORMAL, LST_DSPACC_DATAS, acc, -1); } // insert the total line if(group->acclist->len > 1) { gtk_tree_store_append (GTK_TREE_STORE(model), &child_iter, &iter1); gtk_tree_store_set (GTK_TREE_STORE(model), &child_iter, LST_DSPACC_DATATYPE, DSPACC_TYPE_SUBTOTAL, LST_DSPACC_DATAS, group, -1); } } } // Grand total if( nbtype > 1 ) { gtk_tree_store_append (GTK_TREE_STORE(model), &iter1, NULL); gtk_tree_store_set (GTK_TREE_STORE(model), &iter1, LST_DSPACC_DATATYPE, DSPACC_TYPE_TOTAL, LST_DSPACC_DATAS, data->totaccgrp, -1); } ui_hub_account_groups_compute(data->h_accgrp, data->totaccgrp); gtk_tree_view_expand_all(GTK_TREE_VIEW(data->LV_acc)); } //this func should only recompute balance of acc groups void ui_hub_account_compute(GtkWidget *widget, gpointer user_data) { struct hbfile_data *data; DB( g_print("\n[hub-account] compute\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); ui_hub_account_groups_compute(data->h_accgrp, data->totaccgrp); gtk_widget_queue_draw (data->LV_acc); } static void ui_hub_account_expand_all(GtkWidget *widget, gpointer user_data) { struct hbfile_data *data; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); gtk_tree_view_expand_all(GTK_TREE_VIEW(data->LV_acc)); } static void ui_hub_account_collapse_all(GtkWidget *widget, gpointer user_data) { struct hbfile_data *data; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); gtk_tree_view_collapse_all(GTK_TREE_VIEW(data->LV_acc)); } /* Callback function for the undo action */ /*static void activate_action (GSimpleAction *action, GVariant *parameter, gpointer user_data) { g_print ("Action %s activated\n", g_action_get_name (G_ACTION (action))); }*/ static void ui_hub_account_activate_toggle (GSimpleAction *action, GVariant *parameter, gpointer user_data) { struct hbfile_data *data = user_data; GVariant *old_state, *new_state; old_state = g_action_get_state (G_ACTION (action)); new_state = g_variant_new_boolean (!g_variant_get_boolean (old_state)); DB( g_print ("Toggle action %s activated, state changes from %d to %d\n", g_action_get_name (G_ACTION (action)), g_variant_get_boolean (old_state), g_variant_get_boolean (new_state)) ); data->showall = g_variant_get_boolean (new_state); ui_hub_account_populate(GLOBALS->mainwindow, NULL); g_simple_action_set_state (action, new_state); g_variant_unref (old_state); } static void ui_hub_account_activate_radio (GSimpleAction *action, GVariant *parameter, gpointer user_data) { //struct hbfile_data *data = user_data; GVariant *old_state, *new_state; old_state = g_action_get_state (G_ACTION (action)); new_state = g_variant_new_string (g_variant_get_string (parameter, NULL)); DB( g_print ("Radio action %s activated, state changes from %s to %s\n", g_action_get_name (G_ACTION (action)), g_variant_get_string (old_state, NULL), g_variant_get_string (new_state, NULL)) ); PREFS->pnl_acc_show_by = DSPACC_GROUP_BY_TYPE; if( !strcmp("bank", g_variant_get_string(new_state, NULL)) ) PREFS->pnl_acc_show_by = DSPACC_GROUP_BY_BANK; else if( !strcmp("group", g_variant_get_string(new_state, NULL)) ) PREFS->pnl_acc_show_by = DSPACC_GROUP_BY_GROUP; ui_hub_account_populate(GLOBALS->mainwindow, NULL); g_simple_action_set_state (action, new_state); g_variant_unref (old_state); } static const GActionEntry actions[] = { // name, function(), type, state, // { "paste", activate_action, NULL, NULL, NULL, {0,0,0} }, { "showall", ui_hub_account_activate_toggle, NULL, "false" , NULL, {0,0,0} }, { "groupby", ui_hub_account_activate_radio , "s", "'type'", NULL, {0,0,0} } }; void ui_hub_account_setup(struct hbfile_data *data) { GAction *action; GVariant *new_state; if( !G_IS_SIMPLE_ACTION_GROUP(data->action_group_acc) ) return; action = g_action_map_lookup_action (G_ACTION_MAP (data->action_group_acc), "showall"); if( action ) { new_state = g_variant_new_boolean (data->showall); g_simple_action_set_state (G_SIMPLE_ACTION(action), new_state); } action = g_action_map_lookup_action (G_ACTION_MAP (data->action_group_acc), "groupby"); if( action ) { const gchar *value = "type"; if( PREFS->pnl_acc_show_by == DSPACC_GROUP_BY_BANK ) value = "bank"; else if( PREFS->pnl_acc_show_by == DSPACC_GROUP_BY_GROUP ) value = "group"; new_state = g_variant_new_string (value); g_simple_action_set_state (G_SIMPLE_ACTION (action), new_state); } } void ui_hub_account_dispose(struct hbfile_data *data) { DB( g_print("\n[hub-account] dispose\n") ); if(data->h_accgrp != NULL) da_accgrp_destroy(data->h_accgrp); if(data->totaccgrp != NULL) da_accgrp_free(data->totaccgrp); data->h_accgrp = NULL; data->totaccgrp = NULL; } GtkWidget *ui_hub_account_create(struct hbfile_data *data) { GtkWidget *hub, *label, *widget, *sw, *tbar, *hbox, *image; GtkToolItem *toolitem; DB( g_print("\n[hub-account] create\n") ); hub = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width(GTK_CONTAINER(hub), SPACING_SMALL); sw = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_box_pack_start (GTK_BOX (hub), sw, TRUE, TRUE, 0); widget = (GtkWidget *)create_list_account(); data->LV_acc = widget; gtk_container_add (GTK_CONTAINER (sw), widget); //list toolbar tbar = gtk_toolbar_new(); gtk_toolbar_set_icon_size (GTK_TOOLBAR(tbar), GTK_ICON_SIZE_MENU); gtk_toolbar_set_style(GTK_TOOLBAR(tbar), GTK_TOOLBAR_ICONS); gtk_style_context_add_class (gtk_widget_get_style_context (tbar), GTK_STYLE_CLASS_INLINE_TOOLBAR); gtk_box_pack_start (GTK_BOX (hub), tbar, FALSE, FALSE, 0); label = make_label_group(_("Your accounts")); toolitem = gtk_tool_item_new(); gtk_container_add (GTK_CONTAINER(toolitem), label); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); toolitem = gtk_separator_tool_item_new (); gtk_tool_item_set_expand (toolitem, TRUE); gtk_separator_tool_item_set_draw(GTK_SEPARATOR_TOOL_ITEM(toolitem), FALSE); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); toolitem = gtk_tool_item_new(); gtk_container_add (GTK_CONTAINER(toolitem), hbox); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); widget = make_image_button(ICONNAME_HB_BUTTON_EXPAND, _("Expand all")); data->BT_expandall = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); widget = make_image_button(ICONNAME_HB_BUTTON_COLLAPSE, _("Collapse all")); data->BT_collapseall = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); toolitem = gtk_separator_tool_item_new (); gtk_tool_item_set_expand (toolitem, FALSE); gtk_separator_tool_item_set_draw(GTK_SEPARATOR_TOOL_ITEM(toolitem), FALSE); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); //gmenu test (see test folder into gtk) GMenu *menu, *section; menu = g_menu_new (); //g_menu_append (menumodel, "About", "actions.undo"); //g_menu_append (menumodel, "Test", "actions.redo"); section = g_menu_new (); g_menu_append (section, _("Show all"), "actions.showall"); g_menu_append_section(menu, NULL, G_MENU_MODEL(section)); g_object_unref (section); section = g_menu_new (); g_menu_append (section, _("By type") , "actions.groupby::type"); g_menu_append (section, _("By group") , "actions.groupby::group"); g_menu_append (section, _("By institution"), "actions.groupby::bank"); g_menu_append_section(menu, NULL, G_MENU_MODEL(section)); g_object_unref (section); GSimpleActionGroup *group = g_simple_action_group_new (); data->action_group_acc = group; g_action_map_add_action_entries (G_ACTION_MAP (group), actions, G_N_ELEMENTS (actions), data); widget = gtk_menu_button_new(); gtk_menu_button_set_direction (GTK_MENU_BUTTON(widget), GTK_ARROW_UP); gtk_widget_set_halign (widget, GTK_ALIGN_END); image = gtk_image_new_from_icon_name (ICONNAME_EMBLEM_SYSTEM, GTK_ICON_SIZE_MENU); g_object_set (widget, "image", image, NULL); toolitem = gtk_tool_item_new(); gtk_container_add (GTK_CONTAINER(toolitem), widget); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); gtk_widget_insert_action_group (widget, "actions", G_ACTION_GROUP(group)); gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (widget), G_MENU_MODEL (menu)); g_signal_connect (G_OBJECT (data->BT_expandall ), "clicked" , G_CALLBACK (ui_hub_account_expand_all), NULL); g_signal_connect (G_OBJECT (data->BT_collapseall), "clicked" , G_CALLBACK (ui_hub_account_collapse_all), NULL); return hub; } homebank-5.3.2/src/ui-split.h0000664000175000017500000000426113620023641012736 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2020 Maxime DOYEN * * This file is part of HomeBank. * * HomeBank 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. * * HomeBank is distributed in the hope that it will be useful, * but WITHOUT 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 __HB_SPLIT_GTK_H__ #define __HB_SPLIT_GTK_H__ #include "ui-transaction.h" #include "hb-split.h" struct ui_split_dialog_data { GtkWidget *dialog; GtkWidget *LV_split; GtkWidget *PO_cat; GtkWidget *ST_amount; GtkWidget *ST_memo; GtkWidget *BT_edit; GtkWidget *BT_rem; GtkWidget *BT_remall; GtkWidget *BT_add; GtkWidget *BT_apply; GtkWidget *BT_cancel; GtkWidget *IM_edit; GtkWidget *LB_sumsplit; GtkWidget *LB_remain; GtkWidget *LB_txnamount; GtkWidget *IB_wrnsum; GtkWidget *IB_errtype; //Transaction *ope; GPtrArray *src_splits; GPtrArray *tmp_splits; gint mode; gint txntype; gdouble amount; gdouble sumsplit; gdouble remsplit; gboolean isedited; gint nbsplit; gint activeline; gulong hid_cat; gulong hid_amt; }; #define SPLIT_MODE_EMPTY 0 #define SPLIT_MODE_AMOUNT 1 void ui_split_dialog_line_sensitive(guint line, gboolean sensitive, gpointer user_data); void ui_split_dialog_compute(GtkWidget *widget, gpointer user_data); void ui_split_dialog_inactiveline(GtkWidget *widget, gpointer user_data); void ui_split_dialog_activeline(GtkWidget *widget, gpointer user_data); void ui_split_dialog_get(struct ui_split_dialog_data *data); void ui_split_dialog_set(struct ui_split_dialog_data *data); GtkWidget *ui_split_dialog (GtkWidget *parent, GPtrArray **src_splits, gint txntype, gdouble amount, void (update_callbackFunction(GtkWidget*, gdouble))); #endif homebank-5.3.2/doc/0000775000175000017500000000000013620077507011064 500000000000000homebank-5.3.2/doc/dlg-wall.html0000644000175000017500000000412113573143107013366 00000000000000 Properties dialog

HomeBank User manual

Properties dialog

The properties dialog is used to edit, modify and manage the wallet properties.

Dialog call

  • main window menu: File / Properties

Using properties dialog

General

Title the title or owner name for the wallet, this will be used as the main window title.

Scheduled transaction

add until [xx] of each month (excluded) the day number of the month until which the scheduled transaction will be automatically added.

Example:
if you input 15 here, scheduled insertion will occur until 14th included

add [xx] days in advance the current date a number of days to add to the today's date (limit of insertion) when HomeBank insert automated transactions.

Example:
you specify 30 days here, HomeBank will insert automated transactions that should occur till today + 30 days.

Vehicle cost

Category the default category selected when you open the Vehicle cost report.
homebank-5.3.2/doc/use-auto_addition.html0000644000175000017500000000730213573204523015304 00000000000000 Using the Scheduled transaction feature
HomeBank User manual

Using the Scheduled transaction feature

Scheduled transactions will allow you to automate the repetitive transaction input like bills, subscriptions, insurances or taxes. You setup the transaction once by creating or use an existing template transaction, then set a few parameters to organize the scheduled insertion. HomeBank will inform you when the transaction is ready to be inserted or will insert it automatically for you.

Step 1: Create scheduled transactions

  • open the Scheduled/Template dialog from either the main-window menu or the tool-bar
  • select an existing template transaction, or create a new one
  • check the 'Activate' check-box in the 'Scheduled insertion' area, at the bottom
  • set the insertion parameters:
    • next post date
    • recurrence: every X day, week, month, year
    • week-end behavior to apply
    • optional limitation to X posts

Step 2: Configure the insertion rules and options

By default the scheduled transactions will be automatically inserted at their due date every time you open your HomeBank file.

You can change this behavior from the file properties dialog with 2 options:

  • Add until xx of each month (excluded)
    set this to until 25 of each month, will not post until we get over that date (so starting the 26th)
  • Add x days in advance the current date
    set this to 30 days in advance, rely that the day is over (so current day is excluded)

To insert transaction to their due date again, insert 0 days in advance the current date. You can also reach this configuration dialog from the main-window menu Transaction/Set scheduler...

The insertion at program start can be changed from the preferences dialog

At last, you are able to trigger the insertion from the main-window menu Transaction/Process scheduled...

Step 3: Control the scheduled transactions

In the main window, a list of scheduled transaction can be displayed, it's a summary of every pending scheduled transaction post.

You can control the transaction post or skip it, if required, from here directly with some toolbar buttons below the list.

If a scheduled transaction is late, you will see a warning icon with the number of day late in a maximum of 10. If the overdue is more than 10 days, it will shows +10.

homebank-5.3.2/doc/frm-main.html0000644000175000017500000000127313620015436013372 00000000000000 HomeBank - Documentation in English


Version: 5.3.2
Compilation date: Feb 10th, 2020


© Copyright 1995-2020 by Maxime Doyen
All Rights Reserved

This program comes with absolutely no warranty.
See the GNU General Public Licence, version 2 or later for details.

homebank-5.3.2/doc/use-lend-refund.html0000664000175000017500000000666713442553077014711 00000000000000 Lend / Refund money
HomeBank User manual

Using the Remind status to follow up lend/refund money

When you lend money to someone or someone lent you money, you need to remind or track and remind this.
The Remind status of the transaction was designed for that. When a transaction is set to that status it will:

  • always be displayed into the register listview (until you force not to)
  • will not be counted for balance, report and other stuff, as this transaction is a remind and not already a real transaction

Let's take an example on a way (there is others) to manage that.
So let's say you lend 50 £ to your best friend John Doe today Jan 1, 2000. You can have a dedicated transaction for that or this can be part of an overall transaction (if you pay for a group of friends/the whole family):

Step 1: Create the remind transaction

Register one or several Remind transaction per payee with:

Date01/01/2000
PayeeJohn Doe
CategoryFriend:debt/loan or Family:debt/loan
Amount+50 £
Info01/01/2000
StatusRemind
Memopayback for the restaurant

Do the same for any other lend you make that day or others days

Step 2: Follow up your remind transaction

As the Remind transaction are always visible, you can see it into the register. In a near future I will add a synthesis in the main HomeBank window.

Using the report, you can easily track if the payee is at equity or not

Step 3: At payback, change remind to a real transaction

At last when you get money back, you just change the transaction status to cleared or reconciled and setup the payback date:

Date13/01/2000
PayeeJohn Doe
CategoryFriend:debt/loan or Family:debt/loan
Amount+50 £
Info01/01/2000
StatusCleared
Memopayback for the restaurant

You can change the category as well, add tags, or whatever suit your needs

Final note

This is a way of doing such tracking, some people reported using some accounts and internal xfer as well for complex tracking.

homebank-5.3.2/doc/dlg-filt.html0000644000175000017500000001256613557637551013416 00000000000000 Filter dialog
HomeBank User manual

Filter dialog

The filter dialog is used to adjust the filter transaction criteria, it is divided into several section.

Common element

On every section, you will have the following widget that control the way of working of the match criteria:
Option
  • Off = disable this filter section
  • Include = include the selection or items
  • Exclude = exclude the selection or items

Dates

From the date minimum value
To the date maximum value

↑ Back to Top

Status

Status

Any Status / Cleared / Reconciled

Type

Any Type / Expense / Income / Transfer

Force

this is only available for the account window

show recently 'Added' force transaction in 'added' status to always be displayed
show recently 'Edited' force transaction in 'edited' status to always be displayed
display 'Remind' force remind transaction to always be displayed

↑ Back to Top

Payments

Select quick change of the selection:
All / None / Invert
{payment} see the lexicon for payment detail

↑ Back to Top

Amounts

From the amount minimum value
To the amount maximum value

↑ Back to Top

Texts

Memo the memo string to search
Info the info string to search
Tag the tag string to search
Case sensitive set text search to be case sensitive

↑ Back to Top

Categories / Payees / Accounts

These tabs all function-the same manner. You can filter these using a list of item, including or excluding the selected items.
The account tab is not showed when you filter from the account window, it is showed only from the other dialog.

Select quick change of the selection:
All / None / Invert
{Items} list with Categories / Payees or Accounts

↑ Back to Top

homebank-5.3.2/doc/Makefile.am0000644000175000017500000000020012460436056013025 00000000000000SUBDIRS = images helpdir = $(datadir)/homebank/help help_DATA = \ help.css \ $(wildcard *.html) EXTRA_DIST = $(help_DATA) homebank-5.3.2/doc/Makefile.in0000664000175000017500000005103013606633327013052 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 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 = : subdir = doc ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs 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)$(helpdir)" DATA = $(help_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 distdir-am 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)/mkinstalldirs \ 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@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEPS_CFLAGS = @DEPS_CFLAGS@ DEPS_LIBS = @DEPS_LIBS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ 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@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSOUP_CFLAGS = @LIBSOUP_CFLAGS@ LIBSOUP_LIBS = @LIBSOUP_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ 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@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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 = images helpdir = $(datadir)/homebank/help help_DATA = \ help.css \ $(wildcard *.html) EXTRA_DIST = $(help_DATA) all: all-recursive .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 doc/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign doc/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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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): install-helpDATA: $(help_DATA) @$(NORMAL_INSTALL) @list='$(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-helpDATA: @$(NORMAL_UNINSTALL) @list='$(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) # 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: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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)$(helpdir)"; 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 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-helpDATA 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 pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-helpDATA .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic cscopelist-am ctags ctags-am \ distclean distclean-generic 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-helpDATA 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 pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-helpDATA .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: homebank-5.3.2/doc/win-account.html0000644000175000017500000001246313573150047014123 00000000000000 Account window
HomeBank User manual

Account window

The account window, or so called register is used to manage one account or all the accounts at a time.
It can be the basis of most actions dealing with transactions.

Menu

The menu is the start of every actions on transactions.

Quick filter area

Theses widgets will enable you to quickly filter the transaction list without opening the filter dialog.

Range : Quick change the date range, a tool-tip is displayed when you hover this widget and display the exact date range.
Type : Restrict the list-view to expense or income.
Status : Restrict the list-view to uncategorized or unreconciled.

Quick search

The quick search will permit to filter the transaction list instantly on text column. The search apply to all columns except status and date columns.

Selected transaction informations

On the left you have the current date range as a remind. The informaiton displayed depends on the selection:

  • no selection / 1 selected:
    display the number of transaciton of the list
  • more than 1 selected:
    display additionally: number of selected, average, sum of total, income, expense

Balance

The balance area contains the balance summary of the account, see this page for details. If the minor option is checked in the preferences, a minor toggle button appear here, see this page for details.

Transaction list

The list show you a summary of every transaction in the account. You can use the filter dialog if necessary. Or even change the sort order by clicking on the column title.
The Balance column is only displayed when sort is by date ascending/descending, it is hidden otherwise.

Double-click works as follow, depending of the transaction selected:

The first column indicate the change made to the transaction:

= transaction added
= transaction modified

The Status column indicate the status of a transaction:

= cleared
= reconciled
= remind

Some hot-keys are available to quickly change the status of a transaction.

Here's a few tips:
+ - on an unreconciled transaction will Reconcile
- on a Reconciled transaction will ask for confirmation and toggle to Cleared
+ - has no effect on a Reconciled transaction
- on a Cleared transaction will unclear it
+ - will change the status to None

The Category column may display a - this needs a category - text
this occurs if the account is part of the budget and the transaction has no category and is not a transfer.
You may need to exclude the account from the budget if this was set by mistake or you don't use the budget feature, this can be done from the dialog account.

Tool bar

The tool-bar provides easy mouse shortcut for some of the menu. All tool button have a tool tip that will help you know what action will be launched when you click on the tool button.

homebank-5.3.2/doc/dlg-tran.html0000644000175000017500000001110713557565465013416 00000000000000 Transactions dialog
HomeBank User manual

Transaction dialog

The transaction dialog is used to add, edit and manage the transactions.

Please refer to the tip & tricks for additional informations.

Dialog call

  • main window menu: Transaction / Add...
  • main window tool-bar.
  • from the account window-menu: Transaction / Add... / Inherit... / Edit...
  • from the account window transaction list: by double-click on an transaction

Using transaction dialog

The 'Add' button enable to add an transaction and keep the transaction dialog open to add more transactions.

Type of transaction

the type of the transaction, between: Expense / Income / Transfer.
Transfer is the internal transfer of <v5.3.

Use a template

Select a source template definition to fill in the transaction dialog fields.

Transaction details

Date date of the transaction (dd.mm.yy).

 you can use keys combination to change the date.

 the right side button pop-up a full calendar

Amount amount of the transaction
- the +/- button toggle between income/expense
Account account the transaction should be attached to.
Of notebook 2
To account
these fields appears depending on the payment selected:
for cheque: select the 2nd cheque notebook for internal transfer: select the destination account
Payment payment for the transaction. It will be displayed as small icons. See the lexicon for payment detail
Info additional informations such as real date or value date, cheque numbers, other numbers related to the transaction.
this field is automatically filled for cheque numbers.
Payee payee of the transaction, see payee definition for further details.

 Entering a new payee here will create it.

Category category of the transaction, see category definition for further details.

 Entering a new category here will create it. Example: 'Wage:Salary'

Status The different status a transaction can have:
Memo memo of transaction.
and optionally vehicle cost data's, see vehicle cost.
Tags tags of the transaction, see tag definition for further details.
homebank-5.3.2/doc/use-import.html0000644000175000017500000001215013356354137013776 00000000000000 Using the import files feature
HomeBank User manual

Using the Import files feature

HomeBank is able to import one or several downloaded statements from your bank or credit card, or maybe exported from some other programs, in the following formats:

Recommended: .OFX or .QFX
(Sometimes named Money™ or Quicken™)
Supported: .QIF
(Common Quicken™ file)
Advanced users only: .CSV
(format is specific to HomeBank, see the documentation)

 Starting v5.2, the assigments occurs when you validate the import.

Step 1: Open the import assistant dialog

From the main window:

  • Select the File/Import... menu
    The import assistant will open, with an empty file list

  • By dropping one or several file to import
    The import assistant will open, with the file dropped already into the file list

then you will be guided you through the different steps for importing the files

Step 2: Select file(s) to import

You can again drop some files here, or use the +/- button to pick up some files to import.

Step 3: Adjust what to import for each account

For each account, you will be able to select what to import with several option, depending on the format.

Import xxxxxx into

where xxxxxx will be this file or this account. If you put the mouse over it, you will get some information on a tooltip: Name, Number, File, Encoding.

Target account

  • <New account (global)> : is a global account to merge several file/account
  • <New account> : import in a separate account
  • ... all your existing account ...
  • <Skip this account> : to completely skip the account

Automated account target

Except for .CSV, HomeBank will try to match the account by its number at first, then by its name.

For this to work, of course the number (for OFX) or name (for OFX/QIF) into HomeBank must be a substring or exact string of what it is into the file to import. For example:
if your account number is 1234 and the number into the file is 1111 666 1234 77 it should match and preset the target account for you.

If the file do not contains any reliable account information, you will get a icon right to the target account dropdown.

Import options

Depending on the format, you will have several option, similar to the one you have configured into the preferences.

Transactions to import

Here you will select the transactions to be imported, with the tick column, or select all, none, invert option.

By default, HomeBank will detect exact duplicate (within the current import), and depending on the target account, the similar transaction into the target account and mark them with a icon.

Similar transaction in target account

This section will be showed for transaction suspected to already exists. You can also change the date gap here. The similar detection refresh when you change the target account or the date gap.

The detection of similar transaction is done in the following order, according to the date gap (default is 0 days = exact).

  • same account
  • same amount
  • same date (with the configured tolerance)

Step 4: Confirmation

At last, the synthesis of what is to be imported, for each account.

homebank-5.3.2/doc/dlg-curr.html0000664000175000017500000000656213552425742013424 00000000000000 Currencies dialog
HomeBank User manual

Currencies dialog

The currencies dialog is used to add, modify and manage the currencies available for the wallets.

Dialog call

  • main window menu: Manage / Currencies
  • main window tool bar.

Using currencies dialog

General

Update on-line Trigger an update exchanges rate on-line. This is disabled when you only have a single currency.
 Please see the additional notes below

Currencies list

display currency ISO code, name, symbol, exchange rate and last modified date

Buttons

Add open a dialog to add a new currency
+ see the notes below.
Edit open a dialog to edit the selected currency
Delete delete the selected currency
Set as base set the selected currency to be the base currency

Notes: add a currency

- you can pick up new currencies from the official ISO 4217 list
- you can define a custom currency for discontinued or cryptocurrency

When you define a custom currency, please take care of the following:
- the Name must be at least 3 chars long
- the ISO code is optional, but you cannot change it easily later on
- the ISO code must be 3 chars long and cannot be the same an existing ISO 4217 one

Notes: Online Currency Update

  This is an extra feature relying on a third party web service.

Your currencies may not be supported:
- as base currency: and nothing will update
- as a target currency: this currency will not be updated
See additional notes below

The current API is:
- frankfurter.app
- list of supported currencies

Previous third party API service used in the past.
- until 5.2: https://api.fixer.io, see #1785210
- until 5.1.7: yahoo, see #1730527

homebank-5.3.2/doc/win-trendtime.html0000644000175000017500000000706613550556511014466 00000000000000 Trend time report
HomeBank User manual

Trend time report

The trend time report is focused on evolution of Account, Payee, Category over the time. You are able to view a specific item, or all at once, and cumulate the results over time or not

The results are displayed by different time-slices as a list-view or line chart, giving a visual view of the item over time.

Window call

  • from the main window-menu: Reports / Trend time
  • from the main window-tool-bar.

Using trend time report

Display

For specify the item the result should be computed for:
  • Account
  • Category
  • Payee
Account
Category
Payee
select the item to display result for
Select all display the result for all the items
Cumulate cumulate the result instead of simple display by time slice
View by specify the scale the result should be computed for:
  • Day
  • Week
  • Month
  • Quarter
  • Year
Zoom X select the X zoom factor in real time

Date filter

Range fast select a date with predefined range
From / To specify date bound limit to restrict the results to

Tool bar

The tool-bar is the main control of the display. All tool-button have a tool-tip that will help you know what action will be launched when you click on the tool-button.< The icon appear or not depending the context.
At the end of the toolbar, there is an export button that enable Result or detail of transaction to copy to clipboard or export into a CSV file

Result list

The result list display the computed amount according to the current selection.

Transaction detail list

The transaction detail list will show every transaction of the selected item in the above result list.
By default it is not visible. Use the tool-bar 'Toggle detail' button for changing this.
You can also default keep it visible in the Preference dialog

homebank-5.3.2/doc/dlg-assi.html0000644000175000017500000000614713564005206013375 00000000000000 Assignment dialog
HomeBank User manual

Assignments dialog

The assignments dialog is used to add, edit and manage the assignment rules of the current wallet.

Please refer to the Using the Automatic assignment feature for details on how using this feature.

Dialog call

  • main window menu: Manage / Assignments...
  • main window tool bar.

Using assignments dialog

Assignment list

display the actual list of assignments in the wallet. It is always sorted in rule number.
Starting v5.3 you can reorder this list with drag & drop.

Buttons

Add add a new empty assignment.
Delete delete the active assignment.

Condition

Search set in a text or regular expression to search
Aa set the search to consider uppercase and lowercase different, otherwise the same
.* set the find fields to be interpreted as a regular expression
In the field to search in: Memo / Payee

In case of leading or trailing space, you will get a warning display the space with ␣

Assign xxxxxx

[Disabled | If empty | Overwrite] controls in what case do the assignment

Payee the payee to optionally assign
 Entering a new payee here will create it.
Category the category to optionally assign
 Entering a new category here will create it. Example: 'Wage:Salary'
Payment the payment to optionally assign
Notes Additional free note to distinguish rules with similar text/regex
homebank-5.3.2/doc/dlg-bud1.html0000644000175000017500000000636713571301036013273 00000000000000 Budget dialog
HomeBank User manual

Budget dialog

The budget dialog is the main interface to edit, modify and manage your budget. Please refer to the using the budget feature for details on how using this feature.
You also have a table view version of this dialog since v5.3, see below.

Dialog call

  • main window menu: Manage / Budget
  • main window tool bar.

Using budget dialog

Expense/Income switcher

Toggle the category list with Expense/Income categories only

Category list

display the list of categories and subcategories of the current wallet.

= category has budget set (and is also displayed bold)
= category is forced to be displayed

Menu button

Import import the budget from a CSV file.
See CSV file format for details.
Export export the budget to a CSV file.
See CSV file format for details.

Budget totals

This is the totals for the current budget.

Budget for ...

is the same each month category budget will be the same for every month: Jan -> Dec
you can then fill the amount below
is different per month category budget will be specific each month
you can then fill the amount of each needed months
Jan, Feb, ..., Dec The amount for each month
Clear input clear any budget for the selected category

Options

Force monitoring this category By default, if a transaction has no amount (0.00) it it not displayed into the budget report. This checkbox will change this and can manage such case.

Table view budget dialog

homebank-5.3.2/doc/win-vehiclecost.html0000644000175000017500000000600613550556541014777 00000000000000 Vehicle cost report
HomeBank User manual

Vehicle cost report

The vehicle cost report will focus on your vehicle costs including fuel and repairs. It also display miscellaneous information like fuel consumption ans others.

Please refer to the using the vehicle cost feature for details on how using this feature.

Window call

  • from the main window-menu: Reports / Vehicle cost
  • from the main window-tool-bar.

Using vehicle cost report

Display

Vehicle select the category used for your vehicle costs

Date filter

Range fast select a date with predefined range
From / To specify date bound limit to restrict the results to

Tool bar

The tool-bar is the main control of the display. All tool-button have a tool-tip that will help you know what action will be launched when you click on the tool-button.

Global results

Meter the meter of the vehicle
Consumption fuel consumption
Fuel cost cost of the consumed fuel
Other cost the other cost for the vehicle (insurance, repair, ...), which mean the transaction affected to the current vehicle cost category not containing (d=xx v=xx)
Total cost the total cost for the vehicle in the selected period

Detailed results

This is a list-view which contains the detailed date by date refuel done for the selected vehicle.
The list is sortable, just click into the column title to change the sort order.
At the bottom is the total line, except for price which is the average price by liter.
There is no results for 100km & km/l until you have at least 2 full refuel in the list.

homebank-5.3.2/doc/win-balance.html0000644000175000017500000000531213550556301014045 00000000000000 Balance report
HomeBank User manual

Balance report

The balance report is an analysis part focused on the balance evolution during the time. A specific purpose will be to visually control your balance.

The transactions are displayed ordered by date in order for you to check the balance according to the minimum set in the account window.

The results are displayed into a list or with a line chart, giving a visual view of the account flow.

Window call

  • from the main window-menu: Reports / Balance
  • from the main window-tool-bar.

Using balance report

Display

Account select the account to display result for
Select all select all accounts
Each day select to display each day, in not checked only days with value are showed
Zoom X select the X zoom factor in real time

Date filter

Range fast select a date with predefined range
From / To specify date bound limit to restrict the results to

Tool bar

The tool-bar is the main control of the display. All tool-button have a tool-tip that will help you know what action will be launched when you click on the tool-button.

Infos

Inform you about the number of transaction in balance, the total number of transaction and the value of the balance for this account.

Result list

The result list display the computed balances according to the current selection.

homebank-5.3.2/doc/index.html0000644000175000017500000000074413000457213012770 00000000000000 HomeBank User Manual <body id="top"> </body> homebank-5.3.2/doc/dlg-arch.html0000644000175000017500000000603313557563204013356 00000000000000 Scheduled/Template transactions dialog
HomeBank User manual

Scheduled/Template transactions dialog

The Scheduled/Template transactions dialog is used to add, edit and manage the scheduled / template of the current wallet.

Dialog call

  • main window menu: Manage / Scheduled/Template...
  • main window tool bar.

Using Scheduled/Template transactions dialog

Scheduled/Template switcher

Toggle the list to show only Scheduled or Template

Scheduled/Template list

display the list of Scheduled/Template transactions in the wallet.

scheduled transaction are marked with a calendar icon:

Scheduled insertion

Activate set this template to be scheduled
Next date specify the date of the next insertion, when you first edit you should set it manually, then it is updated automatically. You can of course adjust it later if needed.
Every set the insertion interval to every xx:
  • Day
  • Week
  • Month
  • Year
Week-end define how to manage the post date when it occurs on a weekend:
  • Possible : don't care
  • Before : move to first day before
  • After : move to first day after
Stop after xx posts limit the insertion to a finished count

Buttons

Add add a new empty template.
Edit edit the active template.
Schedule display the scheduling option popover of the active template.
Delete delete the active template.
homebank-5.3.2/doc/TODO0000644000175000017500000000141111023413036011451 00000000000000 1. Introduction 2. Concept . The balances fundamentals . The Archives . Minor currency (for €uro countries) 3. Usage . HomeBank: First start . Main window . Operation book window . Working on Operations . Add/Import operations . Automate recurrent operations . Create an archive from an operation . Validate operation with my bank statement . Multiple field edition on operation . Remind operation 4. Dialogs . Properties .1 Accounts .2 Payee .3 Category .4 Archives .5 Budget . Operation filter . Settings .1 General .2 Interface .3 Display format .4 Help system .5 Euro options .6 Report options 5. Reports .1 Statistics .2 Budget .3 Overdrawn .4 Car cost 6. CSV file format 1. Payee 2. Category 3. Budget 4. Operation homebank-5.3.2/doc/menu-main.html0000644000175000017500000001726613573204716013573 00000000000000 Main window menu
HomeBank User manual

Main window menu

The menu are the main start point of most HomeBank actions. Here is a short description of it:

File

New clear all, after a confirmation if change were made to the current wallet
Open... open a wallet, after a confirmation if change were made to the current wallet
Open Recent show the list of recent file history
there is a Clear menu at the bottom of this list
Save save the current wallet
Save as... save the current wallet with a new name
Import... open the import assistant dialog
Export as QIF... export all data's to QIF format
Revert revert to the last saved version of the current file
Restore backup open the dialog to restore a backup of the current file
Properties... open the properties dialog
Close close the current wallet
Quit exit HomeBank

Edit

Preferences... open the preferences dialog

View

Toolbar Toggle display of the tool-bar
Top spending Toggle the display of the top spending
Bottom list Toggle the display of the scheduled list
Minor currency Display using the euro minor currency

Manage

Accounts... open the account dialog
Payees... open the payee dialog
Categories... open the category dialog
Scheduled/Template... open the scheduled/template dialog
Budget... open the budget dialog
Budget (table view)... open the budget dialog in table view mode
Assignments... open the assignment dialog
Currencies... open the currency dialog
Tags... open the tag dialog

Transactions

Add... open the transaction dialog
Show... open the account window for the selected account
Show all... open the account window to show all accounts transactions
Set scheduler... open the properties dialog to setup the scheduler
Post scheduled post any pending scheduled transaction according the current rules

Reports

Statistics... open the statistic report
Trend Time... open the trend time report
Balance... open the balance report
Budget... open the budget report
Vehicle cost... open the vehicle cost report

Tools

Show welcome dialog... Open the first start using HomeBank dialog, like you were using HomeBank for the first time. This will let you choose among several action to perform, like creating a blank account
File statistics... Open the file statistics dialog, showing the number of account, transaction and so on.
Anonymize... After a confirmation, this will change every label to anonymize your accounts, payee, categories, memo, etc.

Help

Contents Open the local help (on disk)
Get Help Online... Open a browser to the support page
Check for updates... Open a browser to the download page
Release Notes Open the Release notes that keeps any chnage made to each release
Report a problem Open a browser to a tutorial on how to report a bug
Translate this Application Translate to your language (on-line)
About Open the about dialog
homebank-5.3.2/doc/misc-csvformat.html0000644000175000017500000001120013466024120014606 00000000000000 CSV file format
HomeBank User manual

CSV file format

With HomeBank you can import/export some of the internal data's in the most common file format that is CSV.

Notice: meanwhile CSV should uses comma as separator, HomeBank uses semi-colon as separator (this is most common than comma)

The format used for the different files is specific to HomeBank, so don't expect to import files your bank should offers you directly, you will need to arrange it a little in a spreadsheet like Gnumeric before.

Below is a description with example of the CSV format that HomeBank uses.

Transaction

 Starting v5.2.5 you can change the separator for transaction import into preferences.

date the date format can be:
  • y-m-d
  • m-d-y
  • d-m-y

year can be 2 or 4 digits
separators can be / . or -

payment  You cannot import transaction with payment type=5 (internal xfer)
from 0=none to 10=FI fee (in the same order of the list)
info a string
payee a payee name
memo a string
amount a number with a '.' or ',' as decimal separator, ex: -24.12 or 36,75
category a full category name (category, or category:subcategory)
tags tags separated by space
tag is mandatory since v4.5

Example:

15-02-04;0;;;Some cash;-40,00;Bill:Withdrawal of cash;tag1 tag2
15-02-04;1;;;Internet DSL;-45,00;Inline service/Internet;tag2 my-tag3
... 

↑ Back to Top

Budget

type * = monthly
blank = month value
category the category name
value(s) 1 amount : if the type is monthly
12 amounts, separated by ';' : if type month value

Example:

*;Fuel;45.00
 ;Domestic animals;1.00;2.00;3.00;4.00;...
*;Food;17.00
... 

↑ Back to Top

Category

level 1 = category
2 = subcategory
type - = expense
+ = income
category name the category name

Example:

1;-;Food
2; ;Grocer
2; ;Restaurant
1;+;Wage
... 

↑ Back to Top

Payee

payee name the name of the payee
full category name optional: since 5.1.3
the full name of the category

Example:

payee_name1;cat1:subcat1
payee_name2;
... 

↑ Back to Top

homebank-5.3.2/doc/dlg-xfer.html0000664000175000017500000000372513557647564013430 00000000000000 Internal transfer dialog
HomeBank User manual

Transfer selection dialog

The transfer selection dialog is used to pick a target transaction for transfer transactions.

Dialog call

This dialog may pop-up when you change a transaction type to transfer and HomeBank detect some potential target transaction to link to this transfer.

Using transfer selection dialog

Source transaction

Display the transaction detail that triggered this pop-up

Select an action

create a new transaction will choose to create a new transaction and ignore the transaction proposed into the below list.
select an existing transaction will link the actual transaction to the selected one as the transfer target.

Target match transaction

list of transaction that may match the source transaction you just changed as a transfer.

The matching criteria are:

  • currency is the same
  • date +/- 2 days (since v5.3, previous was exact date match)
  • amount is the same
  • transaction not already a transfer
homebank-5.3.2/doc/menu-account.html0000644000175000017500000000741713573141446014300 00000000000000 Main window menu
HomeBank User manual

Account window menus

The menu is the start of every actions on transactions.

Account

Export QIF... export transaction to a QIF file
Export CSV... export transaction to a CSV file, see CSV file format
Export PDF... export transaction to a PDF file (for print purpose)
Close... close the account window

Edit

Copy copy the selected transaction to the buffer
Paste paste the buffer into the transaction list
Paste (today) paste the buffer into the transaction list changing the date to today's

Transaction

Add... open the transaction dialog in Add mode
Inherit... open the transaction dialog pre-fill it with the selected transaction
Edit... open the transaction dialog in Edit mode
Status > None change the status to none
=> confirmation will be asked if already Reconciled
Status > Cleared toggle cleared state if possible
=> no effect on a Reconciled transaction
Status > Reconciled toggle reconciled state if possible
=> confirmation will be asked if already Reconciled
Create template... create some template from the selected transaction(s)
Delete... delete the selected transaction(s)
Find find transaction by giving focus to the quicksearch widget

Tools

Mark dulicate toggle the view to duplicate finder mode
Check internal transfer... run a consistency check on internal transfer for this account
Filter... open the filter dialog
Auto. assignments run automatic assignment rules on the current account, see filter dialog
Filter... open the automatic assignments
Convert to euro... After a confirmation, this will convert the account to euro major currency according the preferences currency set
homebank-5.3.2/doc/use-reconcile.html0000644000175000017500000000465513573216272014440 00000000000000 Reconcile
HomeBank User manual

How to Reconcile transaction with your statement

The reconcile process has now dedicated feature into HomeBank, as it can be done quite easily use the existing features.

  • Step 1: Get your statement
  • Step 2: Open the corresponding account
  • Step 3: Change to sort the transaction list by ascending date
  • Step 4: Ensure the date range will not hide transactions
  • Step 5: Ensure there is no reconciled transaction past the statement start date
  • Step 6: Ensure the Bank balance of the account is equal to the initial amount of your statement
  • Step 7: Change the Status quick filter to [Unreconciled]
  • Step 8: Check and mark each transaction as Reconciled
  • Step 9: The Bank balance should match your statement end balance

Check and mark each transaction as Reconciled

One transaction at a time:
  • change the transaction status to [Reconciled]
  • after each, ensure that the Bank balance is still on track with your statement
  • if not, try to find what is wrong before continuing
    you may have ticked the wrong transaction, or amount is not correct

If the balance are not equals at the end ?

Here's a few tips on how to manage the decay that may occur during or at the end of the reconcile

  • change the filter to [All range] [Any type] [Any status] to help finding transaction
  • = this icon shows the transaction you have changed
  • measure the decay, it might just be a single transaction missing and try to find it

Finally, it is sometimes easier to go back and start reconcile at the beginning.

homebank-5.3.2/doc/dlg-mult.html0000664000175000017500000000266513557563456013444 00000000000000 Multiple transactions dialog
HomeBank User manual

Multiple transaction dialog

The multiple transaction dialog is used to edit multiple field of multiple transactions at the same time.

Dialog call

  • from the account window-menu: Transaction / Multiple edit
  • account window tool-bar.

Using multiple transaction column edition

  • select several transaction
  • use the menu or tool-bar 'Multiple edit'
  • tick the fields you want to mass edit
  • select/fill the right value

If you double click a column/line, the dialog will be initialized with that value.
You cannot edit hidden column of the list-view

Please refer to transaction dialog for description of fields.

homebank-5.3.2/doc/00-whatsnew.html0000644000175000017500000003626413571304004013746 00000000000000 New features
HomeBank User manual

New features in v5.3

Added a transaction type

The transaction now have a strong type: Expense/Income/Transfer
This bring more clarity, remove the Internal transfer payment mode in profit of the Transfer type. And also the Transfer payment was renamed Bank Transfer.

↑ Back to Top

Added group account

A free typing group was added so that you can reorganize 'Your account' list in the main window the way you want and independently from the historical account type or institution name.

↑ Back to Top

Statistics report shows items over time

The first part was ready to deliver into this release, this is the table view which enables to summarize items by interval of:

  • Day
  • Week
  • Month
  • Quarter
  • Half Year
  • Year
A future release will bring the stacked charts in addition to this feature.

↑ Back to Top

New features in v5.2

Export transaction as PDF (for print)

You can now export the transaction of a single account to a PDF file. This is the first part of the print support into HomeBank.

↑ Back to Top

List of all transactions

From the main window transaction menu you can now open a register with all transaction of all accounts.
Most of the action are available here, except:

  • export to qif, pdf
  • the duplicate finder
  • convert to Euro
  • auto assignment
  • the running balance is not showed

↑ Back to Top

Import of multiple file with more option

The import process was completely rewritten starting from zero, with all your wishes in mind. The goal was to enable more flexibility, like import several files at a time and to simplify the access to the option. Adding to this, I added some more duplicate/similar option and a few other refinements. See the import process for details.

↑ Back to Top

A real backup mechanism

A real backup mechanism is now available and enable to create a real backup file once a day, with a configurable occurrence.

↑ Back to Top

Duplicate transaction finder

A duplicate finder is now available from a single account register window in the tools menu. The feature just mark in place the transaction, in bold for the one to keep and strike the potential duplicate called similar.
the similarity is evaluated on amount, date (+gap) and memo.

↑ Back to Top

Default template for each account

On each account you can set a default template transaction, so that every time you create a transaction on that account, the template is used.

↑ Back to Top

New features in v5.1

Multiple currencies

You can now manage accounts in different currencies. When opening a file from a previous version of HomeBank, you will be prompted to choose a base currency.
Then you can add several currencies with the currencies dialog, update the exchange rate on-line, and assign different currencies to every account.

Take care as the currency formatting option are now in the currencies dialog.

↑ Back to Top

Payee default category and payment type

Payee now enables to set some default value for category and payment. So when you add a new transaction, choosing a payee will automatically fill the category and payment. When you edit a transaction, choosing a payee will complete one or both those two fields if they are empty. See the payee dialog.

↑ Back to Top

New feature for automatic assignments

New capabilities of the automatic assignment are available:

  • assign payment
  • overwrite is now possible
  • regular expression can be used

See the assignment dialog.

↑ Back to Top

New features in v5.0

Cleared status to enrich the transaction status

A cleared status for transaction was added, to enrich the existing status. You now also have a Status column into the transaction list to display a new set of status for transactions.

↑ Back to Top

Stack chart for budget

I finally found some time to code a new graph report dedicated to budget, please welcome the stack chart that clarify so much the budget report !

↑ Back to Top

Quick search for list

For more detail on this, please click here.

↑ Back to Top

New features in v4.6

Quick search for transaction

In the transaction window, right to the balance you will now find a quick search input to fast filter transaction based on text column.

The search apply to all columns except status, date and amount columns.

↑ Back to Top

Configure fiscal year boundaries

Starting 4.6, you can define your fiscal year start/end date.

Previously the fiscal year was aligned to the calendar year, starting on 1st january and ending on 31 december.

↑ Back to Top

Scheduled transaction date before or after weekend

Insert a scheduled transaction can be controlled to avoid insert on weekend and to automatically change the date to before or after.

↑ Back to Top

Ability to individually play scheduled transactions from the list

You now have 2 buttons below the scheduled list on the main window, one to Skip, one to Post, and this for every scheduled you want to manage manually.

If the scheduled transaction can be posted as it, it will be, otherwise if the amount or target account is not pre-filled, you will be prompted with the transaction dialog to make any changes before posting the transaction.

↑ Back to Top

New features in v4.5

Ability to change language

You can now select a different language than the one of your system !

↑ Back to Top

Where your money goes

Top 5 Spending report !

Top 5 spending category new report can be optionally displayed into the main window. The date range can be configured within the preferences, and changed main-window too.

↑ Back to Top

Category split for transactions

This is a long time wish which is now possible into HomeBank. You can split non internal transfer up to 10 categories. A new button was added on the right of the amount widget into the transaction dialog.

↑ Back to Top

New filters for account window

The account window now have a new filter / information bar.

Here is a description from left to right:

  • Account title
  • Date range filter
  • Type filter: expense, income
  • Status filter: uncategorized, unreconciled
  • Reset filter button
  • Number of items displayed with total amount
  • Number of transaction selected and the amount sum

↑ Back to Top

Scheduled append until a day of month

You can now insert transaction within a specific day in the next month.
So for example, you can add until the 28th of each month, the selected date excluded, which mean transaction that should occurs on 28 will not be inserted.

You can keep the previous behaviour to add xx days into the future from today's date.

↑ Back to Top

homebank-5.3.2/doc/dlg-spli.html0000664000175000017500000000533113557647745013427 00000000000000 Split dialog
HomeBank User manual

Split transaction dialog

The split dialog is used to edit,modify and manage the split of a transaction.
The split number is limited to 60.

Dialog call

  • transaction dialog: S button

Using split transaction dialog

split list

The split list shows the split number, Category, Memo and Amount.
 you can use drag and drop to reorder the split lines

remove buttons

edit edit the active split line
- remove a single split line
= remove all splits lines

Split line details

Category the category of the split line
Memo the memo of the split line
Amount the amount of the split line

Split line buttons

Add
Enter the different fields, the add button will be enabled when the amount is different of 0.00

Edit
Double-click the split line to edit, then you will get 2 more buttond to Apply, or Cancel your changes

Split informations

Depending on the context, the following will be displayed:

Transaction amount transaction amount as a remind
Unassigned remaining amount for the split: transaction amount - sum of splits
Sum of splits sum of every split lines
homebank-5.3.2/doc/dlg-cate.html0000644000175000017500000000563113573216640013355 00000000000000 Categories dialog
HomeBank User manual

Categories dialog

The categories dialog is used to add, edit and manage the categories of the current wallet.

Dialog call

  • main window menu: Manage / Categories.
  • main window tool bar.

Using categories dialog

Expense/Income switcher

Toggle the category list with Expense/Income categories only

Menu Button

Import Import and merge some categories from a CSV file
Export export the entire categories list into a CSV file
Delete unused delete all unused category

Please refer to CSV file format for the file description.

Categories list

display category name and usage count
the usage count:

  • transaction/split
  • payee default category
  • template/scheduled transaction
  • assignment rule
  • default car cost usage is also by default 'No category'

Buttons

Add toggle the categoryname widget visible/invisible
Edit edit the active category.
Move/Merge move or merge the current category to a new one you will select
Delete delete the selected branch or categories, i.e. if a category is selected, all subcategories will be deleted

Edit
To edit a category, double click on it.

Category name

type a new category name here and press return to add.

Subcategory name

- select the category to add subcategory to in the category list
- type a new subcategory name here and press return to add.

homebank-5.3.2/doc/dlg-acco.html0000644000175000017500000001046613573140034013341 00000000000000 Accounts dialog
HomeBank User manual

Accounts dialog

The accounts dialog is used to add, edit and manage the accounts of the current wallet.

Dialog call

  • main window menu: Manage / Accounts
  • main window tool bar.


Using accounts dialog

Account list

display the actual list of accounts in the wallet. The account at the top of the list will be the one to be displayed when opening your wallet. You can easily change the accounts order using Drag&Drop process.

= account is part of the budget

Buttons

Add add a new empty account.
Edit edit the active account.
Delete delete the active account. This is only possible if the account has no transactions.

General

Type the type of the account
Group the group name of the account
Institution the bank name where the account is registered.
Number the bank account number itself.
Start balance the initial balance amount, i.e the balance before the first transaction.
Currency the currency of the account

 If the account you change contains internal xfer, any target account will change of currency as well

This account was closed the bank account is closed.
please also note that closed account are no more considered for reports.
Notes optional notes you may want to add

Behaviour

Default template the template transaction prefill new transaction with.
Exclude from account summary the account will must not be used into the account summary list of the main window.
Exclude from the budget the account will not be used for the budget data.
Exclude from any reports the account will not be used for any report data.

Misc.

Overdraft at the balance threshold, if you have an authorized balance, this will be used in the Balance report window.
Chequebook 1 the next cheque number of first pad to be used (this is auto updated later when you add some transactions).
Chequebook 2 some of the above but for a second cheque pad (for a joined account)
homebank-5.3.2/doc/dlg-tag.html0000644000175000017500000000270113552425251013204 00000000000000 Tags dialog
HomeBank User manual

Tags dialog

The tags dialog is used to add, edit and manage the tags of the current wallet.

Dialog call

  • main window menu: Manage / Tags...

Using tags dialog

Tag list

display tag name list

Buttons

Add toggle the tag name widget to visible/invisible
Edit edit the tag
To edit a tag, you can also double click on it.
Delete delete the selected tag

Tag name

type a new tag name here and press return to add.

homebank-5.3.2/doc/win-budget.html0000644000175000017500000000503013550556336013737 00000000000000 Budget report
HomeBank User manual

Budget Report

The budget report will summarize your running budget and will display its result.

Please refer to the using the budget feature for details on how using this feature.

Window call

  • from the main window-menu: Reports / Budget
  • from the main window-tool-bar.

Using budget report

Display

For select category/subcategory
Kind specify the result should be computed for: Expense, Income, or both
Only out of budget will only show the item that are not on track

Date filter

Range fast select a date with predefined range
From / To specify date bound limit to restrict the results to

Tool bar

The tool-bar is the main control of the display. All tool-button have a tool-tip that will help you know what action will be launched when you click on the tool-button. The icon appear or not depending the context.
At the end of the toolbar, there is an export button that enable Result or detail of transaction to copy to clipboard or export into a CSV file

Total

This is the total of columns of the list-view for: Spent, Budget and Decay

Result list / Bar chart

The result list display the computed amounts according to the current selection.

homebank-5.3.2/doc/help.css0000644000175000017500000001050013560021422012424 00000000000000/* ** homebank documentation css http://webdesign.about.com/od/colorpalettes/ig/Color-Palettes/Apple-Color-Palette.-EQ5.htm #979797 #666666 #eeeeee #000000 #0088cc #cc8800 material design https://material.io/resources/color/#!/?view.left=0&view.right=0&primary.color=33691E&secondary.color=795548 https://www.rapidtables.com/convert/color/hex-to-rgb.html light dark primary #33691e #629749 #003d00 second #795548 #a98274 #4b2c20 */ /* suggested line-height:140% */ body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Helvetica Neue", Arial, sans-serif; font-size: 14px/18px; line-height:140%; color: #333; background-color: #F5F6F7; } a { color: #33691e; } a:hover { color: #629749; } h1,h2,h3,h4,h5,h6 { /*font-family: Times, 'Times New Roman', serif; font-style:italic;*/ color: #33691e; font-weight: 600; } h1,h2 { font-weight:800; } h1:first-of-type,h2:first-of-type,h3:first-of-type { margin-top: 0; } h3 {margin-bottom: 0.25em;} /*h1 { color: #f57900; margin-top:0; } h2 { color: #3465a4; } h3 { color: #484848; } h4 { color: #484848; } h5 { color: #484848; }*/ /* h2 { color: #fe9500; } h3 { color: #4686c0; } h4 { color: #3c3c3c; } h4 img { vertical-align: baseline; padding: 4px; } */ ul { /*list-style-type:square;*/ overflow: hidden; margin-left: 1em; margin-top: 0; } p { margin-left: 1.5em; } ol li { margin-top: .5em; } .padleft { margin-left: 3em; } .toc li { /*list-style:none;*/ list-style-image: url(images/arrow.png); } .step li { line-height: 20px; } .csvexample { font-family: monospace; border: 1px solid #ddd; background: #efefef; white-space: pre; margin-left: 16px; width: 50%; padding: 8px; } .argument { color: #888; font-size: 110%; } .rounded { border-radius: 6px 6px 6px 6px; } .mainpage { margin-top: 100px; } .mainpage p { margin-left: 0; padding: 0; text-align: center; } .dochead { border-bottom: 1px solid #E1E1E1; padding-bottom: 8px; color: #888; } .title { border-top: 1px solid #FFF; padding: 16px; } .top { margin: 0; padding: 0; font-size: x-small; } .row { display:flex;width:100% } .content { background-color: #fff; padding: 16px; box-shadow: 0 1px 3px rgba(0,0,0,0.3); margin: 0 1em 1.5em 0; width: 96%; } /*.content h3 { color: #795548; } */ .gfx { margin: 0 1em 1.5em 0; margin-top: 16px; /*border: 1px dashed rgba(0,0,0,0.3); border-radius: 6px;*/ /*border:1px solid red;*/ } /* navigation link */ .navig a { color: #484848; padding: 0 4px;*/ } .navig a:hover { background: #DDD; text-decoration: none; border-radius: 4px; } .navig p { margin: 1em; } .head { border-top: 1px solid #babdb6; background-image: url(images/top-gradient.png); background-repeat: repeat-x; background-position: top; height: 30px; margin-top: 4px; } .left { float: left; } .right { float: right; } .clear { clear: both; } .gtkshot { /*box-shadow: 0 1px 3px rgba(0,0,0,0.3);*/ box-shadow: 0 0 6px 1px rgb(121, 85, 72, 0.68); margin-bottom: 2em; /*padding: 2px; margin: 1em; text-align: center;*/ /*#005C9C;*/ /* background-image:url(images/top-gradient.png); background-repeat:repeat-x; background-position:top; */ } .gtkshot:first-of-type { margin-top: 0; } .content .gtkshot {margin: 1em;} .gtkgroup { margin-left: 16px; padding: 0; background: red; } .gtkgrouptitle { font-weight: 700; color: #000; } .concept p { margin-left: 16px; } .concept h4 { margin-bottom: 0; } .note { border: solid 1px #eee; background: #efefef; margin: 16px; padding: 8px; } /* table */ table { line-height: 120%; margin-bottom: 16px; } td,th { vertical-align: top; } .lexicon { width: 100%; table-layout: fixed; } .lexicon td,th { width: 20%; text-align: left; } .lexicon i { font-size:75%; color: #888;} .hotkeys { table-layout: fixed; margin-left: 16px; } .hotkeys td,th { padding: 4px; border: 1px solid #E1E1E1; vertical-align: middle; } .t2col td { width: 50%; } .widgetinfo { margin-left: 1.5em; } .widgetinfo th,.widgetinfo td { border: 1px solid #E1E1E1; text-align: left; vertical-align: top; padding: 2px 4px; } .widgetinfo th { min-width: 80px; width: 20%; background-color: #DEDEDE; font-weight: 400; } .widgetinfo td { background-color: #fff; background-color: #EFEFEF; } .warning { color: #c80; } .i { font-style: italic; } .u { text-decoration: underline; }homebank-5.3.2/doc/win-statistics.html0000644000175000017500000001146513571304102014651 00000000000000 Statistics report
HomeBank User manual

Statistics report

The statistics report is the main analysis part of HomeBank. Its will allow to focus on your financial flow in the details instantly and dynamically by filtering on every axis and displaying the results for a period.

The main view axis is on Category, Subcategory, Payee, Tag, Month, Year, with a possibility to focus on Expense, Income, or Balance; then a complete filter is also possible on transactions, see the filter dialog for details.

By default the internal transfer are not included into the computing of this report. To enable this you must edit the filter dialog.

Results are displayed in 3 ways: list-view, column chart, donut chart.
At last, you can display every transactions detail of the selected view (Category, Payee, Month, Year).
A tool-tip will appear on every column/donut chart after a little delay,or by pressing the left mouse-button.

Window call

  • from the main window-menu: Reports / Statistics
  • from the main window-tool-bar.

Using statistics report

Display

Mode Total: will display the total expense/income/balance for the period
Time: will display the total per interval for the period
View by filter the result to:
  • Expense
  • Income
  • Balance
Items with no results, or equal to 0 will not be displayed
Type specify the item the result should be computed for:
  • Category
  • Subcategory
  • Payee
  • Tag
  • Month
  • Half Year
  • Year
Interval specify the interval when display mode by Time:
  • Day
  • Week
  • Month
  • Quarter
  • Half Year
  • Year
By amount sort the result by amount instead of the default order alphabetical for Category/Payee or chronological for Month/Year
Zoom X select the X zoom factor in real time

Date filter

Range fast select a date with predefined range
From / To specify date bound limit to restrict the results to

Tool-bar

The tool-bar is the main control of the display. All tool-button have a tool-tip that will help you know what action will be launched when you click on the tool-button. The icon appear or not depending the context.
At the end of the toolbar, there is an export button that enable Result or detail of transaction to copy to clipboard or export into a CSV file

Total

This is the total of columns of the list-view for: Expense, Income, Balance.

Result list / Column chart / Donut chart

The result list display the computed amounts according to the current selection and filter.

Transaction detail list

The transaction detail list will show every transaction of the selected item in the above result list.
By default it is not visible. Use the tool-bar 'Toggle detail' button for changing this.
You can also default keep it visible in the Preference dialog

homebank-5.3.2/doc/use-budget.html0000644000175000017500000000571613560017662013744 00000000000000 Usage - Budget
HomeBank User manual

Using the Budget feature

The Budget feature allows you to monitor your spending by category and subcategory compared to a budget preset.

Step 1: Select the accounts to exclude from the budget

By default, all accounts are included into the budget.

Open the Manage Accounts dialog from either the main window-menu: Manage / Accounts, or from the Manage Accounts icon on the tool-bar.

To exclude an account in the budget tick the 'exclude from the budget' option for each account on that you would not like to include in the budget.

See Manage Accounts for more details.

Step 2: Set a budget amount against each category

Open the budget dialog from either the main window-menu: Manage / Budget, or from the Budget icon on the tool-bar

Enter a budget amount against some category that you want to include in the budget. If the amount for a category is 0.00 it will not be showed in the budget until you tick the 'Force monitoring this category' check-box at the bottom of the budget dialog.

For example, select the category 'Cash Withdrawal' and enter -50.00 in the 'Budget for each month' text box to allow spending up to 50.00 in the category 'Cash Withdrawal' each month.

See budget dialog for more details.

Step 3: View the budget report

Open the budget report window from either the main-window-menu: Reports / Budget, or from the budget report icon on the tool-bar.

The Result column shows the difference between the amount spent and the amount budgeted.

See the budget report for more details.

homebank-5.3.2/doc/frm-navig.html0000644000175000017500000000727013573212071013556 00000000000000 HomeBank - Content

homebank-5.3.2/doc/00-intro.html0000644000175000017500000000456513000462002013226 00000000000000 Introduction
HomeBank User manual

Introduction

«HomeBank» is free software. It's an easy personal finance software that will help you managing your personal accounting. It is designed to easy to use and be able to analyze your personal finances in detail using powerful filtering tools and graphs.

How HomeBank can help me doing my accounts ?

The first reason is that I want HomeBank to be simple and intuitive:
=> You do not need to be an expert accountant to know how to use it !

Also here is some of his strengths:

  • Easy import of OFX, QFX, QIF files with duplicate detection
  • Easy management of transactions: bookmark, inheritance, filter, multiple edition, scheduling, reminder
  • Easy management of payees and categories: automatic assignment, direct add from the register, auto-completion
  • Unique fields for transactions: visual payment/status, payment info, tag
  • Import and export of many parts of the data's in a specific CSV file format

How HomeBank can analyze the use of my money ?

HomeBank can anticipate future costs and also helps to know where your money comes from, but also more specifically where it goes !

  • Anticipate future costs: scheduled transaction inserted before term, future balance
  • Dynamic, easy and powerful reports tools with graphical charts
  • Monitoring the balance in time and alert on bank overdrafts
  • Simple budget and vehicle cost analysis

Ask for feature and suggest your ideas

Finally, HomeBank is not only open source, it will also be open to suggestions and feature requests from users.
That's the reason why HomeBank is what it is today.

So... Do not hesitate to ask and suggest !

homebank-5.3.2/doc/dlg-paye.html0000644000175000017500000000554113573216612013376 00000000000000 Payees dialog
HomeBank User manual

Payees dialog

The payees dialog is used to add, edit and manage the payees of the current wallet.

For each payee, you can define a default payment mode and category, later, into the transaction/scheduled/template dialog, if you choose a payee, the payment mode will be filled (if set to (none)), as well as the category (if it is empty).

Dialog call

  • main window menu: Manage / Payees...
  • main window tool bar.

Using payees dialog

Search & Menu Button

Import Import and merge some payees from a CSV file
Export export the entire payee list into a CSV file
Delete unused delete all unused payee

Please refer to CSV file format for the file description.

Quick search

The quick search area with input and close

Payee list

display payee name, usage count and default category
the usage count:

  • transaction
  • template/scheduled transaction
  • assignment rule

Buttons

Add toggle the payee name widget to visible/invisible
Edit edit the active payee.
Move/Merge move or merge the current payee to a new one you will select
Delete delete the selected payee

Payee name

type a new payee name here and press return to add.

Edit
To edit a payee, double click on it.
You can then change the default payment/category as well.

homebank-5.3.2/doc/dlg-pref.html0000644000175000017500000003342413557562264013406 00000000000000 Preferences dialog
HomeBank User manual

Preferences dialog

The preferences dialog can be accessed from the main window menu, as Edit-Preferences. It lets you customize many aspects of the way HomeBank works. The following sections detail the settings that you can customize, and what they affect.

General

Program start

Show splash screen display a splash screen when HomeBank start
Load last opened file load the last opened file when HomeBank start
Post pending scheduled transactions append scheduled transaction to accounts when HomeBank start
Update currencies on-line trigger a on-line update for currencies exchange rate start

Main window reports

Range default range initial value for the main window reports

↑ Back to Top

Interface

General

Tool-bar tool-bar style to be used
Grid line specify the list grid line option:
  • None
  • Horizontal
  • Vertical
  • Both

Amount colors

Uses custom colors specify if amounts should be displayed with colors below
Preset contains some Tango color preset to fast set the amount colors
Expense color used for expense
Income color used for incomes
Warning color used for amount in warning (overdrawn)

↑ Back to Top

Locale

User interface

Language define what language to use for the interface
Date display A date sample is displayed
Customize the format used to display the date
 the input format rely on your system option, you can see this FAQ.

Fiscal year

Start on define on which day and month the fiscal year start

Measurement units

Use miles for metre use the mile labels and abbreviation for the vehicle cost
Use gallon for fuel use the gallon labels and abbreviation for the vehicle cost

↑ Back to Top

Transactions

Transaction window

Range Set the default range to be used for account window
Show future [xx] days ahead set the number of days to force show future transaction
Please note the addition is only effective when the range is:
THISMONTH, THISQUARTER, THISYEAR
LAST30DAYS, LAST60DAYS, LAST90DAYS, LAST12MONTHS
Hide reconciled set the filter for account window not to default show reconciled transactions
Always show remind set the remind transaction to always be display (ignore filters)
Include remind into balance set the remind transaction amount to be computed into the balance, ignored otherwise
Show confirmation text Will show 5s added confirmation text into the transaction dialog

Multiple add

Keep the last date Set the date to be kept when you add several transaction successively

Memo autocomplete

Active to collect and propose memo for autocomplete or not
[xxx] rolling days to define how many days into the past to grab memo for autocomplete, if for example 30 days, you will only see the last 30 days autocomplete memo

↑ Back to Top

Import/Export

General options

Date order set the default date order for file import
  • d-m-y
  • m-d-y
  • y-m-d
Sentence case memo/payee will change the case for memo and payee (lowercase starting with a capital letter)

OFX/QFX options

OFX Name define what to do for name field during import:
  • ignore
  • memo
  • payee
OFX Memo define what to do for memo field during import:
  • ignore
  • append to Info
  • append to Memo
  • append to Payee

QIF options

Import memos to import the M field from files
Swap memos with payees to swap M and P field from files

CSV options

Separator change the separator for transaction import between:
Tab, Comma, Semicolon, Space

↑ Back to Top

Report

Initial filter

Range Set the default range to be used for account window

Charts options

Color scheme Set the default color scheme to be applied for charts
  • HomeBank
  • Money
  • SAP
  • Quicken
  • Office 2010
  • Office 2013
  • Analytics
  • YNAB

Statistics options

Show by amount set the by amount toggle on the statistics window to default be checked
Show rate column set the rate column to be displayed by default
Show details set the detail toggle on the statistics window to default be checked

Budget options

Show details set the detail toggle on the budget window to default be checked

↑ Back to Top

Backup

Backup

Enable automatic backups to activate backup of your xhb files
Number of backups to keep [xx] the number of backups to keep
Frequency is once a day
which means a backup file will be created the first time you save your file during a day, so if you save it 3 times the same day, only the first save will be backup, so that you can revert to the day before with ease.

↑ Back to Top

Folders

HomeBank files

Default default folder to load/save HomeBank files
Backups default folder to load/save HomeBank backup files

Exchange files

Import default folder to load files to import
Export default folder to save files to export

↑ Back to Top

Euro minor

General

Enable enable Euro minor currency support in HomeBank.
see minor currency for more details.

Currency

A remind of the country is displayed

Fill from preselect of parameters for this tab

Exchange rate

1 XXX = change rate (value of 1 Euro in your old national currency)

Format

A sample is displayed and can be customized

Symbol Symbol that prefix the amount
Is prefix define is the symbol is a prefix symbol
Decimal char Character to be used as decimal separator
Frac digits Number of digits after decimal separator
Grouping char Character to be used as grouping separator

↑ Back to Top

homebank-5.3.2/doc/use-vehiclecost.html0000644000175000017500000000610513000460267014763 00000000000000 Vehicle cost
HomeBank User manual

Using the Vehicle cost feature

An additional capability of HomeBank is to follow the cost of each of your vehicles: fuel consumption and other costs. It will for example display some cost globally and for 100 km/miles, and some other useful informations.

Step 1: Create the vehicles categories

Create some categories for each of your vehicle. You can use categories or subcategories as well. Optionally you can set the default vehicle for the vehicle-cost report window from the wallet dialog.

For example, create an 'Audi 80' category:

Step 2: Fill some transaction with vehicle-cost data's

Modify or add some transaction with necessary data's for the vehicle cost to work:

  • assign the category 'Audi 80' to every transaction for this vehicle, this includes refuel, maintenance, repair, insurance, or any others costs.
  • add the specific vehicle cost data's into each refuel memo field transaction, as follow. The memo field can also contains other texts as well.

d=xxxxxx the odometer at refuel time
ex.: d=92458
v=xx.xx the fuel volume for a full refuel
ex.: v=45.23
v~xx.xx the fuel volume for a partial refuel
ex.: v~15.41

Step 3: View the results into the vehicle cost report

Open the vehicle cost report, select 'Audi 80' Vehicle and view the results.

homebank-5.3.2/doc/00-lexicon.html0000644000175000017500000004177713573207637013574 00000000000000 Lexicon
HomeBank User manual

Lexicon

This section is intended to give you a brief introduction to the basic concepts and terminology you will need to understand in order to make sense to the rest of the documentation.

A-B C-D E-O P-S T-Z
Accounts
Assignment
bank transfer {payment}
Balance
Budget
Category
cash {payment}
check {payment}
credit card {payment}
cleared {status}
debit card {payment}
deposit {payment}
direct debit {payment}
electronic payment {payment}
expense {type}
fi fee {payment}
financial institution
income {type}
Payee
{payment}
reconciled {status}
remind {status}
{status}
Scheduled
Split
standing order {payment}
Tag
Template
Transaction
transfer (internal)
{type}
void {status}
Wallet

Wallet

Wallet is the 1st level of data's. It represent a HomeBank file (.xhb)
Managing the few wallet properties is done in the Properties dialog.

↑ Back to Top

Accounts

Accounts is the 2nd level of the data's. An account is a division of the wallet, that will contains your financial transactions.
Managing the accounts is done in the Accounts dialog.

↑ Back to Top

Transaction

Transaction is the last level of data's. A transaction is a financial transaction, attached to its own account.

In addition to the usual fields you can find in most accounting application, HomeBank offers the following:

  • tags: like in the web, you can assign some tags to a transaction
  • payment: small image showing the payment mode
  • info: miscellaneous data's for payment, like date, cheque number and so on
  • remind state: to keep track of debt
  • vehicle-cost data's: memo field can contain data's for your vehicle refuels

Managing transactions is done in the main window or the account window.

↑ Back to Top

Type of transaction

Expense

An expense is an amount with a negative sign, also called a debit.

Income

An income is an amount with a positive sign, also called a credit.

Transfer

A transfer (more precisely internal transfer) is a money movement between 2 of your accounts, in one or several Financial institution, as so, like you emit and receive the money there is no payee.

This is a special transfer for HomeBank, as it will link the source and destination transaction for further changes data to be synced. It means that Date, Amount (opposite sign), Memo, Payee and Category are synced. The status is not because the reconciliation might be different in time within accounts.

When you change the type of a transaction to this one, HomeBank may propose some potential target transaction for you to select within this dialog.

 transfer have some usage limitation:

  • currency of source/destination account must be the same
  • split by category is not allowed
  • import with CSV is not possible
  • use with multiple selection edition is not possible

↑ Back to Top

Status of transaction

Cleared

a transaction is cleared when the bank has recorded it,
those transaction are not taken into account in the bank balance.

Reconciled

a transaction is checked when you have controlled it with your bank statement,
those transaction are part of the bank balance.

Remind

Remind is a special status for the transaction.
The purpose here is to keep the transaction into the list for later uses to remind you about a bill to pay, a bill to be paid for, or money you lent or wait refund on.
Remind transaction are excluded from any computing: balance, reports, etc.

The remind transaction usage is described here.

Void

Void is a special status to set transaction to be ignored everywhere

↑ Back to Top

Financial institution

A financial institution can be a bank or a credit card company or any other institution.

<no institution> will be displayed when the item has no institution set.

↑ Back to Top

Payment mode

(none)

When payment do not applied or is unknown.

credit card

A credit card is a payment card issued to users (cardholders) as a method of payment. It allows the card-holder to pay for goods and services based on the holder's promise to pay for them. The issuer of the card (usually a bank) creates a revolving account and grants a line of credit to the card-holder, from which the card-holder can borrow money for payment to a merchant or as a cash advance.

check

A check (or cheque in English) is a document that orders a bank to pay a specific amount of money from a person's account to the person in whose name the cheque has been issued.

cash

Cash refers to money in the physical form of currency, such as banknotes and coins.

bank transfer

A bank transfer is a method of electronic funds transfer from one person or entity to another. It can be made from one bank account from or to a bank account you don't own.

debit card

A debit card (also known as a bank card or check card) is a plastic payment card that provides the card-holder electronic access to their bank account(s) at a financial institution. Some cards may bear a stored value with which a payment is made, while most relay a message to the card-holder's bank to withdraw funds from a payer's designated bank account.

standing order

A standing order (or a standing instruction) is an instruction a bank account holder ("the payer") gives to his or her bank to pay a set amount at regular intervals to another's ("the payee's") account. The instruction is sometimes known as a banker's order.

electronic payment

Electronic payment is a feature of on-line, mobile and telephone banking, similar in its effect to a giro, allowing a customer of a financial institution to transfer money from their transaction or credit card account to a creditor or vendor such as a public utility, department store or an individual to be credited against a specific account.

deposit

A deposit is money placed with some other entity. It is a credit for the party who placed it, and it may be taken back (withdrawn), transferred to some other party, or used for a purchase. It is often used with respect to banks, where deposits are usually their main source of funding.

financial institution fee

Bank fees are assessed to customers for various services and as penalties. There are unauthorized overdraft fees, ATM usage fees, and fees for having an account balance under a required amount.

direct debit

A direct debit or direct withdrawal is a financial transaction in which one person withdraws funds from another person's bank account. Formally, the person who directly draws the funds ("the payee") instructs his or her bank to collect (i.e., debit) an amount directly from another's ("the payer's") bank account designated by the payer and pay those funds into a bank account designated by the payee.

↑ Back to Top

Split

Split is the ability to cut out the amount of a transaction to multiple categories.

Managing split is done in the Split dialog from the Transaction dialog.

↑ Back to Top

Scheduled

Scheduled is a transaction you can configure to be automatically inserted.
Typical such transactions are the one's occurring very often, for example: Wage, Rent, Phone, Taxes, etc...

Managing scheduled is done in the Scheduled/Template dialog.
Please have a look at Using the Scheduled transaction feature for more details.

↑ Back to Top

Template

Template will enable to fast add manually some transactions without too much seizure, most of the fields already populated with correct data

Managing templates is done in the Scheduled/Template dialog.

Templates can also be created from existing transactions from the Account window.
Every template is available as a bookmark for fill purpose in the Transaction dialog.

↑ Back to Top

Payee

A payee can optionally be set for each transaction to later perform sorting, filtering and analysis. The payee identify people you give money to, as like as those you receive money from.
Managing payees is done on the Payee dialog. Payees are global to the wallet and are shared between all the accounts.

<no payee> will be displayed when the item has no payee set.

↑ Back to Top

Category

A category can optionally set for each transaction to later perform sorting, filtering and analysis. The categories are another classification model of your financial transactions.
Managing categories is done on the Categories dialog. Categories are global to the wallet and are shared between all the accounts.

Please also note well that categories and subcategories are the same from a HomeBank point of view, the subcategories are only to create a hierarchy in category tree. This is especially important for the budget dialog

<no category> will be displayed when the item has no category set.

↑ Back to Top

Tag

Some tags can optionally be set for each transaction to later perform sorting, and analysis. The tags are most common to those yo can find in the web, so it is words separated by space. Which mean for composed word you must use a dash to separate the words within the tags like my-card.

↑ Back to Top

Assignment

Assignments are some rule to fast set payee and/or category to the transactions

Please refer to the Using the Automatic assignment feature for details on how using this feature.

↑ Back to Top

Budget

The budget is aimed towards reporting comparing actual values to predefined budget values allocated to each expense/income category. The budget report shows the difference (decay) between the budget and the actual expense/income for each categories. You can select which accounts are included in the budget report.

Using the Budget feature provides a quick overview to get you started. For more in-depth details see the Budget dialog and the Budget report.

The budget is global to the wallet, so if you need to manage a different budget each year, you can use CSV import/export capabilities.

↑ Back to Top

Balances

A key point of your accounts are balances. HomeBank offers 3 balances covering the entire life cycle of your accounts.

Bank : balance of all reconciled transaction, so this should be the same balance as the last reconciled statement you checked

Today : balance of transactions until today : bank balance + amount of all transaction since then, until today

Future : balance of all the transaction : include all transaction currently into the account

N.B.: remind transaction are never taken into consideration into balances

↑ Back to Top

homebank-5.3.2/doc/images/0000775000175000017500000000000013620077510012323 500000000000000homebank-5.3.2/doc/images/use-vehiclecost1.png0000644000175000017500000000725513604616712016150 00000000000000PNG  IHDRmWPLTE5:67Q;䷥:砘x档갰Vƻƶxz|B蝑Ⱥɩ~`踧ʩE䈇Y怕²J匝{鑪ƛĝͿUZ\_搏^p𾰟ƗɻɿˬϽݽKOPpimzOh挕{}ѩjaEwi쬠|뤨ͨӭҹn驚ɶբȴliw{ד἞=T᱄cuTJ\yL^ kIDATx\SǯBR@ ɋi$ 6 lYV"A>wuw[}}a͍I~dܓ?'盳LP(A&5 d ͙4dŊfAa_Is &:HelCE?箎kT::(-qo`DԤA1_xN"(W5GT 8@ԐDzGE=JA e6 @&1 "} %-VV K60Sܭohv 2Y\+ D 3Ƽ]b@F][X$aXY,P.IuN3>qv9;pǂ`|U w)a֙xT0]?%Dhj] (v[v`+Sa;0)|Vh 0=(=$va/1 B'v %er*dn.J#ҒsciiQrI݂bxa81yR%b@&'iZBbe%Gr珂h +d9 Ie?uJIմ5e$D]hȢgҢN%b#OĶ%&ǂ("40LM|"x]J&e0蹺ҡU)*zlg@KSK|`g`1C)()),@y6d&2dj,]K11 "}z2#d"WJiRtI4Q8)A TAh9DGf:}F*RD]D1RqJRWIjsQHdb%jued2UOĵP-DbD棆; BWl 'FQC! ǀ"UmI4K 2YAȸMgB: d:gj !0vvh4}}&vdm{Ӕ:Pr_es_+m |N4`= "@lGpvK㲨}GgH@ڗdGs%DL弯n$?rj5zj2Mqf⿎ovaF{Q2 -MnMk,*ψ}6fǷnYi0H>b33Y]^}!x!pžO5rYqݖ{-oG4 ۾ | +vKO_xjosnf3\Njf-ǯ2VyA0%`tRZ7v[s-V XB"y Yͥ Yia.v@IhyU4aJ߲F kW]FŒ7Wޢ(AD}} ƀoDj@ B~<A 3 |Nɳ0ܓ"\J bbAؓ2P GtTAA^1A Ͻ o~j!-H{LOϗ=iԔB!=_r>؄A| ϥ YfqyAج= F*%N 9r9zBL&ҙe ܘ9 rl;XNs:hAxtnޣ1) <nZg}=3Ђ5SyXxZ{m̼ 1>흛;{Ӳ֙iysP|Ac]Yy?o4PC8m䧙{ZjYgmZ>EOGyD9+A&H э$Q+B ;VJ )3rtOkxqE48&Ks8 Cf q#\aA(hWje܈e]ot 5;F[-?1ɻ`<嵿T ?0ׄ۱.C [w!/Ckr]w^ԏу|K2%nMz3h~9M(r²Ͳ%uGWDޟoAAcSw8v#{ݍ|/S{+~S/J8xzKsG~AOG[ W<:YB}zǺНv-Ǜ>D\[I7k2| NL EI[׭jk.];8 nϡ(, wK츲3dwվ)ʯA𫧔^#jW`aC=oDmUkȗ`ٶyPz+ь2}K#ğ ۴8 hZh'ZYV?=Dퟨ\S5T߭xGO޹4j~O&İ x!#3;s[ hŀ$z` If)A J%D ?n:*IENDB`homebank-5.3.2/doc/images/dlg-prefs9.png0000644000175000017500000002611113604616712014731 00000000000000PNG  IHDRmMs&PLTE57MA۲Ȝ;5ԉ>Ķʭ񿮛PR洵ƴ{͜損Z[gvwyŚMߋη[s\N~b{Ʋػȥ0xМO/o@靋r蠪˶V}pt_X˺Pb湦Mπ~?ڳNz\k޼llt{νcuѦJùu}iw+ԳTeq}غLkuѾۤũG寄ͰùNJQJ:k.h7tuwq067ۛnhϫFAp`R;ݱUP応xӸԟ״VEmvגAʺrX˩ )IDATx\Sp"Dd Hbb"!!# *PK= 2*l* 8xVݾ{n*,T8?%ܛ =))GZA.Zi"x!/J6dz[EmEx#;μ9y6 gL[ cdd"b`ԣjl2.8!T2jO-6iXPu8u8M " |m]HNZpM㆐ol02f㷷|fLӍ ܷ vo|6k͓F!d|툵BLʘIkoڨcb^aLLomgk@1FDM>(LÞ쏭AnIh?B-bxi[mSa]U˺wU;u&DkeT1f='Ǡ~ ]Gvº0\*Dz箳;lG-6tcihؐ 1Y [}kd!YQgvCbC:g›RY]_ڨzѶv.IۘVyg[as;UڄnW05oO*_ySZf?`w'?a !08JZ|dGicQ0 K6C;NΖ혯5?{x$Gݼ\22K@dHvAlB~Cnimk鳛^O?, 2;wލ@>g; Jw$/GD5߿gU؄ "/wNbg=b ˴u(iA^k{>(ez{eγwn%+>nb; i o[\Ӽo-8O߼?ltw^4H5660WttL!CUDta?[<"S}7?;d3lQ)GKNaڧB7O|Өع@ɶL;7}\tr2=G5W0I!@I7MΆ~:682LMxqT`ڣe{;Ǐ4?}=oܐ*JMkrFݏҸggk1`j M =Y6ȐE9BC I @F_:x\{t%#R3jm܏7J}] =~^MqΊ5:vUxّ^ulz.ƑL3WnTx^rd(ƫ',1@.NUDQeJ@m i[q#%3P[BX~d1&dfa^Ovsևڒ3#2?wt#XQڒӦTu$$sC主Cm%فk t]%p!dm 2h%v{`B!vm h6u7MK3sX}3k"x b 5hi>- #Z_Zink&*/xJھ?դ56yzXuۯ󫊯uM6(ف@&T$EOE[AJzO1++:J|XÝ@90zHmrfHNw?եNH`;Ol86t?fmSsJiqqK)>s[;Ig#ɵCR3c#<ٹ͵I'bbz+&]o7̲KB/u2W\wzБ:׵@ȟ4+"PoLJx`g]76A!-9QsPt< *9$:vGg9G&JjOhJh#+ksu1`'7`%r5dVObN;BW&;0-[WT4T12|k}|,ߞ9m=P{8S6fD!>)Imt=Ʌ(B9fO\jK ܑ.^Q c,T; o3(EnsHeTz=96!hǺOI bȹM`GU5U#v ^ Zx?bA^;LLC j|qd]5C{]͍qZF72ckxvAq6Ny[ج:"mrZtr $OusL6<Ŭ -,$@qo2+QylS(1v 9m2*|#Irk{] y޴V_Iي¹IkSBi8n`D3e$FFjKP& 4\P[Bƣ.^uV5>,ےۨz[b:w=kOoftuIt]Ԗ6 X"֮+]Fh$❠ڸ!m ۘI݀k:8©1>@ە&}tp.֛-"9j1)^ensR[sHJ\.+|iDoL"e`F]罌gc|)_E\y &HbdHϝҌhr`o^Smai )]\5 =KsԢ3&WHLqbֿ>Ͼ*pg>/g7La iL^75<ʣ'N *6/ٻ2 «507tgڬ3j65_(#2'-ks`7Q$}WgeU:ă*׋dЂdr;^\y>Hbj JN đS R cVm0$K]Sjjjer0d'eW_0S7!Hm<~Z&Slmt$Ϛm7PND\E!2 ko)hKm_4ui5S/Dyіř^I/ {_|5qcܴ1xR]9Ү^.h/Ѫ&Ԗ<Nba{16b&Q|-e~j`(۩@[$#YhO,f1l-<[)K4v&ZTDk#O)A93;*0Rzn80@Cq%𙄓&1^J /pVTfPS'e?Vj @~qj R?L{v}Mewz~cRدfn?T0_&+:£_~Rfc2*5ǂY`~Em$?eK% 8̮G8SjEsoGRV͹nnnjTPRp.h{kMc+S;e*/F)0 4vvb*VlQ4#lm= yeq'm#p?~%Jxso܍x嵵t8wc?~ |_KI+WyܕJo֢ SXF|(?0__6T*2_Fz{FK;\mϗ; câ]wG瓈ח_GvVW^K$͔U .ixĵXU@Ihc] StuT.ӈM}SXd*I Pm-Am}}gA:8QR.,fuPԖ6~#\QF86-)m|/= %X4< ͦ?{`}-m>(0ȁلMGZ}P[<$12ٺl)9[ᵈu**]lrOrO0.υsm 岢.ԯcLm,pw&]}96꽻]1uYIWՇ׃‰N\h5u)ۡ,Wsqp)NnOvw>f喫'S#[[`#)91c"71KNTwLNKE]!'&_(ONDL X𝍝LSS#;-? ĝڥw/9re)zO:gSAAEǘ=W[;I Xul99˵1V(*.hP$V@0F^5Kd,FMlKkA)]9# uo=sbR;Ӱ6Y<˵l7Hf6$,U,-\1a.Ijgu^ GʀvxC+v6! h_*JG$haS1 ޕMS~e'{ϴ"&_M+z$gʩA??pA@ِv)޼ov*Ew_h\3CEa'O -Ch9 x.#G),;V3B`35 ϦhDd $M4M,ROi܅ݦv|DbL`To3=<+uXd~^ 5z^O*s<8^Q'IANrw+T ?ԜhS8%߁66ـ&,EaWĢvXs KlK+{WW>"X2tI0.o:kusZF]@\s6z{X{%kMRZmP r35=8Qcԛl̤t_DYsÚLSE5ߖz{QY~rCn>jx=mmEm1Dsc}mE=x޳ٳlޫiιf4 e^YU-q>ɰk"柽jKV{O5^ۺjKR۬=f&f!G;à$l~ jKN[uOΰ=T3xQe&P{![\4z\Ɨwߝ|NUy&::uT/"/\1:o33Ojsw'?lT0d]|FeeF?\myG眥΋S6;w?x ume{ ^ӹ[ퟶmw`M2e͟o~¢ ;E?Zg-xSpÍ&[N9ԞZMN umm%wN#[N|ڻ\ݶ=ŚdCHUaD0pɒF_hU xu;&Ww_ >R6:Sݘ~p,J /M#/a4wC;OǙcV=޹UGnsh^tzNRi)#e̎H>|U2xnz*?W:VT\9^;w{ t W]qi_}pIQ`OԢA>9{aUa߼x}j|2/ůzPx(͇Tm>sW[GGlttgj|$(*ZX\զ,orpyD_ǐpD,{?w 6ԆPjCm=ǴՐw G*Q kR(^MӈHR`& N0 S;G]nt9$UZVQJ⹹N{3r[JOj-jOl'_FN5PEʔҜ|%!9 ~ԽN<;%} $U@JJR`J9Wh_Jϫ=Ήe}Ia% ڍD>Ԟf-:d Lo=s hKɨ Zل28艹xAW ҠhGGJ-{/t2C2<#?V(;#+(S* kW-my<'ilG]vH kpFŵ2~m_9q 5i px8ޗ7tW@ `%ػ1pؗPjCm ,ҖiE7LҤ}ntP[ <{#xP[<_] %Jъ 5-6n0xw)(\_MfjW>)5`$ު/SL*/XWL= RiPh)gڱ{#x'N1 rkhbnJ8~5mSMpp5l)5jkyq@P}b jFU j)GYt\,&7:6&"[8B2P4jJe5=QFC^IMkD|@ڰ/ 6ԆPjCm 6Ԇ0PjCm 6ԆPjCm 6Ԇ0PjCm 6ԆPjCm 6Ԇ0PjCm 6ԆPjCm 6ԆPjCm 6ԆPjCm 6ԆPjCm 6Ԟx _# Qa````````$zjѯgǷ?28ͩ':v 2ETVChk( QVCf6TZedfvGYPfFЦv "hr3,іzi(7g‘&u^Zc+7юiٌ #xЖُPq_m?b/xTgC6rGDz^0z?2jgȾ8d5wk٢=Y DgtfxY`Q쎳C[~?<6; m mG[CNnw kiO-zZz23li-jprqVLKO`p0;? IENDB`homebank-5.3.2/doc/images/dlg-assign1.png0000644000175000017500000002775213604616712015102 00000000000000PNG  IHDRl4?PLTE5yUH=5ӡb♖퐛8ofI槧쟍ͽķ󙘤˶ᢡѿX̔񳣗ړihj@獓S切sоӓc鶚ոD㣙ָԃƴ/57{ZN繨ťοǸĹeӪϰg𹠋_X[}{}{|Ux6yͅj[lj϶x{y뇚w؝ŧM~eIPWjHҒ{jh朩輝}Tc~Q퉳ȭɘOKJvsfrRثӪ⬄fT,IDATx@SǃfAR THm f{oDRYDq '(-U:j[?&쨀$o \`0&Y;, 4Q/QAaL4kzeҞ`!mĖ׀ 11)$oM6@Lx%6 d"c)>}A_T9kL7qE#a0Xȗ+M*I [Jk#A%pWg`W l6 ʼ{ +@PdZbb +*IQ|7myYS;DaI$':}ʴG: uH`-!"+i WKLm:N4}vm+7K 'Nf>'S8q/gw~4Cx/? ~*Z7=_ξQi8_Q[~Vh!l8- :_OqLk?~~q񽲇o3i϶ ma8i9$6ĄvD7'45[Eu].=]1>Tx;ız"Lfn BnqOgûY<;*;Gu$~/gSmV޾⤬}{M;­i~τǪz|.#IlW%W^Ny&b.5 >IaE;1'vN^lG0n ;yC| Z6fvG^}?u;` v5 mH2w 1lcAL zW\3G?|@{sWw^jyd6I/:0 |3nDN{7 `%2F{wC`\j.^s-߼6p\gߏ֭{t+2 7ZpŁ+[k׭8n1 K^]ʯ.[σU>ճnpI|ipdoe{'<Q|,``ojKzJ$jݶ^nyʅ\櫕Auk°Mf8{_nͿ[|qlxט\ }4K^P0QTǝmHhf }È3YttYʪK7g~v@6R4nN$ȶ8ae̅-+ӻ7*ɛw.~{ ,9^hnn'/3G`in75έF`{v˹x I^'O1dim*xѻ|kMEWa:P"j~{R&mkXPі~thkPn586^T`kF%s}Imͫ-av[` o>oA2;y߀γ-N[U+y;CͳA«ܼNV$=DWj3ۂbb$x1rV-&>Liom7=E&Sl_Qs8+7*9qxv[a/PNB5-&1_hini>p?]h>Rcz28f9|6bh @B Kdn [.\\=a$ 4H̍{=oA4v#[iG"/<6iZ0'+lŢ}" vBEysa\kҙF7k߳QWlcof_r+FݗaY-ʱ:fЫ^]?z5TUkSG' /_wku> .+ؠ 6f0N M]T3ɰ54޻B&;p :؆CAXhP=-~)jSk/*3-EmxW{ 4A$ʸ-!xlI=`BjA < P}XcZVc9`;C{a;cP["rW#=`*׏N'~ĦZ#uN{h'=_M$BBH җ6ij8a Tp~,vl]7 \GtaRUC [b[ppξ> Ua &Qث3GI8j A#evGQbB.d*Ph[FQ3U L;GB {Tଽ\G@"+Фq(QbdW`Έw2dh r8`tF abAVO̟5QjʃOH$"=oM?kiyu_dÆTS27FdY +^j7,ZZzx%@q>u/ 4V5"ԪuU\tDH[~] XqE\BFIӦʕ|r`XeHy6vA*;>U[Rk`R͕> ":lRb=Ul K;y0^>Y o̝{ˠ WE-ҸWMRFEхGl"ovfGaWȳs4,Ԙ@8oν}9ǽ>Ɨer \h28Zo!{zZQ";Ù[?+s9wKЫISJ¾ejt ȫ,\`0C4OL@aI2۬fYMr ]s朿aSjps\j biLMeY)"^N=Iif+1lz5vVf! =[\nԐUF5>ho=$bm-;:P[KlFD٣hW+Ja](l6 FaQ(l6 FaQ(l# #C( |ul]I1kvGa gY3$/|)-c~On][ğxO?íYY)lϢvuO-{=q/\j>zd]Iw4g/ ;ǿg07vW_8a8*Nj6lOju-A WMK]y`b &om1k\qܵ3< EVU^ōE]^,N>Gh0!- U ٹ{Z[ l\] x3x]vEXsT3m *A`+~ :I~~lg|Ss sEC˓ֶ?lYqԳ.iV@{$K.bgdnνvj\>.}pR^4aq^<)F0AXyUgms.<tWBSw+Fk$?9Ď`$ |2XaI+mj{ΡoE+i,&4% cVߧK$[tWeɭbB`cw$t%&l톣QA-uKֵލ^GQRU!ί 6? v.,P}5'Pᆇ!>0%z9\Z'$ll8UMv>vy'կP4k#Z HŨг1*:(W#NTYpLvT>Q;ŽT ,Q,8:(ǝ]jx%enOl(+1Y͡rYeL2\3g$ZGdMճ"̌lJbG" V4F eg;6ՐWAG^cxcflI?F lSKMK/'):+{ ł "l"Umj@YXуMb(S,-eႤ%!MLOR:LFr3F`Aa`G:5 acIaDB?9 [GT`o9YoaTOlrr%z主B ckYAoc5Vp+o/Vl\mrI]Z9_k޼:þ"->.& ;Ǿ,*l(+n)4]u)4-e>,I[:5`:SͫS <^DZzM6{Ovd+Fn\{"{faş/:LWS eR`֣&([VϬoѱKi= ke"S3:6=<ؽ2շP9vn)攆sZe&#)鉿=b2bDo䜒.,tV3?CIt#۞|Pè2 Rui-ʰk}Qxg]J$mg.kB,jw?%7,GOW?[7]1ieڦ_[9KldD;lTcA9~s]q29֎ֶ.*" {GԡXA%U!լ?{7")oܗ0ocWµ-b׷L>{<, |*<%N풡G?pm6E6QoҥbfdY½콙 n1BUZ>ah*`'f ye`1RfC֭Zݦ:{NJjGT~f0lMMV>h[dS>ӌZoy )F "]U|zazDh*L#j zPsO?øIis7̈́E3R'fz`_/dC4^lĹe}h?e`?1gQzgfg k Z#LQJ_/}RYʌ-]kf]qK\0$gGsKwVI5^&6%S>TpҪ?L6q#Jݳ*l8$̞TP+Ӡ=)Sq`ܨ؛{!oPPn\|zcω6W\{*_V}n2 yx`ƊormIYkY`~A]4Z/n:ِiQƩ7%صgQ}69^1b4}xD^#'׫-LzUӯ-'*rA.%bl |R\_I:o6C)u'=*+GUOUϻvm8M\l\x2N O\NdS` + I]TV)ji)]--EmE1mJ^/_&Yq~(*ը-")ꃆQXsRlDN@aOSÉXj6&3\t(+ϚR)XD GS;ⷸzD3P(l6 FaQ(l6  ;H#1' tδQ}yzr4:}ER(*⤤FLr+00e#Tg(juq6l4w:U¨ef2z(yjۥzg-CYw.|_`&sĤ{%wEUZ(@-ßȴHÆ Z!H&չ{ay?|Zz/q/ų'w!alY酩|ie͊e2Q\( {18}Әϳ› _6J3spa;Ipg/E7AScg5KuٙO痹Clw{*{ Y%bzw8yvHd2Ӄgf2;[OFrEvG#eW-cYPz;׋i͌}[ l]}Yt:h$m"f Yõϐ6-噎V,; Ey1WdWqSi~m"}CcDv# Gs=VzVy׶t~I0[`k,vls~ۢk%g^FlnYm "ǯ#*%+ܡE(S w !pv2 RϤqm|vc r E6UUq 2ū%zCHUe[Kՙ6-UwEd{%TpMiL>}/`w-P?Nw%}򆒔z8bhļ NvmS-l8gGnDV^WSh†5:*r`0U/H$c3 NzN` %IbyZ;f2 $t!Iȶ5Zx5ce}, Rrɺ4cL:ɢڨjʪ#opIJKoh fWzD%Zn|=Â;HN7M ^ڬ|@X.V|A D6V\FU+lU@JE6NEU@g E`ufB*)QH8Ƣ'jF\ze%lF++=ܿ[EvJэaX,;OF"}%^u?m.G&~L쯁Yʛ+ 1XhĴ îY$ -8x0yDuWbV`SmT**"-ea|ofWy5l(Xe$!lrmU]qY^EZ'.LQ0Q wꩈ-Gݱ+͔ {aa?&ϑ|>v d݊$g42^.^M&Ǯ Α/s;yh+ .(@1lE͒w^y Ox<9yЌa"(̒,(6uY8KYA31HI8$NH .R-FGd&V04\qᐪ8vd `ƕl &@lh؀-MȄ 0nCJyPh۠8&V*Z*(mcmrbZ^2AQ׷mL©I'5 K֥fV*ǒc;4 c)uƲL,n HcEa KCa 6y NPc4$! {lCZ,AnokՐQc=xz,jw,ԟ DLhWBa 6a+%sW*-$#Nj[H}J< {/u`<)Yu (1&YN|Uo[jʡ'Ň9x-)^nYyVnV^Y Hƃi?<A6P[| zQؓ[=6غcX=F2cl)1ꡢp4ꠉ# Ԍ)k4G+4:96QWF`.tpIENDB`homebank-5.3.2/doc/images/dlg-account3.png0000644000175000017500000002070413604616712015242 00000000000000PNG  IHDRQTkGzPLTE5yUH9W抪57ڷqf󎏒ȸi秢Vfdgk¶ħh񕣶òuxyʼڽS挕[Xa̤[rj]`̰{ZNc}˨̴QXoppsl~舤ٻȼθҰ~ln^_JQx؅uh`Z™޽̰ԺdRR̲}MNTx|?炋}Ժʰ튏k{ͅIꚃ9>?e~슰ΪhpwZΨw5 5oIDATh\S׿8J[lP EZ6>H $4 $f^!@"K6lYQFbوT@ [>wm jb!@kȹ'79ߜsﹿ{# /D[mֳDOE#D]ih$ W\ϩih+ K:EMZj(* 5b% D6B$Q4,0/xKF,ZDSS3cR!%$*g;*j93EF,RX4ɍItt4*73EFamkQD7K+-RP#4 z[TJCf̑hxBa)To(S$71ڈE?Ԉ nHO?9l'/ P;d-%E '5O'$*M)9Gڣ&O( Q7O~)E Pc`Y™*xՈ 2"5gq'$:?ڈ 5fR`%$9H Q7 mc+\Q/5Xa< [&Jr!ۑ77 yCJ&I{'Sqxn46D'/2XύXڜW1vt(JlD14FМȎVYPpt+ѠM1BƧl?aNI3fg'@4c{0nDe.vݑ #AT&0EOhFlQ #W䈙 QRj̞`B(NP!D1-k tDU9\GM*Ë*! 58,zE% Jf@;(b/y!kpf]-O&j޳: ,ݓp03ݙ5wxQ\/ ? (Q9Ma.TtBQMZ 6~O|n/ڕMM>Q b7e.Qjm*'J.ZXd P]@r2 H47 :q}(+GGզ0O.D,ǝᾯb$:zٸ+pYY?pѦ&ʀ>\$fO h4&F;*rYf0Ў'@h g *Q]pu1#/#k4;@uDSiPT*a&ufE%g 8Y$:O,!JD?(Q}*ؗ#^^Mͥ{mB9<2^?cSRvugY֥Ί}jcj4]3*KmZfm.ݮڻBe\ >9"k:[T|_޲?xt~v%g&\?5؎?>%w8`bqM"R|z@v=kFDrJc)?mw&n ޞ#C{؀ހ;KFl Y,!cb\\eU^a;\7E$ ݣuvFzU'z47W7nAqvdshWWsux55+mF u/zz\Q q.0m .'I.n'227'}>$zIAH]ҍ!'cD `Da'[ OX"Ҧ1Ά yG,lwV$KMJMG-^wQAwD{>pNI8葔bNȯ_JFXf7yX,ɔLydUK`gG3KW+*{?lQ_+\0j|_ȋ%>lQS 'J ۈ1^ (lV"DtrEOH!/-$)ag1DIFm2Ɋv?{|L'C3Y_2G_zRYdQWe~ः7ӱTYJ9t4$-Hcn?H4L/T'2D9t"Sp@Zm?;L\y(ώ/9ݔz/]5@3 c+0551]f Fuϐ-CMn0au%P,u7\qZXhn4ܸEŦ4B 6JX(ؑ~c F =;%;Q0?pN`*jetfo"zF/ƴ' QĺOWz~;' :!wE#b=4^qkAz6:I9i'.vȁ:A%!8N7"J!J s; 28ħ!eNETXxC]2MLQS{{uw)C=zgmD3" ۚfOv/;= +0ݔ6?1én_".xp+, 5QϢRW! !QRx^T7(Q{4oSTEEa~-I} nSE  ڷGX}CLl{観ֈzK'Ψ܏,>4 I [m5!~eĶQ.[)G(0%sȃw?[c0xs#FG Nz,edF;Fb[qc8T4X3Y2|SvA`11J>艋d@e$.4opLa֓zKmzݮxqzs ]s+\qpnN G[ xoJ>{+g&sAX"UsP-"I]w`*bapi(ʔL5ʼnW/*IB "$N %W.f!QqGebI^&AeѹldK5߉!:/m@Qp21Dͪ&YWa8sIaw:JbJPAIByf%֯rHGDE;iLE#zVj} qu*(#xZ-6f/0+K酖G%ƲGq$Z <ˎ^OB[ˢphJ%xVF/w@i nNOwZ7@&Fwcb VlKH Հo(%/5B".nKWG6`Q+jR#;(I9ijP_Bڪ*6H9Lw=bTyEkg^8s ~P^dHccHukҺJnQpWQo_ r[lL(I(-+ /=^]8!=O=Ϟee=[ӳ=#@iw_Lc:\zrwm&KX{7͢V͋5zk/*c@\3La4r&d]^nL68 @?Dyr6mDҨSܫ|{ryG#+Vg:yR[A z|}{خ}IGZ-[ҫJfeFU.p+\Aqd؝D>j4wa0*;WW}b^u;mu_͉"j$e ]G೪|#/m!A;EW~p?^JKBCX.;*}>+E?# Z8+E@NQ(JN(EڅE :VwHV`KN()Hv Zm',Gk7Y&kZ#a$d=Eה|s'bz}yh5~Atї ۵X 荿@Gn=,x!}-m`'C ̀ !%"jDFt .qEp%1qG23j&7c&-\grz&G=\D! zzE"kiݰafUoLJ,=Zo4vZk;Z:!\sK4b~sbOe]QiFs‘YQN&y~8VNQVZ.Cp}i?UU??j{vG$Jt֏_lxU>Zwp̳?&گyr*79RqlTĂ1}Y\WQ +oe :{;o[ǥVlTkt{K}ecg=E,S#~?gvwY9k:x%9Zi_j^?Y;(:73mz~ jmYnm}1M7?hT)6Օ ZLmEZ9GuD|/1Bo| Eh!?}w|o ?YhiՋz=fz&\sc&60'%{Q銉y5+$W2))`8E##|D4c5:`+%+| ,_(o"*BW",A85E"|Q0 R>QNIQ!R 95L3m J1Q.HXh&voå dERAgg{}T@ (ZmRzhzdOYLÆ3# Nl"S,><VjJ6%Qـ0nU*&#:sXJv+ lyS 3we=쎔#IcCyI)jf+jKIJW̅aنW Dũ[ӞXgW|A[Gk-GD#/|ԩ~Ctԩ9'Fain[YX,[X7Qi\.ׯ??^VqMɨ"-QS|CMIWwb$ՔbQMɓ/WCh|RÝr'ờTfN_jj*{JtEug7Rz7fNT Ozrlk Sxf7'7P:Jn*9Py<26䀢ZPҚϦw75tu[iOt:HzbH7]F QbeqnZk3(m øD碚))(VF/ (_RHa/GH4hEgeQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ$Zj%$" 2J"Q2 DPgb,D^  ATGy&hzHA\QQNH^yQ/].w&-F`4FȴD -ʔiDJD]E#Zra`wԘVM!Q7QN72?DV9Ŵr&AEGTU;#3raz>&D!z}TQL'w32F|;MY7Z ~DD?)*&~y',J{sNT6[oџ(jeIϟ1N27Y{hqrTLߗ(*NaJA- IL%bx~;V/޼1 \^0ױ3ߢc((*:#0l0#P%6 fs B,x-%= E76{=!QP=@"r4 ?-0 !ZuOI1 D); eDv$_:#` uUA^dxYBAUTu%Ksgwx( c!}2DѹS+D^#Hۻr' Z{w ,8sQE RjtB/qҌRm5uT D1sy ڏs[cJ p k("\ri_x"+txk*tqϧ;o1c?Z4 )f- OooB q3ipD4z]Qt--L\֯tl%R"tF`\%t j %h:AQ_1|* Q_˗ Q?Q?Q&Aԏ(Y[}%ꪦG+QBڝOd [4뎅Yq+8Aٳ,-Qߢ#LIT8}pVyZSYvrcQ< ZT=k$D7$5]mS5UU7 5N Oԣ:הwaے(2 T%yʘpJ/BIENDB`homebank-5.3.2/doc/images/46search.png0000644000175000017500000001226613274017036014377 00000000000000PNG  IHDRl:5PLTErϛ𲵲35:KŞȊͯۢG5:Y<8+07I2N^wS59A\2Axp;cøaJDϨ@6F7:PU߽oq~fZY~it4҂Nś_سْgHwQf]¡1XUSkbre۪۔EO]֚TYӬ~ջ>j蓾o֠bШemzaճÃEFԺByi_&ueI΍ldLG!tIDATh\u !8F7!P# ҋқ U *uy"M TTeb﮽϶l}~ܙQtWx9;73sνsΙDȅ$G !3)ګJtApz= -G Uc( >{~E@ ;Cm WAC=s2d.P oQX}D#PAMF3K=!yAk?넥J u? DNiwv~n3/o>K=kf+-""ō b6Nrxc{*bKmw'n]A$DNf4hjWU8ᢲ*ZI@gsGpt?_ Eq+H1i,K㱃kѕeBU`c?lTDveJF͎fsϧ{"$Z$.Hdzb[EAAc01 S &rgқV[ϟxB l6r2Aj֍,X|q6 `uli;Wjj+m9[f{ ,U<22vf6{*f3q%7]zhi@d^9ZăZ lCUǍ=Sm%mm%\A8l]qnL{S" h `Æj-ԸjsDq.ӼF[4A8\vPSgg]vУ@Ԉa u@9Wi1?\s-` ZcxqED[ !=6.a|)!Rݟ|gpj,i /;Ow^*zq;0.mMx\Aܝ6f;;㷴<5  ʩ(X{w̘((}AP(Ɯ5 ,]/_l "4x0G'ړ )hHETi5eI̒|Ug6<-ੁj-O 8gʅ`QӹZ#FE)=ᰠ`6TH4@k%)]YrgIPЃkݦuhH0P1u7F[Ndg2) jtK(m5_tKy,T"[ KMg > ީ}JwgP[C߻ǀJ9!{;3 pUpv 9G -Q#Lpl9x"Q!sYzzdz'\cZSڈ7f>kRae)X"(V!? +c"P2WOnJ43ـ ^X $eqNࢲ5M{͊ z#p;`@e)Ag'8f%ڞa5b#ak!}a~S=h NZ,^,`@~#HZC N- Qkd DIV"DZ/**Ef֟UL`=""3ϾKXx~'Av}m2hrv^S g?/G;ówT^,Y8laSȁ}NΧN'YAll^ ?Yk]Ul έ_Aڶ9C)#5AD@( RWitΑνD.D-j( I'X-:\CV ;JM -+Qٷ@M1۲Sʟ/}Ҵ:ʝ ˁ}/J8\k91A(Dgؕ X4{a.w6e[P= ,DiZX]Yen1ٱs2 b,=]DvͮϦx+0AYiZZQWNXMxhܺVkiA@t7---C>P|mk/؝Eӡt%[@;M1帵4gu>48}b>:;zuGQ-}GwXĎ4ID\(PjoKlmiK<:rA Cֶ1|'irb:X;iE{1˙lx7޶߉aՇÄ[uLVv%@|ٕ P?9~2I߸ӫn5u_X w×CWF X[p̋)^O`FwROؘ }w^oHruH؜BgUylBvu(wK WE̠V7+ˋ3dbDYA=rlM1G.1߉O4? joD1aw+NWsj2'Lۯ҄ ux}*05=UXik 匇{V {Dtb~ѽs;B#h~],H 6P het^jh4nAt D&H7~ ġO'HNK̽)Q7:EkĤ9ATDۙmOjhp7#=%ŁE   G#i!˼@F>܃Z@SŹX?ꪅ@FF  2 ׌geg Jzl <8GG8&@8ĝ0r`h;S0􍖶$qz#&ōM:m0"}KJJW.i8 uo,;FI 䱆DOvm?V6刱Ʀ 1mT'׭*%W35>/ wb%KV*2L_"aUӥݱRom>b",EK8T8+aiu8˜;TQE7b7سօIpe\j3ҷa hӚ+*F;'ӞĔDžu25bz ;b~ zݖYNhSY50<p0HˁDE@m.%Ghv^.~@˪E#RDF<4>P@׫ Ub$^79#TaƏYKnL'5t.uW5/? d뎼- ȴb$G{lVHN >HǶ823JemU[k0p DHO.IO0<̍q2@)A4DuOBXwl\&<* ?3jJ]1+WA|D0'aN3@`QM?ƃ9#pzH@Aؙz$}!a1< 0L |D@jα![HsrD(D#f иbLJ&gB]=iPq/YܤA|[Mz ah mI,-q9/y 6h TGǥZ@^Xl1$ HZn,lz gt(p#"1Swj7 raIntA%j>x |rU,x?:&e 1 v_{}!䙒`Y=pQ!Zh9ZrQ@4CI)\dK8  > n/}5mϱïSɘiC]oGqf$*3#sQ`2}JX 5o Ʀ u712uCus|ֿ<<קUä?_99#IENDB`homebank-5.3.2/doc/images/45accfilter.png0000644000175000017500000001603713274017036015065 00000000000000PNG  IHDRC;O ~,PLTEܳ06;򸻷;;CL77-4F<<;LfRvcgԪhĭӳ/BfHLRbI<=hHp䐴Ԏɩ[55EvnM…Pʪ{ϐ:33/LJIc^=PtiiŗjJIf]7jOidܯ]LXHZvP=MndʻӠbDYjɣϏM++XPK+Z̙Y̝xvy{m=yXvIvzrcO̓fЦfɸFۛ$+1at}*>v\ah?чT5e[\e^IR[ɽw{4ƜK0նɜnIDATx@S/BDH̅H  2*DQD*.unZhmjvy͂0}5w{=w$D#4H#49ы"S)ϥ  h"?ӌD/ϩtT1qDF>m 2?GRou]վ۱ C4,;,`1K/-s^v_z6,.S]*7;B/\eVJ?8ƺLJV(+ԑdG=*J;س8nREa"m+%Cxax3X( D<O-|G$={E52I:TC8xy#h6˛ x߿D=e/~TmTԉ;k9Vk׫^:o%eX _dPn9S[[l0oaOwG:rRL̓_&Si4H|ŗF,ܰS/_FPGzŒ I@A8$UODxoI;>F>>!uVk|]kgEVDW[m}aZǓ3QgD8sª &#(om={UR"z|9@k%z+D(G=#:dF8k#Q:Vs#=G=@տAw2aER2d` S2ÙEwFFD; R JkL Nr~~K\=ghB&IU+v%w^MSnFPz9 N 𳜗􃿭y xsA'!s`i=t6,lHwQc{o1?^s ^ͭC?GCT=gJ$a[|t6w}@ KG:8Mf~X AR%a?0izXf[L y(`md1Y+B2Dq;pN2!Ow BAWYh*_*oUG !f0D[ 2 mrЃY<Ͽz0~H9,* YVޙ#߹Au:<|_ >}gw/Q^P{$p*8#+yw!1aw;?mH7>| Q]fC7]CG>j#+Jk>.*iC7W1KcZ_ՆLKPvᗱZrUWɉFee_=}Xق粹{.C3=ܮayN1Yǒ®e&[ \ycʙ,A,(M&rdlE)o?Α }jIl 0=j-x.pu4jXȹlϗy๬ߜz6q'!/"%Rn)x2Opbd]Fc! "j5GG3K;:>썓m=Do;!.Ҙf4 vw|IKh(![KJ_7WjOzPDd!4 L~tIg%VHXTH2C@^U:9*C>~QɐTZZZөW?ОLcҖ3|.C4;yo$Бe029[k)w/ j=~`s)o2ы"^s)H#4H#4H#4zaD'K?&;.$S-4ȟMij{Lm.4uhp3Ed kikM -ʐBuDe03#)lxEУqC0]{i?Hd=f  ކAS^NJ^X*Fz=#F Y+>0atײxjgS,1 i>A-233SȟK G X`G/BCq㕶ŘƩEJ&:,D|6 *#}9CBX@%Cš"eJe ̥3b9 7dAOϩhwVO!Ic-6[ s+/8^i A_(*JKrs}qX`s1Jn$?v GsVld >rOE͠߸/O;Bj]ܻ{1 6`噧t:X[Jp7,%ǿ%4 !mL2Ldv&9C067ЖEQIs"*61lsp ED=T g*fl$r0M$$9$q&`{3@gG_8G2IT*it=\)J@99IvT>Cgrst88: Q"{32y~G8H$Щ1NY|3 L,"a6o- ImV,I>k7FV6BNiМ':B:]9ZlpBjgy޻S Yn vEDi{9 aCS5YAj؀brB{}WzYy3)2h؉/#CXgO#I~$):b7 EJx?t:D {:3R;VU}wjXϤ,I" ,]),q 7KR0R ɱ& 9"^0_b3-Xx =!q8H`Dz!x=P2TiR DW+詝GN ^s evx?zx'$f(sP(V"qe'#YL֑XEOwHz`qXiNV?s[=Rd  P=?c Hc~<=&} d!Bΐ(wE鎐G p%, CS yjNiIoYNىs{Q:]/k(:Cd :0D9CK7om<ZvB!<4 w+ %gEJwD.dEj+ˆZH/NBQ!Y?΄Āsh^r~^uy-~׼8#+"JZRu|𽙛 RWm,8,GCN䘧v8(i()ͪI<q^ʮqaF/K)i[6,eSwHMe?HKgqzثm$[~(rrMᬳ˜oĉn#P8Sv:%狾)t '~ѻF(tX@~>bD1d?!Jת}Av!2v-+;ᮔ-E5^x&I ghjj6$~dHLbjN\] ϔ3\yZ̏!} ickFy(&A3gnɸeK0y+(M%_|Thi(s-ݑ䵺U6 sU&ydd#3Y`Kyb {R\Pb+zkj#H0!T*{w < r*:[ո$;X4d qn2`c(!zV"j=IxfȂ+>|4)CbqƷ_4o6:,QRʰq(7̮Ң/ C3ngVCM,܍!90KT,,HS3$b{HQnl+,o i5An7!CI0d)_1l 1{Tΐ{w$5wS1-ԁ%mm1mݶSA\\mH *h- dŅ1ٶ>KHm k^(KAƵvGP)_ ɶ:j"lئ63X%lD*e } ":e{V37wG$5~HbZtXS/6a)B5j`HO V#>p|H(>o| 3 7rÃFsٞ:w/uLLU L8 |-LPӈ4-#+Q;C =|&V%C쉤6]3pO1Eǝdt ɎcO00fyyXyu| {xYyt'E11+ñ3dh(Py\}| $#~1۱@-R2dm4z~ :zPzܶ1dZdt"?7&ƒH6iFiK 4db ڣNb?ٳU_Yu^1$.Y5ZZj$ 1H?MZxxxit)zngYc!avR+k!wLgJMR'U}gA?^4%C> .V24o%G bk8\jjQQ:n q:E50gֳ kE䨟_kQUvӖ䓪}m樴ړUf^>.R'zCB0DIhBeM&=KQ@iOɵJi;.K TUDiQ*isrLqEec 7ܩph&a4CUG~IENDB`homebank-5.3.2/doc/images/dlg-filter3.png0000644000175000017500000002226513604616712015077 00000000000000PNG  IHDR,PLTE5أ鿪붷L䫷ޢʺ˨󲚏╨Ȱܕ㞟ǹܑųڜ󷰦ϿھزȮó勖;ػ̩ӡ:压̨ѻ}4վҵkgm}𚐈ͿB‡տ˭ԑ™ᴽĹɸzԺy}zvݧڻw踓{͓cڳ%Ԝ*-/Gd槸ٹpjcбἨCzzW_큠Xt]{tӽZYrrC1wϚ̥˹ֲboӄMSݵ]ȰQNOOh^XyɤƄ]}2]!sIDATx\[Ǖ'Ц1H*!!@Ga0 f3l l +G&^:ݸN6m$RĈ DF=սs=<jI?,m:h&GjZ۟goUCVe E0T(g MH8h6T|cRo=m® G%Q9T!*#fS-]{D _gNnThמ.;PZ*ql^pT Z03wK mnmh;\%ˋ*HZ0Mg٘ݝlp@gЀ1ŜԐL^0ĉa)"Q\MY-Kk^_U%8cLl)}qO FX޳E){ \x{kn{**a4}_#'yTj{xR͈Ul%8p|\쩸YR요)$A"q>q?z  q~waĶ yFDGHРj MX5) tS J KJAE5 0rV'^w3#ٔ gԗ}[9.?v=3F-cv=Jo KJv:TVX'4` "v޻w޽{DV<`T=Ib|Oܯ5&  J>GAz^ 8T|$,=ķy/IV;KLw綦aZ?M0*U5@_ĭW=P˂|Ă^8zߞVXsB4lB6 ÃP6 C#A: %D B 9TM׬=~dKAU=-~MvyKޘ+® C ik+ (F.===wtY F78h Dpi+_~n&p3<.xPCSnق݈L&=l:De&OrD1lF-aL2)[ l! 8gW]=\FZ;h&a2I$~9dC&b2}8ꆁHLJ&I)'&THT{um;mm^Z%[F6ڴr;gm/UM {8=|*}ޗ,e}VYO T?> rEY$UY[:޿`|jPLo׍{KtgШ+_C+&7`ك>AQ(B6*倓X~!^[6HW[+W\uWun{޽p{ OҀ5{߆` =s3ꄶB*D`Lڀ؈FGCy ݀'ʫOaB@tK͜%_ȭtHje񢖕w4O!&30h8&9l :hi 0/s" %'NZ>fB`0s>\&y_LQx4&K&WvD~\&9q4­8s @sc>yzo`W5:ͮNNDKC"6.l#A?NN<*a3 ,#ց]R-MCVօBFϯ~pI׉f/2ԄZA W'ƂΟ^}gw&9qf[?-j'x_N\.ev:Ck׆%69 *W_|t?M]5 T$x BPN&*Ѫ2&'`[^jR-OXzIhiIK}=Frӈkoin6d=D g=pL,gb ^cPƁr"K>`^hǜT׬Gã!C%eo.-EIQpN{ekdE:z{T`f|z ֔?kK;Y{sE=9#yv׶vAWXȱ돝'BE5L R]?tsЃǜiAP[W D =9oq*kXנ-͡cjN=rm򮠵A k3B"&DEZTؼhF0Uv$@EW%:ph֊6uzΆk02=ER$ FIgHtcT|,??".7lW;q?ޜlAu١n1FZқkYvJj?kX~9)օ@14r ( sƭutݽ;\MUKƇN; AxÒ!Iʆ_:z%<w!4%~W^ipphц7?j ݇cB%B}BBX.>T_L2db1|1|SAF/.N1WmxQW`N; 8. ÜDWhP';qkpəMV'"Nʊ "i6vW^yT.*cXNyW퐯bPium'K&?+Z$'LO8`Vo 3i!Ds_&A& 2fX,Qs\#%\e!4`?f`9JRKn~Z,[h5Pu=.~OPBD9">2\7t0AV 9MV݊6tsϯfHe\OEޮ~NO:>w4JfhQbA-~/.Px bmPЯTPC fJ&3{œ"NA SmB&d ?ā@I;&%ӞR_3|\SC~o>:qV˃|/ϷT<,m-w0>ny !Ҕߞڊ g ҋ4-{ZFP\>yd(P@]Y@{Nv}555㎱H7-v9ij[լ 8[/Inr&۷-ljhd@@9>qDTsJ}*sä!ob=ЭB8PCBu6$x- dO*4޲TU 'KNf_|}djI<,DsA@/'/Pd`$>[R65S`W#AxMTZY(l?- P[Eh<@6]5QykP!Ɏ IQw)`B_ /VUn 9Ap>ȓiPy_)@6eZ0ێA>׼X?֠y8Y0*;{v+Fu{9/&F]M KWdtV帻U& YYg3^̚j{gITωE Xŝ}[>}$z1/TmĜXDH 9kYd]OePuz˳E-t"6mjN7,SpfUg`tT?[U߯?K>Nj{,no@L# ?pJ E9ElyϺBPݖo6><{|ӼOy;[6`ni>w޹hZ݋tINiPWiQ">9/{5, *ZtpXQ$hݟBPJϗmQgZ6QJ=͡P' HF.Ams }R%ܔQ^R Re%@FҞq66vom!wU7;\U[pFe矜{iwX  qD| h,&hXxxh8Quhdm( f>4*k.W~uT?K A-D\ߢi;/x!_>Q9I4״OYgDπA+{%;;QNq?&!>'#@՝_7Pā+/Nw fn܊ca y% ٿ~,?P{`ᩏ7n> E-x`~+w_3 j1UA}vZ  v `kO5 P{;EC'yI>ڦRyF4#˷R@|ku,X#[J)(&õӟj8O|\Q㳁zh_`βac薢ʳ7>^f 0=xlPa,8of@Y*O*=0^cA` 0|\*&BmT*;Nr̾*.+w{ISѣX4p|jOX:h ^ V4b?TI*uJa`Ǵ)i 'dhyF.֍lnJ#߬9qx֠Ǣbdℒbbi14iǠHtOσȄt,7ųR"t0DLc\qct. #̦rVnwٓtЁE\o~b$L}FTf5xEc>;c=;#0@EnP rڦ(';ә9[vw PwBSEĞ.jqd,;CyR3BT`N_DK>FS2( F@?K|J; '*:5Md4Cˮ4VC艺C58] cq <'Ye 4 zb !)) p}A2A5o`440RL>xfd?,,toĭ&D4`HhL0mu!8L[+Aj:ondl8 Z$UvZ?QAl$_]R[i9lm<~ԔCd&Nt)%58yQISGb2 yJ/T󲾖9d]H/9/cR'Psdy3T\ts85Չ8_Qj%`Wj;w*<9X?#<36|T.ݡtJrv h Y4eR0? !]UR bqS" 6d!5IN 8|F~n%-iIKZҒ%-IFDc*I߂S|jk2X8"Q"HT= RςL?Pd>|E9d\2'?uB| }50,Gpz(3FP\36v!P]v蜟~L&%CUi8{8iwqNnH~D\0T5:sg{MU?<}ʇT#gAz<3JeU}"[F͐wIf4 ZlW?T_p(Ύz(/ٲ?*a3,NFPQwp``v]TPx [Kj C.򮁔` OXȾ"o Rą@UFwF(gǓJI΄jsdׄz;S .d]T"j2JTm[Z&H)+?0=cJ 8Q?.QzQ(gPME5y|=UZQP 0*UUbPE9K|cO_msٜAAc 3 Ry3,GbChͲʒ.zādƜ 20fF*s xF߂~`LE}`IENDB`homebank-5.3.2/doc/images/win-main1.png0000644000175000017500000011371013604616712014557 00000000000000PNG  IHDRxPLTE5v`s͏冣xyUH@3dѿ鴳Ҙ±ۿᠠȺ鼺ٻ=対ΧлǶִǭ񗣶ɽܵԝȢIJ̞ͫ|w{副ǜ̓X{gvupfڰIGO״歡ѷnH种vշͺؚct͝pΘbYT\Skzy猫Ūmnu֕^͞䶑sāl⪄źS׬Ќ™ťlɰԺr|wƈedh{~FUs׊ӈ{xbXzQc}㳦ՠndğg%724Dwy:0dIAQ/oT;Hp[vEeyjja`ϞhK[GtԴ\~nc[@xbԐ!IDATx TSW+EN@n`\0 $<"ƍUMh *C1n<{[7JǸq0n5ht#Anv.kXհtq ~~zzϏ ϯkt# E<$~}g^۞+. v~HZ$M[P&w &\mjgKӠ4 {Vo^#v-T{ĩcUFDU2ϫD42Xq EgToD@2d6FOZ_)'&S-{n7H7r!-> $cJ\HFRLy"$բ UbH"XggUS9#ahAŢoGtX;QkSk=ƅoZ̈UK->bi~ P7sg: 8wx( -h*&oS,S*>{RdU{!BPTs,&;][Ym@ze܌S"25RCJ>a%R᭓1JyVv6ڠ͵:(kzBRxi8ÃYJ|܀q E=G)dC%Wێ4)d 1H*ɦuUJL7]Ȑ3fTyĩk+i[1CYIeM &;pe M' M&6ZEPr)Y#Re}TbGE|ذ^\`ArkR Aw|\ sc}-U0lAT -*$ZT_4$.Y#"mpHf>D6#ha}>n3ɔ+Oi"Z xi:BNcmD-DJW ,!"N*$hR M9 c Qb*4PDq)s> 5|yݑr£0h}AZc_ޙ¦^GhbuqB2&%ºh:̠.36okS |쁢}cjs2Ѝ()`Z)J3 :3mgDH1C&U5B"\/r.1UD! 6&a&e( L"&bO'HIA: cNASpYxU1)P ƴчXDPڞ$.cN6zLd0L.`jaM! R=G\ @>g`*D `V=_D&+aV8vv*q_ qzqzqkf?~!\Y[Ƭ6\'¥]kå{xqim>\WGK60Ãb!Xf(Ou~K $k C(}]ryk4|#ӹR=9RDt#%2vHd)%阔TP$Qa`װrg:Avb^N>442PDȸ_܄ c!e@%Pѣoyb1'`G[+YiIiiiF#x-Lr#[K3{]7}b˾.H:8<66Z`=xXoE~R) kbezy|$|x>֭[=γ8ͼyZIt✒GxŇ?(ЇWƻu~᧲,vh$n$Bʚ'+M1NYahm|mmyk֮]IFGMlTu+PJaRHRОWc(R3=Z#㲍}3&&nPF5{뼣R$$D?9RKon>~t[#"$+Q|Ңԝ|a S/(e [.1k!dAm>g|hj Ec9-$R!o\fjm \FyL8>N*zJJpc SsQ߼7b1BCt?6 ;/11_bgwdb\AB@v>lGcJ>Na'W*0l}O~_|vk nv2Gbg[aRco?oocs.3;Rct<ދ+$QlRGq `CƷ< h9>rh )-318-߀fYec5a4I$jQ96i\&v#,p."/#5cQuՅg|v>r;>GS|jJ.F*|m}bogm|l=po Bf\Rmp?|BaMY<#ť~t,&,X"2 Sm=¶*>gD18qKn$MXmiK,)*>DV2&F˫ I)C1Z8&ǻf]JL{ˌl#n#t\fql֤G y?&wgm뱱́\n z F BLj~ta1{2P l}$qϴΔ3 pO!dHpcDחbp^cd5L;{OoQl|SR!W3G5H@o9ގ.M̴۷,IۯJMjs>"1HfW"r<̌1g{TPЄP0G# j>l/\= A>b"sS`79Ԋa<#bxo?LX}嵒"4yaQ|iɪ9fzܙ[OXQSFTxΙg\(XȆ5kZtt `kv3[Sd`vDޔ־N99&C P/;`d>0ǫ$Ǔ'ېM|k Ah/1^oL 3(}x_:#KKm魙ûېKo+$x/[k@@I@|4*o5R*N"{!݄u|hB>cZjA"HyB;?bB}8oDX,яuvx aJi:ٔa":Ϯ0G;'H=nX#'[NM?5_yp5jt@cv>R,*ݟϷC~VCt`,v~F"1\.Tj|7̀h?a.3lxtd_St>(Yżr5KEBfEQ5Zfz)3}\'1Z"m_B{叾~R . Aя:1¹ m2M=h3jY8{d~2w=A>7 01 nd{6^a磐ɤB&"<kl}4@|1 Ho Aec.7q+a>/Z ث6Z^c0|hPippPI^ [)>hsSRǛwޯ<׏mGS:0ļr yOT񱸸X8Yx5_5Z-^#>jVk|t876܆0<< ٍb'@dW :‹ȫwT |'gf2꿚p>%>Έ5F ;F]c xyb!R@>jByc8woY.vAOyxHb 43i 'WD5 P_llln4ߘuxznlLjcJ!*0ְؔȩSSj 33_\WXL=OϜڤ9!/t'>޽Mz{Ibd+PrrN^CWR^wa4#vCd&Ό1x*@9' T& pIR:O0;׏Z[Kz8L 3bblc2LgVѹkX̀"G jj|ppC -qכKߺxbIy*c/Z_vQ6j3H`4=c|\;Lui&]D:_ DM.ݮ "0YL =K gmWh#iD^ UO$3|O"Wrl]7T\\uj$7nܸ5@p7K*,٭$'\kK7µfH7+C-4 Yrd3F{8$S(.Jt,<4q{yXu gq/,1ODE:R>'L5 vZY>2&dUoE˷누~h]Sbnv~ %Ӆ$e2s 8nW10CWJhTZFIzcv uK%"JtD.'[ $DB)${ɱ{2StIYJ&-a>$uӵb-Wֱjf!Kd.ݞ|L{@edKb@ֹ;@ʽt-_-s׫.' ժLv#Q[ +%%ǒrKiqT֣֯vVL_X1.s=j\RYX"xӃ &%@6CCƵܬO͊ Lq,%I N74̽`ѲLX`S6ύϑag{~&0Ⓩ*.Ot8kn~Hp8 +;w/65dіxss*8_~q"ӛI8\6]~O2_y :"GO)¹ Lj sFɞLτ*oQ< K)ד?',f'͕x,1 >Kߥ?^H0l*`D(v2W;v&Cܡܫvdw+zs"?`iqu2'a!dZ2Lb` `[|dۂw%gpu<|4֙~%whF'&~:&yT;$D@}<|&> 1le琣]wZБxG~|0D$sBN<>u%K.݋ dOa|< QEԑұ̊O+'Ń{q y '8#[8Y9>fr`beǓ(BJu:kv#ch3?9F/_ہtcfۋtzuW8F->LD;vf>ZNC4H3>O v&| d{OoGXޑUwDtW=ꊇgGN_++>f\-cQr*S{}F۾}ܭlU)#ׄӉrr<.)vt}|<>H8^ 8zNiOD]T<>,I b41mH Q4ںP`[͜F[;|F I)r^H@祹^ĄE=} ` j6Q?v(&%vWJPm\ɦmz0{PAQI;qoh38=u&~ӃxTim{/棃'}93nV#-00d-vj=0p҄J[r>>>'$.}\]o?7f/>.|z%ߘ+(R^zmQKKU|#~<坑K8ؼ EJa&W SdEY{QԄmR~"W?&}O-q-JFǼhU&O%ե%9}ǃP97vw&enIϦ'7$u=a|ĕoCvH>DY6`&aO >6D}VdZ( jslj֗YWOp^W7]z\vjWpɎ}4-֛ A6_=y^=L>v8h^@eh1GZx?㣅^߉}~د#+[ e`nh~1%> /. #IŪ uV]pT{ 4uI>DG &ޮN{*C*_ԧ|0XvYpEK?V6\>;(%h_֮ݧ"ԧ5% Ӹ`ÑSOvƃ ͠l|HCc`5{SAX?h;p 4uA 37A^4r7o yҰw D8x`Ioo$`/2ΓLh^` OرleHAR)􍨏),H Y3|RJteSUɋƣ>&ljMkMƽ{ܧjc|TsC^ЌDц~WP䱠փ!5#7 NTc.#_G֗->ZBoS#}bwW/ijaFK*vnH+ر>S7>]8hvݳ}ӝ2bojVyaלZЅ{M} l=ECjs㉆ 5g)Ζ[57v{I `/#v_/v?мe(ϔT^1]#>\cִ&cص.N]Os21(]AF$>#0f[Zw:_W#Ssl#͎V=7 !aa!O?pB,VwxisGZw}L}-=Fz[6d2Ovt6$3[h| i O27vR @1'GwOef?<`Ʋ ]]±y޻?yD&Pz /lmG v㼏'jcη>-2}>Ґ,=< .jH)w1D''UI}8tH<˶L. ڱXͭ9x惻.7OؼzXƠdkݍ@1NC x{\p5)Y/y|M6@qϥ7K[>X_,s sK،;$0i5-EcJ)MȋO^PYz8g죚FONJ=ըL-u$I|5! '  I"aR>d|X+i+8P0or{_guuOv-Z`&˳9{?X~<>yd:*[,#<&eيq9elö D^P+!Oq ۤ!lk]%7%flyڬ(VDDCX/QCM0g P#!Uy+Nc9 NJǥ Cgy9> 6i _)%nQ9uiH$=+b(a@A"(3ؾy"MʏʷH:sq}~7M!6w N9^l Zד{>Fyp OiB4_Jb<q2,Q$(+Ӆ:N 7#3~Jby/~ִXs+(c^+kپB/NÇGr⡶ieeuقMm>luL'z;#[IQCSCi.tOYz(kt.uZx+1}YO0_8}UPL@iGz2a VOI9dat<ɤ@8ń?xi9h݆SfwyM\l gly /Rym"$g AO(¢>@⃶@$eZD`닊 ZVF$v;xӌ (vtv| dZ8-4 ^{Sji#קK{!A] A^_C@.g '*V.ZQTAJ!6v?vܹx8S.'\ ǥ2 G/v!J#{v( ׏h(?4cUIބ>,ܟZY%@a}6yVy\ [/#c+HDG7dGHocx{lB̼nG:mi^ќW1)Ƚ.l{=7=6CvMS c) şMqZ;l ?N5tǐkۂrl)Ix?<{֍1E|E먹 ZW}ế~v5%|, $Lue~g Y/Du5HFWI xvH o滆RpV£-7E:hHlM6s%M4P:h5@+{Kș i_u/+=6ġ'5ؽecWݐU'{Tdk HKِFg.(7)YԆTQNz(Wnɲ&B+Sb">C4'呞2 ѡCIyI2Qe `#A.,eKd'!5ʠd IJP\Y{|(|W,#x( MҴ哖ŌH@^i$Ёx$k(va-pj8-*tEE+6Q ]aVԖE^pzG0r 5t6QF\ywme&K) GC8*Gi9U>$I+#UÂA2<՞2 ߟF*8'əG?Q#^K.-Q|rh +oPfhoZ? mAUp1=vhw+9~99|5:r0U+JΊ7%5Q,~<2ccX]xܕ)PΒ ` [8""*?O__S"II/EIy_k< h0jo$a#ۇ=7zKo ?o(ph .00(܉xKox ~XBvl e1<'[a~+x_;sO_j\sκ{.ĄcӭM<qF8|S?شF\/3Fug]zgxd~waVr3dnpLiUœx㌼Nze3\8`"H_}slB2DHvMM:?Qׅw..}YmHy77nmR9|LĹrdUb8P ?j K E9(FPa@CGd]h`@8=q!˛j6I|8.gG5<t{DCj!Īrk "g((~,8?Cf'8z8uI =zEqV#DHRY&A f[G^j u}}y$ⶭ(: %_F@Px= xQt gɩbw+k8E"yH4 ҆Ta?+}x薼IK >mjP܃3wiYؤ1Z]i*(|] t׫龎T.]Ίf3tQ)cłC7MH]X> KK ~kkV-ߕAɳ hYAeGy\PnsH܊/;8ŽXxO5J}49WǂׇIF6dO5(+)|}nbA0|o_B<i}:ouƹ.}f_/ˣf#1㉳.g-UƓ1[lRp-:^k!leb潽C]Phm3項:#lȖ;H> ,}_q9h]W#☝GkF0(:)0+Qrzo/<-ƢH!Hi2AA(VpT]F~!Qd¡ýy\G3 .Vl1`ՅmQ틡|RÊ8Ad<A b\I - ^l\. xLh3Gb7xSf$}V[[䒹alWԪw %dW7W*(>e5]# $%pH㚿.ZBS(|תyxv# p*Lc*f]±zǀk k3#BrwbjgΣxD/. K41\v5S(HqCʦo.-\W9R d(<993;gfVOB 7/?s`Wbf p:PrI)2Y.;?P :٠AN6H8S\<1QBU;&HJC2`RzRS)0,0_ A'4;!|kH'!3=Xa{K9?:YBa]P9BuTɉ?ȣz(*,9~^v/9@bm^@JZqbH 8BsXDŽPZʇB:6t?ߪj$^ bYnݝ/+qSlA!nyT$+CKy vQ85*)֟A87B ~ZQ*# nO) +=IZ]FD)h8VISE9S iE]y1 K'ChxEƬ)K#G F"3WwHcI㕾+#,dR4` YaPA_O7Ff]O8@BA&){ji5d[;#:b t_2hm0> '=GФ5iI$,ڟ;U%9t6+xD9J A{25!TfPI,  .Wƒ6e,$OI|axOK`{60`h@uv\89ޗ279E;pɊ(2:H3SdFSGqx$nxmsʕ+xV'F0:0\}_OO?a3t+xJ~GZ(,Rf%G0t7?7i2 t`dW&G'{HxPj|*t?w@qGU07nCP1%R6F5Ň]oe]5=вyzS)xC<=B]_KG]nT˻Qx94Ct#$+41NvM8o9a Jf]-r6^*,6XJ>E4O1Kp|U9< U8°k` Rd9l{>yznϖ92{Ӻy<ۆԤ|yr 3V[J{0 _?SMn<\y*K'w:k/{f,6R/ v<xey<6*cz0dtSwѐ#y!ԐzhG*ep.< W6`Kn iκ>$˿&eIZ9,V&EX?)t3{(tF8|0ܴ Ϛ%y}p\p@!ʼpz_=Oo/]:w$ x85O;xrk)7*mCMr;`xxdLmg*nU=Su<"'NUںz쩲^iRxG*{eҀ{[?q{:'SKh(1a.(o}_M$H|W]lhlOBcj {o+"YU#҄xE)i>sXC|%:~22Rp?7Et2_ǦI"+{m%i=_^^ޏamui`U|ͻ}WN#Š!Xyy/ 8>֗TVzSeˇTߩ7y h\ _\ } ~d{BkT"bb U&?*Z8%}hwrw{˨CCa՗7@<[$lSao$= ܦxL:$U$)0=vaggؚh-MC~W (ݒP'A^ ׼{[?cK5{<%E9ޝt>֗F/ Ƞ,blaIO#& {W{Ä֌(- jtqIakhkd7c<}IxA<"'E$EɞKi#屦\(T0i"yWG7{1|2Ef_8O#x#8g4oxqakYSj\Dƺc3DGj~W_2O}A<^!H\ zBnk-A)0xd ^"$@jCM';i15ld}`е-Uq۴^bV Vc;s65 iր|Ԕx1{`kȬ3Bwֆo墳3>g`Kh?Q)xIݡ||i|^ӐRW@Y ]FpcQ<5S_G><j8ĸ:Zݕ3| =zXGd|"ҪoAq[M f" q1z"\b yQIk$<5.jk!Ю>ͿvŞꬆ^aZu)O^hS8Ųy[K <^V,ҺwVo>աŶ(~V}ܯӎWCm` ֦_ z/eyM:l м)uO?|) @&D7͝WTI$~?'aK=z{Dˇyp*b*넮7n(ޮ#?0%#;V]Zcfh~W!tBT]cj gp}6j:{QV3Ѡz!ef+ /eyYHs,=v5*n!ٵe]-ģ(1,FjdG8CHI4˰/7Y.lȣ] p1mN2`3b0/R]xy2trq968V.#c~|NŁg!>?+>?RG}z`,\ycph@Mgv=./#@7_4M*+%k2hZb0hʳцgޑ%2>hzn1zy@g&A?iv#ϱȐ?߫#wJ+ɗw:Ч y>x?`- |} #hTCƧ㑯K`Lxڝ3 For?mSWXcZxbbs4njkZ7aʑ荮> ?T\ (iy޾\֚GjJWb섭-# f%@X1~h+=Li8pz^pC'c4B~,dCitRMB44m/Fpùma[`OA)X2 bB~Cy,Ջ *P.7eݻV<.=7|7Zp|WMwIՊ#گ̈4Q|x\ v"Mqz XxqHD3o [ ƋyD֛U0HYua<6>i[  {z>6^+\-F Ƌ8Ho>~Xx$\DbN{ҨΣet (Beqb𪖺33ŹWHZmq£"G$ܹ~}}Ū-<!Dai=֓ij<6y4S׈L6)ky 䑓+C]2ky1b?5Ҽ|9dVqDuYKNTwv<ѕ겺0[ #P?g4P\].$ť,I#yJyd?Q4?$?&= /Iȑ3Eɉ'Bs#SZ1dQ<+2$$ Cw2)?￿UK {2?cq,fD A*.?Wzz~ uV8`7Hyd:9)흘s$J֧g.#HƧ>Kٻw>5ZE}jRgAn6]o&8;qpǰ10R%7 _%We욨kkS6ڼ?L6 (r%Rr JĪ9s494h}^)p̮Ym^q,moT}YgHfXt%/+֥cN<򆀘d~XR0r\1OS)9= 4g#xʖ;#Nn#T<QCimTb_>^`ӞCfDRR:AA{#;aGH9,dx kS[8@e7&+e**#sf !CIpՇ*0O~G6NcNrscfxrhLR5o1[x̭h|8G49]fQkS'YYZ>g,_k<93XDb;p,gᑨ6* 3'YY8}4by1^,Gµx\/#~H<:!xts#=|z==m|ǝY\~|Ɓ^tVx8@6 ō=\XPinAAhC7Rpv^+ d3qc(dB-vi:-o3}?v,pD ɠVqs&V.6lYˣ4yznh>yǕvle jn09:;r륥h0WR#+'S"[lvӇOyM܇G3(f-zNf0VFwf 4]$ҕ0:] G VMKWD8y,._j#>oi9,Q4 +KGKRi]aes %m4"oVSB]5ZMTW_>z԰J/i+cm"m3rd0rk*a[UftbNVSKAϬGx4@EJM:29#@#2.M~xGdD@u課i+}||÷N~UGzc`a|%!W=b|s8 }NW+Iuf'lg픔L3<\ ʮaR+rqEX5~] Ҩ7禖cL!τ? 5UͯCX TR*!ZEkȯJ[ĩ|H i3D/2y/i?,$:7.YQha|VrR͢ 97^}W./+ mFeKEsܻ@ieG&#m2vx!<-Bb0';޽;?Gf51{@B\-~"pIBf_U5μ˞U=0ݳx4"fX{{(tWh̋d.z&qAD_n_^|./>7hP/%m< Dr}8#VPG}ww]D >yuuxL52w活rU _>q%[H<#p)ȋI-wDC(9o?<#v $Cа,O3 h:Cr<"CcQ}#uh:4/_%Kٻ4c¿yIu qq+vw5, T ̖zJ;OGFCJS|wj mWWv|<\>H?%I$R"lD*rg[E=9 0$vS;RcҘY\3ţ$ȸ= KQ[QY"2U嗈Ay|? ZEA rc<2Z$*Gpu&wRd?%)" Ԩ;>.ru+HdiIvt.tD.h8<2^F;b}K:86݅-|9wEy,7BNv]hS4.M],Y"u:U{ E~US#`W  TNѤ6?92^iNG~"Ojɺh;vVMYݦY4jn%4gi_av))QݝSqj~_ەS}ej6(ʑYg&Ʋl2aͳou*;.n<FoKhI/I/S Zs(tGս/K)<͞t"E GuCUЩESŸK%[OƝdqNjpۈ?k-Q9'}AWLxá,xlcQdٱxqDžFuXđYsYb>kZrYt:mJ4&|v:Hn~`c#6>~:k|4Ak(R O"4WC6E1EvЉ4s(O##)G5D;m4t|,c̙GJadh_gW`Gcэgh#1ٻ;y<(׺kx,r[(];"f(mFyИZ{̼}c:65ãտe^OWIzי%—q Gpۙ7<.0'GY "O.F)tg4 j!{GXaQ#{G=S<^П X  $@Z|<2$vs]-OҀ76;(NS+=WuObB x<3E:yN͵ {B7\9)MAF~y^ҨeJU\5=J@PI: N%PyLD¬U-3]Rv/5Dx<*|./_HaA R4q#W5Zƪgmd,ԦpEdS&KMff")4iYτχ'5l1mAጴڒLT"dnGv8>Td·/ǟ}QfB.`a<>묤yϣ$Uk0ӽ@ӟd(QQ]B ܡ@C?y[^xf9%z୔OJYV czgL뷎:b4}msHO}T^pfY%\}e>+e98Yq+|UlTjk{ gI 'ah!{Q/O`2\X 2Т?DjDj$>\6Gt=?K;z5S8Yr'+Zl.-CfbU^3E.GQcdi#5^IxXJH6#I=îҬ\\\${w{Nxa@@"PMR G'&2#^lʫAG -8W\H8폻 } }щ~+܍! Vy 11%cl^_ 1oL2Hyڻ,vSP-\+^#mfY񌖃|}7cHxZbpmbw'Cc=k`Njjɬ3K"A( Rk}BEC8 d/.:q.98LY!I<)#&֫`DLTфZw_;<].0,CʹS =k%n|-{ 09i^쬨xVl)<[FC,֞*g4\Wr<4|i77 ȵ{N֗5Gɢu=]-ޑ ob9yUe4G}wKmQgW}>"p癲:h4:4{  2wz1ݝ6!j6uW vI-4#< ,%v3ovi(O*x `ē ܂xL㺖NM#)(u}GƳ:cnm}ESuUx-$Zww)OVci?w-s>ucXGZiYU:(I=1w9vDZ"w*9t>2)#2[<<7@c6*G"fKE<(OHByl/m-{q= ; F`p{xߺ?w}D h^3q/J3<Ї`Mc#S<4j j{>5>Fstꇓs%sGuN?gZ%jxlsx<.rGj\+6xJ:P{ݣӻͅvgo[!ƣdAגȽT8`%R&l'3_l`Z|c=܌7K@LJ;u<:SECqʧtlgDv*ZX<<' 3"HBH?=IY]dȶtȍOO6e Y"x!". v8^OܕDŽZDjF1FctdMF>7.z CSYi t]8t#"^,[jK>3OB*535f>|!k@a|xe+x\^+ Y*H"^4Y}W.%'#$ܣϯ&/Y ,,Q,}R_o}!>/fLy\~# |p#Jq!?w>μ槑)#ޚ=~3N||/d]LSxy#'50[eH[u OMk\p~ ̡m&@FH/iom{.G{:xL㞿~jf/GYG5k#:0٣q;9,{_s57+_} ^x Ӳ xXt=rnd'sƉQe;1Bc:?4"LeYZVHl>bߞ.(4zEO !9y x8xyYQҪJzdЌ#SjhL|Ǟƅ)VQ2ng K{RdSSfxJw-Ħ6d|(8+[U]p-EOaQ3*'eG~9X <o[>eFqGga*)ihb⚀87L$䎆 p/3}mcP߮6O-&h`ձCYqd&Mֳ߹]NI8C a'}y}#:"p?˫/"A~3xslcZPeڈ)og1jiϣd<"c~FC؈Jpϕ+W:3k\IC ]&FV/ J63nc {n2~ gݝD{m= K48ohg߾.Dmowt? 2*!Dᑙ_0C&K2G%[J+X]Gԛp޹y kme{6hb|ko>OaG}?>5?>ۗh8%"p@};W:Gߕ+ro~^s!xkEVx\}܏s?b=ԽhDw<gNH?Swwu͟y|ZQ#ʣuC7o:?/Ǥw2Al{421V-5cyͿt4B#'>9s u8M]>q 7GBw0~{kC5kRfx$~tKx$e}Ɵ^;޻?_"% \Y(/>e7ǤF'` E7Ǥ?޽ÿ+uVZk~ {ů1Ʌ/ɟSQ[k96Kco,.zʚķei+,Dqn"\M <l A</c YqpX4s33G_9WgiIgG}#R *i~gZ$1u.> kɒϐi3,տ'  ̣ϣK=}LE6)˖G]RS5~ex\P.ǠE)Oe.Y<P,QiHL$e䗕c(%1pɲ!&9pre&ĩu4U[928JvXR#vU.;"sГ%~Y"Eze ^EM׏X.U:\NE1!j+AQ6GhqƱGd=Ytz+RN˚zd'+:ۊXx c">ȯ^k`o2FGc%kU3)W{ˣ!chxt*]yMކb҃[[W&D l89Vǰ,Y2=WJ;YxRWNÚf JkN/zb dE%K*W/G$#bPU'wHJ*B|غ^h֚g*o-Aς`A{YGvXb {^2/;w+}Sz+|þo^v::(xJ~c=߻wx gE؇:7J\C_ڹ!%$O޼y ~$_u_݌Oqqc8Ϸ;jGPZ-^[;oY2|y[Q!7u~GceGgfj.'&q_~&rqPNPl=R\z}rAMNS|a\=YD_գxnrx0vkL|P/PK\rRp|62uߍKgv'tH=If+mE#'`2>ZAFEĤ .9V/9hRwQL3)-icolFwdO9l)VvDX+ŖryQ x}Q!\8#Z"i1u>mU5a pD<fm' ;4@z8qz=T5۔8%|Q|U&*xm Y.{隿3p kBJxmHW;Z/Gw!Xq|XTـ7>O[clVY6Yi|[­;Η&||qPQ1eF a4bXfG ).lz=Oy<>cIW686xޅn cdIqK&5p݈l-LyF|z=fGafaav͈GDŽ'_^AIENDB`homebank-5.3.2/doc/images/7.png0000644000175000017500000000045213604617042013120 00000000000000PNG  IHDR ex`PLTELiqyUHyUHyUHyUHyUHyUHyUHzWJ~^Sph|uI'tRNS/b8]rIDATxeOI0DZ[)xs HUuS ڝ0jާi@>?#~Ȑ7@\Bht].|?&ó?v  p}IENDB`homebank-5.3.2/doc/images/dlg-filter2.png0000644000175000017500000001750613604616712015100 00000000000000PNG  IHDR,PLTE5AgГ񤥦ʸN셇󐠳̼ѿïе䟛İ8奘󒒕ݧƾί۽̈067ë}β=剌êԽϥƞmkqϾƫuҰι|yƼɴ۹L虀lfvxrzE惝̡f\ymx򶱫a`iZ觋yӄԭȸyrKOQHXĻ4x OUIDATxXSWͽF(Qa#eg,EA{o[ꫵU;ߎ}ysؚ =;s_H߀@0?8"QG$ȌVM ,Gڬ~v-S`V]†6f>W*CeTay<խ'Scv{=*G ؿR5˾~c'0+C7NS_0V oQ%9{@U\,z ]Q䛥{\?-~WnU(Tu儆dDL. '-sQ#/^FAFtU#UdtS"V5pݱ6MTFL֐'SТiMe 4߉ld8S"Vm(24ufeXfU86%yP )I4Slq\ap0/ΤHU#*Dz:Y< ʮLqVaQB&҉#T'_$>FCLVb6s*fznJnW͍x6J!9hWs >#NV5[09,p1k}zzɻ L?14`UE60(5R>z0)_u"w/ Ѫ=¨G7`5[,F>TGU՜Æǯ2  F2Up YǼWe .ya8$n<_l8I4o*03n*n"UH,Zm푠ڴ\kT(剪+WGwnDCìadBND #-((o@+["@JhL*CoU'4tDCBcBCWeZbRtRhu%dZ"ںLO'U+ <&U֕sFMrD daD(04jέ}~#Û9"T?\պ}g?[˜_RT{?~>jeW7P|Y~Gom}UsSyíϷ>@uW7Wܺ[7sOV˕Ju뗟׭?|8~WsVyo ޷<1OYBF&l Q"Ka"P510f\U%"?"PEY'HTg"?3C@7/g ,1=z߫>4~s#i8T^[TvK";ֱ #PDtژEc^( t]ŕO E-*DHTz/Jq|08+Q͛f5@!YTQڎAj )1Q*ʦiC-\T׮gZwKɞTmiq2Ka;.az%5,p?dfmh<Հ!rrtjOhKҪNl:כFP9VKLkCkPt׸$hRCk jG8tCDʿ:3?x٬Ű!Тljҽ\@?YMz, /hm"Z5TSkZmkk绗NhזjNm{YgD63sypDvrv"X[JZFa]aE_RUnv+QkBεtD8Y:s~2$#-Qpu$***!\ ."u!l.Ǵmi8U%pA{E-I+ *+ZNa2n瞏};|^p'v ّNU W>).[xAŪu~Զ/ siR[kU96"Nj2\ےM0W8} CkB:D%>zOw]?ZbQmhw'ƲF: Q 4RN #NU.KP*>|!*ѸPAW)438"QG$. ,QJT82UɡUbҳ3o[6bH'UoV{ϧ҇";DD[fEnjE5mwzO]q<cC5/jS|z=pU;֯tg>czx Ia*&/vgUlňSTf.q$; v󾄹؝[KԳ-nEQr&Yq$WH-Xm L:Bi<=y!Ta-y5ęBCG "ZrB@JRK *> kݒ?S?F%^@EJKK\AGJq|+Ϙv%Rm̢5Z*DVJQIUFS8pc>yj2PU5)W0y2ي>k$hC+!Sǥ*YҊ]5ኀQELEj 4Z:]~ Rɤ#ԄA}2˿T aZ2#]]Vojfg͞@Mg`:ǎXid_.,zH:tlcaH/RĘ\ Q=Z[`RS8ԣĴa'Z~z(mg~'w`'͒([k%E['x5P5@ɁBYXjrQUkz]=zu:#v_J-ǫbj_PUGӾYUSv7{|r }PTU˱<_wnRx~s`ELتITJ-MڔR|D 㬧Pco5vvj"ٰUM^%\=7g8UԻu߼e]V&Bk kYЅrXzY(=jZoɨ3T/hkwP ڷZ9 rUԶ!U9;s}zT,ʩ?;;dY2d#꿵D끧ZN.#fޕGGtxO& k%%#~ ,TTJOٻF@w w>8*N&H#ip/h^<03kԀ%U#QGfjtmeeTd1(b \{e IUE_44צU"iMV}vv$URrTp_Khgb6TfsjKHpvp)FUgs΃SI:n^>>$Uw;P.V{ogWw3V1>6B;Hz7N5[ '4׿ʲL$ۮ^p"AbB§w @U?@_j@ASNk ^6j:GQZ]hiVH[c;Dg ibA  2u{xP A1烯^?x_C1ΖP;Zs1!.ui woq?\>q2Q&)$""8{1)Om$Ƅ4cƻO2 6?՛ U!94YpC+A0,WM@n뮶;މ0ӱ@5.4dծK H͏xDž&%XB]c\ID,V/f*Bc2mbLʩq@\wbnBGp%P{_D"ϥP\=sT7MLWEUSRCB4$ć*SLU8Z2{+2"[Z"3;A=WIlqay Tաv޺6w=ɬܵ<9AYVlǾm敃@UpAt58"x/™HcIVC Uv%,fc]e+ B@"Q Ė&lPyڮ o>zx  !.!<*uJX܎lT!3qBUbQ|g`rY WAQyl9A'Z?qxğIz{vWu {G4NuN__y94Y9\:Uh{K.ys[KTv>Ȧ Cϱ8 񸢿.m!ۭm)CЎRo!#>7; fj0ƌp۵Iu ZĪ;ZMs]N>Z\-RJzs8o۫SC|ۏ;/sog]J(ӻRu$TPPs˖ 'sSG D\f^hsAVcjdf,3i!ĻrqwbbA ;?ttdӟL_tgْ@;4`9&#s_YW瀼P)>cjUlu횫l;{39aN 8ϡ2RFq,0Kw_gUe[.V""n3kiӞW6S-~{pRi_^,+:jz&ڝ߰3(1#egفT,7XC5?i6 zdGfeډT?@;7&O>:z4&A&`mdjMv~IRt>Y+lS.{Kx A\3B0<%vFf^P2BC)"YppY2e8*A܁>cba`gb\C'Nk!.Aw->u(ưG'C_-> moϷUƴ$rUc} ds#RApN:~b2 B`!x<] vW]h0}t6N| ,Sw[CZ72#33 Vd4Uv."LTqI+o?u=~ m?m\w)>LcmcV#zh~|іsX;mZg[L\l_q0`ؕ T ̺Sȉ|`-z*1m;cUCްOf{99+V>y4JO܆e˷\\s>#U[ 'S"SCq^${/N)owSTH;^8sT8΄GJhzF+U MWK/ÅұL1GӤHmZ]o I`Ixz?H'y28"QG$DU#UqD*XH $H A )d'k c N+X]=%.Q`=J\iVcY 쫋ph@aU=@X{A`^/ (!Pa)ѝC2Q-yE^q8d~Ex@_#C>X@@TeyU!* U *<)Uy BUUa< ZyYfŕ/w;V՚ tE)n2Qōg]cЫq@Ugc傛ȉ8۱2lUܛD%lȳM^2ٰxw_Nw[zZēFVbSfݓ"eFRR7.*-&iE,鬫2(Ux6!;Ʒ\n!_>X~EyJ*v Owuʇn[lRTǭJd^Ra11GЖzden~VE[s]3s# U4A[Q<3 W/S06ƍ5CUd+9I7'CK s㿓;5Gÿ9{ Ϝ 4Yq]/2"A:v--Tu7aOL~AjHgCqD[EI[Kxw=wgJlqs&WUیz+zۍƭVpse|'Y,% Umimh`M-mmyhShP)Tu!f8_&4U)@U5ycby=TgSj0̀jqUSEkU@TU@UbGWux4X)#Ϸ*x*wh`m}5u&G!`ܢn9<@&f8-W whdD¼:ǡxIENDB`homebank-5.3.2/doc/images/50stackbudget.png0000644000175000017500000001201213274017036015412 00000000000000PNG  IHDRH} PLTE+,a:޷'($%^7䯰ᥥV,)*odwacwv~“}߸~+=`v΀񻏷Ƈȩɚٙ2&f[bglqaj^v!!xswڽөluX^{u~ۧ=/9.8D^\rf{fKqʦӮwph}p|ռS3e=hC۷ҿٹJFA@8lludvrˏ̭ٵռǚ,)9pT:5n}bixTsл*)/*/JYƾ_"oo_C~_jbE/ N6=\"%c߭ʗU(I%\,Gxۧ(E=5z}jj7^REa@^?{N} .,?XqRc diFU>9ݸ@Λ id_JMZbgMSLWquVŬVu[( ?Er lچnNAdjafݷ K*CkPou0wm|NIu;wϞ  @¦9R+^kΡ[ T9_w -^ [x9-HVFp[pyp~Wm!IX?.f5s( H߫Eܿ:zFuQ7-#ȱM 9{FFNFHڪ1)ȅyRMmp"@ ~sd(IUd2)#GǦP!(.'v<I/Zx,Ur 3a$5oid0dR{8mw[bDBBBBBBBB?mDE YEW$6|67W JRzVN .G^ ggeb_oKX٪PgJuʳ!jqHMՁA6ޛbۡ@N7f @sGY ia_(&hdr{@oD Kv/`Dc] V*PAYXD"l; v\lpZ8iv'E22jixJ IOɮQP$$$$Yx@Drt$-94I| e&->4!$@Fiნ9s„Š=gGen#ʂZ wa; w[ƭ[6䫂׿\u8s&<י?;0ßeFnV;J>\ 7wѣ3b>E=vJy%歼zfeܵDmpsl8U+h옑"@X\o w2?uxx폙2rtki?EsU5Z#:@ j HNp #h0k]>#%oЈވLXVoڈAri6E)np(Jw ȣq?NdPVm>`д49UWҘ8Ab@̆Ƣ>S0l^ra/H5Ɨ+4DFxER6~E$HW;#ll5A\ @L,2*3dK@*N߮&3*s=-5g'^3\8ix/sÃ#HQS=| yGICZGBS)+QH+D XY)Y౔\Oq c5e (ZKwIx\|cuYK,vx.] pZ\.WE@=2[ouJc#w`:*m=w +5AAl*dƃy H)0~ ycR'B %gUZ_gM[I4u`D~3)Q*&x`ERv)BWa ׳w}LR󻦛/ ~z.$>9?wp g̿}9MIS2HQXe0JcѴ OWsw Yٝ7 Կ՗5CvuZh st1n`&V8ϏH2\!8Psiy›+w4_i~လGŭ[ S@8!=,f#R~|'9w撧!} COZ"xaQl{_K^n HS߼މ}䈒$:y܉EOQlyOI6 !HMT> '|b0";.! Z. ]yc汮+9i9_tL&,dyvZ\zpc'< ^y|=ե05q' ]i6<`ð@TЭ,9"-P1]m0Ä́ {7.K/aYsnO/47~!N= rl]Ȱ5RyqNrHr}C3uv>X~f #OޥHè@bR,a;ŢvyCQqq(DŽ&{T#ѓ zDD HQIZ꣐' ʂJLF%QG[V,>B H4@Nji4~ !C[tʰp:&ol9$.qĨLZ|exbt($TV b4jSb߰To/Razn rhhJk nFerElX"HG"rUn&qIj*xqSdŹXQiϦQt~j)|Ryara )ҾB/B/<1 ߰D*Hu0!FOڴHy>&@ړ1Ɂ/J !fdŊ(>=c F4,$&oSh/Hp0.u8:F]E7HDja }s[x lcFj-dlx4&Ôa,Z$4,Eda`]N)EjIM[:W2ٮ;Y*>ʀeg,e=il"rj` {*-Y K `eB lp=A6ɕoapF$ݪhdo)TFgc& 'ƷE%fRKk<6ezp0t a)JcM(UŷUFÝ1T#hXRwgX1,UoeCÒx#&$Ai\A~xJ#!R_|$B%F[VЖ5ecwwN|B sK(+5 A1gƓ3:6% A6 kSYҠsi,^: K{3YW< WHdT,rpjFrlك!.rQ$Wfo||<؆geu>.b}I|{B JX ل+3C[X8fX|߰$;a.TrQ3,6bX+M-|װt+|yWs"tjqn=b-ڐG}cJixT4E)4i?jeg$*eLc;65ΥG3dҰ)׆4ϲRcXz7,"m7tX 6nzr]! MgWxz A:vWN?r%Lx[y JeR lґ#l-. w K=gXhXgjH y /Jh+Ap >H3I==k 2=RLz%)dXzϨiX׶`t) ٰIJrTߧE7i $fۮm$_XbYf9dflLk!H6횻1߰ϰ ,SbcXʌ|RYtI·f19d-<7,u4>Ò'jX7WĬIХ7,Ia4,ёa =""4EdXBBBBB?T( AIENDB`homebank-5.3.2/doc/images/use-import3b.png0000644000175000017500000004060613604616712015313 00000000000000PNG  IHDRk^PLTE5~P5؇8嗲鹹⧦Fͼ힣ܿ钞ʺ²=ʷӽYɰ߄뗓̵ļ飴檒˫Փf犗衕ŦʷsöԷٱƼ;ٵǦ{ɰұe^ah_dvD隉~έ㳟̒{057ɠ}v^fw3{ɍtlLVDՇʢktvxvy䴭⵷fd|}o_ޑuݎ_LNPTTnrke}ܟϒxelִeUrƉHPn<[g->AIDATh}PSg5hj\e='$ܼ6/B^@4d!@ aIH]X V^AVi8:ؙL;:9 A\n/_''?~<9sciKJq[Xo&ՅXSͧD&{qaemձ7m:Ѵeu&QIl땱(r"enꕱ&3Mdl=C6$o\IY&XgޔZ7Ue)~=G"Ҹt@=5lK[#B u{ad#x[*pvV1Xmfvjqv.9Ŗ&3!%CC,J k¨kƍX;\TJ$l3ݞ&( CM!Y;g9k|L+YWR7]+o6vG:k}6EV#-6~5vWBs~u,p`XS\K+œIlyq?AJ艇5k4gKGٺY՞;y?Rq.=Z.(:˘1,jϛ߯Ԙ62t' ;?`}d!`k775GU{dxro`VGN\(=* 5uFY_q+1(n?Zx?wՠG~;=zG!=aUqZ'#'JYLz?IŬz['O&)k`+`=㝽Jr嫢JQ#evr~v9V3c݂ !_y)&H,'2Y.eڑauʉXQkUTZwo1B - , px|Wpq# C>1*!N| Y`-(ڄh|Radպ'C}58k>bz8poLFYp*-NIx"()ϧ -W;FϿ>;7;c|۽7$;S0Q_5:i9%J[bַ}n^MYP3.̔QmzaNJ?HH KTf@3! 2dhm4Q1jd{@TPEy[ypo,9F;}_W?tAZ!HS6YpW ?֢:sʣfB9PL 05BmhH4&o=G!im~KSԠ4 *|hTNjL Eh c3!PXSE"Q :0tUDN <DTHc D3؀"#!b. y6kLcPh ,|t.I(HDfPq* sE!\Gg@( l-{y˗@Es>&5*7q' 9bYhC@bYuYKJČZZ&i!aIdK[ƚ6l\9iWj?%~^)kdLoF1Xz~Mf$3VԫۗAXGJZ߾ `l6lԐoܰʶ^>:K|BP#lKC{zl1o@POztJg SbˆnKSuZcz[º%Dւ! 4 1K%7v^($-wxA6Ah/f5Bۢg47.Ȕ-ڙ}-u*7d)ݻ_|q"T;S>ִϮ\ &0v&`Mq;_)<^*|(77oO/Hsux A l . HFQ )$7%!k_d)#dx#]t*ՓП(YA`5T2^* wkw(`hhQtXJxC!GWCE  S*_Ӈ<(/Q5:B#sr&kK#w\WSޮ\owo:cnwoS7cwSATZֹL1l _vKEه/JwH6fCUwmvαGUkJ3]lx'kONUd oq5Zb6x:d5ذ,HogtEINed*bv5eI=7)8!i[ W|KB>}:8ni7c b֐qbF/ittR ֵ̙KعZmVF"2i? -;|;`^|k&O%?WQc[gM9=\7Z;Wxk|D;/pљkazϗG}ODd('1K|@Iٝ7ssnwz@x; fhnn^1|%pKaDe,no&)x[& "ZbX\gT)r"oKs nl3Kݷ6;/ZU̫L _YGa%0\%0q#XlYemX$&zNY%ӊx)*ئeBbyb_V5TF%G&,2|h&A1 ԐݐAnPXۙ΀O/h==.L2TpHsz#)䪌xCXVT%b8,j#,*I bAo6 $xnܠt52bETJX&Pd!0J<+ǮߧGK9#Wz-c}ɯdٗ-?i'HN%ٶֶғg2sJ'Y7]{Yg7Ϛ>3AܾOd,FGujOnwVd}|>^Zo8+"Fv(SDſ*ÑmXSs 2s>:cQ`G2g}wYڦʷMGF,%d 5GVdS"ߑ'T&QO:O%}l91u)gZ\&GVj9پR'l<>-xV{1L)xJnUx 1:=#SUs,"DX}o4Hwo~Ŀ dPL4CR"9DrC|kWqȁ@`x{>~SˆJk_3b[Ⱥa \Sق$$A}*[HKqE@\F M,,₊H1Ʋ}">RZj]ޛ7 b5q~ ̝{ܙ{v.b7o {ԿѴҦJ]{ Hht RF%u5 ]>u[7?^+ix|diʖIƣHeM`K4rT VV׍gJ4zD#ME4#MBuhv!ڶr d!Q Z!4X ccV~{4 kǬCrAy-a4r )8kO?(uGɣ&*5y"ژkϘd].JEo4G9ḅy-zjspssj`e/(O|fV}N߁}::4kO&n[tj>| ~4Ú4ʚb=iYI*<[ʱf瞈˟w>=p#yJ ȷ" %~{9Ɓ;u:g3]|pJib&Y8\VcC܍\}R0Ӧdkgy5wT&]u:љ[e s0{`Z+,,.4%`^?.aUZlb~1#/ uv[ӭ^d[ϚU=JK6YP ŵYnlcmyrL[Jkw9飈 Gn8N}eMm8}c8 o_AIVC [0k}֢ZOC+Q-Y86[JV~㧚cmǚ5fEoo/8-eow=lE@ ?ro~{pA?8ga{D7Moh_<9[2K_?DS=؂wнoX6u$з{x7Po¬K{& š.RrI\'BIkEQ'cݝJMk&bZ5Zyp۠WثbSSSU3M&)^Nv3u(؛:|T`!9C08cN`l9<(;8j=#Qi3L5IbsoGp/qWcF(vd}}||,{%&k |Цz"o| L4=,k艌=i5z/?Pii<ƫ'u5%}p7):l0Ԓ O}4  LJ~1Mp%XQGkB<}ҸNB)ȟS >fnk+xg|-Y]zL#ͮƟ3MZ:Jtv}X]vf?دlIcm X:W+wsb3+r'@ RT` ݢ8=ԩJ]]YV3L ͠ktiGqk^kLA!(9YUrت(y7 i4*@sJ/}\۠-W4 38*tϛɚzȬrg(GѭBEn~ 5HvOf7:R'9rs0 0*L\)JxNu Ǎ_)qN1r'v,ƄSʅwbW8傌}`UJ`7FR7nTVg !>%`Z|<('` "% >a:& !%Hn IA%0M 7XIu ӀaJʐuXW#c d  IÁZǔ/1?YuJ$߻! ~M] ~8k˕é'JpRn\(XVV@T}+ܪ<Sx[' zb\\˭/FqNJ{'uXsLp^WƖH3*X YRc3쪨J(&QCk]:+g"H^%攄+Ͳ4'Nc86S” i"^{<_*TgpQҴXYBBZ71&UiYZ V4A@%*RJ9X vW¾Ռ!lJ@`LQ.~n_B]L6r?1b (cH(`Y]$p` p{hfe#a7[aІÄO+=g({AxUWvxs㗿~}@[5T07^n9 ZR^I~"-jjEA aUOk@ð.?݄m< EpQ-'Z_SַP~hk=LU0adM|=Y-Ͱel_nsG[Qɠ榆`Xr4J&@P}ߊ;d 0$5BsCTVBBCEw?|sݍ(4gg=c%kE"D+].Z~zX$DD x>9溇.]$ZNAxUB(6ϙE GpQ|}4;uP$Ȗ[I(h& "a~^C\wRI4ڶ9tcU؛q?NܧO' dgF.annA{xM Ͽn9$U)b(x2NuF`r"H$;KVCr(B w(D?f;E~9u.6mcgY׶BEm IBOPh z vML bauۮT*[풻q'9FO!jFu/Kt%{egЁ"μ 2ӛpgo>,jgʮg`|,q`ɵ"toAӮ3q@=--Kkh쎫@kjgTyדJ]uٕʫKA'~8."Rλ:c\cā#>gx vhY9c߱C3k~{a:1. 9҃YquKv3ޖ$8<+훯س{gcH}0[XP_Ԗ\>P@vhh-sHFjᬋ@힩ƦxN?A\zQ,j)DO֬bi( |0 \}ukN}MYXiXzx..eҨ7wI@,?a /8~5?97 v#]>MNf߉m=,Κ?7rBBkeS-J B er<0 P׌qx&c^fz}]M59v\wt+L)\w71䵻o$5pfг'h@Q(h$Kxa 2lC*XS+u5 +!l$ Fk$FBk FkFBk$FkFBk$Fk Fk$FBk Fk Fk$FBk FkFBk$oz6慱H Mx^#!ֈ5bX# `OIJ6\:/5C=Y6+(zCp/)+,U9Knf߇o њS+ي=}K4O1`ély~&~0B-]gD?=%'XS,78Nv̊Оy}h0hǥe^V"-ʊ#7\:u찞tXᷔN}Ўяw}5.ye\fufs5fGюyPWQIXeɀA7ё$!$$t A,&>pc7);.|N-˱sk*13U}! Ʃh{__w%-Hh.=^E.>~{bckhcL0pZ cְFSu T /a+[ew-| i6S$k籈dժd,+uJ:y!Q=Ksǜv\[^P>`(iTى,Rׅ^ i~ Ç͉$^g/ ->Cv K3/[{̙#fHL6X\ R//hrBYvK1L7xgBYOho`}C9:8,t}(P<#Ru9$JI\VP.+IkT;xl-Q'[*A6+SH ƌ\q'."O+-d){V =lRCVCfrljH͉ݲM@P;m2qJ#R-لJE:!c7;D:Ƒd]Jrf+%aڴ5kkgװ"*+0ҤW0>f%מS1 TnVdnى:EٔFC3N,aiNe[qnb~?\M73[Vљؖ9ԖK^Us3=O=WQϲt[2i"kT#xQ7eYbSus>BDt34ꕣK/o~ ~WSpNBlwgWx/l;u7 AzzC׿O<']q~T͡'ىznds_fᩞG~IH;駏b 뚝Tޔ[D) q-/ WA?^\*땙o`Mv9z5hjHSݺѬV{[JҙEe&MigRnuuʹa<:8ۗ{B8S=%5oV+1}m=#/x]^SYfk X_zkEJ0rR4`9\hޛyp}%rb1CnbWll(]u2JҜRKƸXB+Nńj*t7 l͢paFRTTx\uU% :n@Rklnb#7'mwfehVWLH>}4&zZ(-",=+|'a ̏Z=<]s7ǻ=XozV<~_{{"=6} sKK...XCYur.==kKN:k4~%ju;G\r\5|+׹ύ.5>% fҁ9E3\w_wwS|pQ(u׿u.]wfvBhפ3Re1Bd!= yH𡥸c7eVl^{`vjwwҸ-F"]AEĵ-u/^I+>uvZ&n[Go<"0&<8>{7e@s/f3£l ^ԦduG*"sSD L#s󃒘p"7WL "hȨ( !bōS PAJl'34_ly`HCWd@/7F)LI`i1j,$}Ϥq*>eMԳ)~[a^ EkD m󀷶GDijX'sdP@a5hC𩵹2h~ qDp7ffPӽ' -)۱VeDž~QooV B|Yt~Lgap?_`{חIDDq(@FF1hJD@3W!,!b|B 򄯌H {1! ?@oڇia"_?;p' :H*H۳F$+m/L|Bc?ܖNIEUK܆5i_5Z&Xk2kFn^`vvf&KK u'묝@!o ?q%i߯>%ì`}Bsn߲q lz@Q֚XlO<}uf,YRCX| }Lhc̻uG$ 6A|<_OI %KP$9 N tr `%vxkgwg ;Xl d;o0|ƙEmPT XMLâJFZGKŹ`)atCIS~??aF,.(a>rxx9_ԭH2/?\3,w}=&kʨR;*_+\*5 qMUnH0s}Yo65cS6[*4jߧ>}:# 5đ&Z=g4Hդu i!z-Pd"',^Ap Oji)ZS8B &DH A<ԍX9iuZJzf-IR&Q).=̖Ҟ_,(lڋʼn*?$_V=Rɋ%U?x3ywSV3ʤGJKP_ׂ8告uÚA"qəFsX3+ޘܫX4獯'oD~_ nϱpy2o%uKw υ\W= zYwasšg,{ycQ>ff~E(&~ȸ딛?rUDݫ)_ΐϐJHv\hYM \zǻ_Q'f.{viKE'1\3)!gC k k kbóu8<IENDB`homebank-5.3.2/doc/images/Makefile.am0000644000175000017500000000015712460435643014306 00000000000000 imagesdir = $(datadir)/homebank/help/images images_DATA = $(wildcard *.png) EXTRA_DIST = $(images_DATA) homebank-5.3.2/doc/images/Makefile.in0000664000175000017500000003450013606633327014322 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 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 = : subdir = doc/images ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs 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)$(imagesdir)" DATA = $(images_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEPS_CFLAGS = @DEPS_CFLAGS@ DEPS_LIBS = @DEPS_LIBS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ 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@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSOUP_CFLAGS = @LIBSOUP_CFLAGS@ LIBSOUP_LIBS = @LIBSOUP_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ 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@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ imagesdir = $(datadir)/homebank/help/images images_DATA = $(wildcard *.png) EXTRA_DIST = $(images_DATA) 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 doc/images/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign doc/images/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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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): install-imagesDATA: $(images_DATA) @$(NORMAL_INSTALL) @list='$(images_DATA)'; test -n "$(imagesdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(imagesdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(imagesdir)" || 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)$(imagesdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(imagesdir)" || exit $$?; \ done uninstall-imagesDATA: @$(NORMAL_UNINSTALL) @list='$(images_DATA)'; test -n "$(imagesdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(imagesdir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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)$(imagesdir)"; 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 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-imagesDATA 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 pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-imagesDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic 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-imagesDATA 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 pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-imagesDATA .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: homebank-5.3.2/doc/images/hb-ope-void.png0000644000175000017500000000042113604617042015057 00000000000000PNG  IHDR(-S?PLTELiq$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ M~tRNS23MYZ_`c_umIDAT(Sm kDڤ䴈ax$ך%W3F [c@ 9#eAIL={pl{swv.6MDI}'nZrIENDB`homebank-5.3.2/doc/images/win-balance1.png0000644000175000017500000005370613604616712015230 00000000000000PNG  IHDR*PLTE5yUH~31c赶9䡋BI̼èHWߣ۵nf–ּȶ㫍񡨳sжMF}éϾƩּɓδq爞ïgOܐm琭尝߭½VS湜пᵎ폫̎tiիoַRk҂ܸǨҿY`aʳ_~ϫ֣˗עͩȡʪmhvqyҸ}`Nězž.46{ZN䳮_W_k>t˯]ҽޖlglq~Қƕ_p֩xٿ8Fͅ_JNQT_t;0j!n=06 IDATxHi'=ocn:3JtbGiH: 8H 5 ^Xg]ҪF<^b Š{KҰdž#b^ (a?9);^y7 AeUVY?SJ-$~- d8ZKl^6K MQ!G%n.&BFMT TqKS%:/P/]B.* p^l(g vߠi8Z'Qpr*km2Ҹ/6@\j5yOq@GUuBN9S6<\[:$Ys!^@J @g8[?qrojb s0t<yxoV>D"7bn.t453FYK @UNJ 7fxjja娎ۦjHR?B6#?xޯS!jձU+GJH0 (($ @{;v3D#$VVuNSDO!O_,; ɠ `8rO7n`|٬Y~||ų hrrl<!==] BVN '</s[k 8b=Yl^76fy'4B5T800}=Ty 23A)ŖoHuYJP uNB IcjM_ّ ?r*bi4@o9A52j :)PuBp{4rXϴc|yZNРPPuҘKyXU<^%~ U?< 95+q" kA% 0 0EYdn@E-bzǪLVi?U#չljVgsE:09r mHܘ\jR8j"H"muqSjw 3#u2Riee%s҃0O?  hʊ? UXMs:u'pk203\B!M|׳R`HNJ^*r6sy^ SŎ[ps6f[9r|sz܊/dsҕրTalgN}d8VtÐm_>K=nvX@ h]Ldhd>7<'\ CI}/&@'FYx.궄 ϝ<Y/OhWg rZ Y5EL#.I"@oȌĴ(o{?7έX쁇F]ZwQ4jHn3 d_qyC .$ yC NwHF*Gw?Ig .疙- >/3K̸vs(3'sр,,Qe'3iazne2<_qotZwZQ 2-^chO`fdd"`LzH}0@HrRBpdc~;yy'T0*$w:Bl5D]D$0"ɬdLKɮpCpq0Ca>8Xz},5[,*`dnU-f郓JPmCTYhHn9hf8`J,`טhA C :VQ`; ߪ׀*f[3?Gi䛿2o/d뀮/"y mɵۧ; w%jggGnyIIkLfF_po>B}t Ӷ;Mԃm ITծudRa*\>e+JsW;i6<(+1Pz NW!dG-4`)F;oG/ܟ\~ԈtIcK(a\V;-\#T-eB&d+* !ESnUBM\b>6#ه%i}'xgpU")|s;wQ $m k; h1$rŒp nN]<ӽ\N0lv%i^/TɋZY2HB9 E^k6ָpU =fg ' C(Og|ՙIGfCOfbB93gw;B{xf`d_5B*{:x\,l𓤅ӝF;| {pC>W$ӳ001c7'lBb3{:aQGHtZd6B[ڃ`N3Y o 'L A`MkG.hrtoRuN«~ZCAzV);!U CX[_4>Ih 7`rmkA00޵AFya%f5 D4 ipw;7D|Q{r,$aȜ+IiBO³Ypd86=d1 l)[f|U.J*JB $KDO;Mǔڕ̢\ev@ȚmYâW*A/[!"{唠P)A6~e#R!$0;EB=D ى0_0ztNmՄ v`fc;Z@"=f g1na\Ĩ&EDuxD^88-RiDQ/} rĀ + i5FگRsf ʢn<9рҎBM #:/{*-jEר*񆭚˅a|i!j4O|rՖZbbI[!kQSW$|9xKZ8M-%gk$eiQyV9ҫGp,rs<P:`r&Bf`k>.Ş _azwbOƭk'͠nJU?گWHfHNR>ۤ-g C#~V? V:;;H}nEG IssN=:D|w>zeQ9z4EE~L @ ܼg2MJԲ@ޛcC%g2DW2ȅ(9܌QnDk*5QpV *t.#a@`ش9,ir].T |VD/ooX0&0m/ `x!xnMr^=SѼ#+贩8r?Ci9VG;#Z#VǑqJ^S6 9-nL!& |~h ,ց|#붓?7Vs&Dӱ_pZaE'iQxrgƝ!A W=IaITɛCX*FYœ!qԑUJS@QC"tR eeΖBXq}vq#0Pr[f` Jك`fݜqpcCb@NatVVjiqf5GT[WGX)Q$U@Χ|,60(C".'_tV}S[~pg{ogKc;*@1TdEe4~Q 8*,mQN~Jk96_$ΝK mX( ؔx+ CADs> lq!eNk1>CbL 9t&EPrHaSKT7<䒕7װi+l? jp<^X-J{*tETHjP_43BXC3/ 7P\d'mQXr(2ee8q-U}!U/,t-K$giU'WjDZ@qMX#3tt۵jH' Z2Z3\\y\F7nVG*wD>G U.*V)Fo&w *ipk#߮{?u9w[[ݿ'Ieн‡][sn:,l0iͻ6>8OR5A2~@DVΦ[x_lϔ-@o4k=)a3qqpof@TqHZqQ? Rn_Qb:[1jyK PFC.43:p) npg.AǾ (K:L h.( RtT)Ug|Xfte8#b[x^v Z VŻR0 Z y|-<>^gtHg((m(h gཀྵ؍ sXt\트›߄V h=N_Sz 4D]5:6|).dsD"/Ӄg \&QΗ\\젨h̭lՑ;l JLZPwTq֓醶J:HO]  Vf>+&UpJN1ɉa ⸘+ 'QV~Մ† a Nڥ,(̒򚸒˯W YV9.UIl:pI=9{b6oC-UtZO+-O--AK霶 JfVZr[Ìpn'};yl4 Á\$)0VV@G DɠGR$LĚidP('" aTst% pB%t`ukQ"D$a!du:s_:3͙r%wls>_ HZ p 8 m-_O~C (`pOtiݏ'[}L?]6Uew#7PP"pH[8 DhH!0<CX0f>4MpZ3 Q^ϤyBǏj|ӏ]8Z"Wm5;)'3d # 0q#}f\lz]Hr Rl{1eDxNGL~aLoxM!ϽJ_ۤ=^kw{ RgNUM}A2+T2S,3KU:b e)P>nlmwA@fi1P 0^`AP<~VZS_tt]ak([X7!"(\|Y=*mr%kx}}A`c'"@`ﳏMW:G-dzcV9!9x5wwo FVAP5.hVii,Z Q08jO]-խ&1|҅70wV&PBkd1A,TK F5~Dk*鏃gHfT@U:<(x|z]ҁhl3F>t,߭6=ӪGpm]<zIb-;:`K{X'^ ˛) b: 0!~a7P$pTDN/Aˍ)4 ~6uZ'V?;grLgitv)@kVY{귔 ʾĥϴQhmb3Jո-ws yS(ñ8Cƒv~p ^P&^k{LVGetFh TW8o3hQba b3`" r;=ݙs4 ~|2t3}*~(r'Uu]zC.8@O[N 7yqmЕ<.z~W[a phw/ <1;s 8Puz]WK{8996C6Y7gfCy3X`(0Bmζ~:>|-# )ʖcI8\FbdYr$i"8gE No "3KqFzz Ԫ$իVbEn [WV\Ľ"m̸)P4fyK7T7Ą?1}3C3 ߒ|?^gɎ8tdf?jb űˊ)4Ig@vvEjv+`|_J$DD̒yX|ɉ]X^͕J$0<@<xMRKYhɤ;*\O]JXJU]ҒV:ҩ(1L>) ӟb)-O`K e[W YY+( ܢIڮMϵ o L/,vk|cV݈ݍv!`u6n%=Cr顀Xwʹu(!e7N1'#>?|8 a{-pE0@a7V( {0+Oݽ~z]{ ;<0mkpׄ1 nkmi`z5z dbQl0yɨ}2-!C-jIqZf7YdBV)n`@w/ ?u6z31ډ)$Ʊ- Q^S;Wo )?Qk0Bo  X`5<k\>תFiSpToPx; ԘSM0r(75D,3!6:z#Lay--asXMi0ɴN.[/8ƄMFjZ@dxXbZabXB:,Z0rV7` ʤ$cAUFU2,eKiDS0lI?,T-!!RS(,z A/~qq[`vK$m._T;&g{¥y 񋳻):LYG^#3m(_BɎ|ZIGx⮶I"~AD 3étu6 KV[r(̂Rȓ*VΈZEh6[/er.=6#~>t!pW{ݿ|sG7XoB+"?1wg`,_82M\""nLcƒC%}IIɚ5<7),TYPU7pH'Z:W[k[U/ʈE /0de ^s*ܗqD! -,r<G?L@ R{H&##lJL6 UT  )Q0c>NqC^fkg dVQ"`E feTQĥ_Ks.gH6N:vt2@z#bI@8>bc~htT!*ϕHue˅ImZf>D$pV̘+`5{L z4 $!%&J %HZMqu cWi6gp1Nz]lUR'ʳhTd53E*]NGoAMTRw!E¦UN^?aG4fqY 8L~TUX{?:jʅNu#~]EtL6T ~C8N,'vN L8a&kuMί +͈9 Y <@!uTN١QWRԭ{2 s„҆=zpy<QG I}GK*{g2.DDhWNTvITfH0~R3ԃjT IUIdq*Y|G)k0+ } B;%@h*ArH¦Cբ`8@P$xoqsUqe5ڀJ+R{sH%Uq`n$h=I1'd5 Ǖ._]I=t1uwI^y \5V t=K ._,Ŧ⺯ϧ_u=5S~`]NG`ڟAe[e?χg4o2Ls@we׺0C?ܚUA7| uN% (~~8ƴ~8 ><@`0<g.\1/$ho̵ *T/3nRЗΕbPec`݂V@6)ؠ^\r|J<Xc}c6$~ub~;嘝1.!V J8I4 , CX; '?eawCpc !R]g^fR%W:j:v0@!ՕdN2i#a%3'(K? tA@:BpOO"$j%#f롽S\!}0bHѠ2O?Q)T Uo~ө׏n?`.8awwAcdL?UMvy&CLC_ J{"Nn&y2c$PҴO> y:'W~+ߛ`?x?@֩.ޝA0TC79F ˃v{cnwƗ5$rGٗ51"ͩ>NtfgU}24`cЩGX #hL?"3ji EA$% xbh@qfw hp-Ka`wldtNjaXYgf @ 2G Q d:*͵P1@X*;hd"0Tc'd `jnWt"5VYpg'F k:BrC7F{g>325C()#w޸ZKNegfeiNӃzr F쇵E-+gZC!o'ˆ!D ш!̿[D /gؘևhT 4BG!vD j7@0ŀtBE&PX~љK_ Ɏ;,ڝ$dfH#;ϲEGѮ&o:l,k_6c (x\CGhJrEԊ"'F b۟P CTPPEjߤҦ,1g..-͢(An[i7WW cOGx?J* Ksj 3 <x˳Q_n @#(Jz Ǩ6NT3hP༎vKiT~R&5wFZ=jf8zjj6juij tKjOJaYq6 Hc"QL2 r_}&VpB!\^}Ùt&n27e?~+1 Yb AʫKi!]|O;Pҭ$y8 >=i:Y.IDJ\A绀9w?"Sb+u B#,¬c-naؔx7$P8 NBa{vs ] .h> y9y 3bBk1, \aB} "'DN[ Bע`9 / @`6ބ23ZmTՊxB ՊX-L` UncA&2_X:]iACo2eϦi+aMxn\ɉԏ(с$~~4pm8=[G'u\iY_6*֍jA6}wm4ii?hf0݈aE;o^i$Ni=>;9_߮e')[ZXl;b[@$Q!Bkl _Ek[Z-`wMX݃^ v߲֞srS$ei,9W lTy 'a|o2 FO?7:Cr)n)(A*u ܳ-g59raVR)fٴ?:\Kv=،>Z??4:fn21])f]+C9FMmc74ZM鹕-IL"&*nkB$j8ulaAZNJ=ڥ1ݴydf|<JCHw9 #bj9cʝ $.=_ w@ ܌ NcU٩̽y%0Xsӯ_=TzPHveuI$+sk{<~tǝm[O*5ujwp:-`/00$Klv2%`0+D̄c1|K`38I[8e/z6A$p LT6Qe"\֣3D)"j ކ50DyĦ8q$J d 1peǰE @('Y@!ΞP|$ro$ӘMWatDcQ4wH3K, Ly?+Τ}HigމP!< ab"R~OJ}R_vz왂4f%U]O.cBɞ38m}'ay|ӯ~xu؎h [ᬲrU[|a:ޏ%OK?)Qm5_3eʡR飮9 |>$';BâD1T-gYk)UBzJ=;v|\O9e57OIPA4I{$MLSb&5?P WnfzlH˶+{9i1_/N?&O.ʁ {R'(iJJU05(F],a0A9R<[jRwԔ@7Z/2SK0}1lK&{:ys~;[qbB'z ;[^͂BcӶ+>^D`^*%-ǐ_QQc@УZ2۵ri-}Ypcn HJ}*Q͕` `7izFo*u701A/ѓ( v|}ۼXa>@kAͭ^D"[os䔧{]e :D Gm*' 0l LL5'kĘ>CM`&3 j'+o,nLzѱXT @Eăzf9+.>W/{}*p %EF⹟dɓ[ٕA`XuMR~N21ef.h (Ȣfad YR h7[̃6ZEtru)FD!^/DoP@Uw~ R ^ҩȤ~GgG|aYxܚY6 x E7'>@7Xt4q#\Č0P(̟8c-KLI=+}E#- ً4gwdPX2&TJuv b0GozD|ӈ < o|)$E( > Vum|m(QnX"IYO aEl."緛e< ~vEQ"t58* 8 `(V e%%QYh 3+2p`F23%L\70l3vH:sjv!%κ`B<PB&$P}v|hǯRz<^)gwY+SmoYI,ISkatp2Ҹ!A7hWWc19{izOa;CA.RB. * "' oLtpfj0 CUBs_Ń Mh>BJ mV{|vӵgE~]}6+{{1wޗM^݆C/ɴ˜;Ffj̵yQ\56uʺCȃO_tJ v}}@;ug3CcE% ?>422I;-ފDm=^ZK'MBa\Rs9,&\5$%\Hܬnf {yN;ϼ=~~̡QF' BO>U:ŏdښ~{A`4 +Mf}z}v{ecMH%jhjFro5t#p I74zCӍgZeQyT&K `VҼxj׊y0:=zYβǓ}t?R@?*c|6{.zx/*xm-G#@Uyf6#?z-qesMJ'Ė'ͯ{Z,TRe0jrThy8ΗB"W e*v t4H =H@+ 4QbbKıE0ߖD-sSL\ @Wt`TȑI: $2If4aPR CUVlKȗj+ NQ@n ;"*v T" $ L!@c~Y A>iIDATK/ RE=iP)4Q5/=#O^;?π$y*pw;?j!HBT`>#"goN!~˂?<xdj/z6w+:u<NF[FΌC B1x?F",!,t쮆E@wե:yPy'mߜk~b=Cckޡ!#{H;{WG{]t&JD A!$`[ɹ nQ!'E)dJi)e=ųd| DŽ=#ÔΛ\SǨuR {<N=#޻'?1v[A0s@(@gi2`)b 4`mȝSTp"@"j$_(0x &Bi[]w6,BtZ)̄@Nd9x*jJؙ܏ 2 /cuud%GX/f1Ht!#!݉Nwr'1!(m-Dz 3g:pr\'n?h#PcwHbpd1'DC3ҘVYƋ?J&bO@]̓LrG/df4;ZŜgWk,x|;n &ZZ;Z -a_WD @ O fJd 4,<,~ %T"]rVpU`.5 efexا`fRx0jN J7&Ue~WMPƌ-#pqUJǔDlt8?jƋU2ٕ\&yx` 7Ֆq!QG\p8 A@̃j,҅-Bx1茲4 xܮz|i&mcdT}`T> D@]q` vd◺7,`v%,% )xr`R1w28 > 29 ȊXh{fow,V@P6GԂ wGADU}>Lg"m- J1ّ_| @c;j;H~Bwx(QNjlnEЧ @`!l7J Pz{   Fd-[ϣ07-ɑӐe6%2q$ė`xQW>"6 HP#E@\=E|aAsd=)}[`e|S$v]'d "'# ~z >÷k6JZrGF87G{&J`לx@Qv+᏾fDWSQ!A啬j8?r%\ޅFGUOt()'cbx7C4],cq J/!l# E.iox l5RA;z]R_/l4v&>L$$CMَ<49tSմvHn=;9~.9 pgnIo L zà|Ш _m^~ې>Sg~cp)էM&DE}_[6LD8T!b<^) &U_ZMX?#SVg!?C֖ %.˧Fru nJc` jmya>MfETtG_j) F3h˕ %LS5œx.G.24Y7dsuM!vl€/-W}!{g$vC-kxGGLw<]9&ͬ⠛gɗ,d3!l}GvE?^[@d3\swfӘIWbjR8hV(b.kA!ͧlht["v2Mp lT-K%m #susTB']| 8 W!Ps $fMcugN_BL*!̤P@~p(IzBXz<9 G{hٰ:͡ _KMn۶݁jC>l~v}xeqjaY L.JAS='fiABT<) ^w0$[ *DkΠPLfb& 2 GU#3!gܥ(:ff?x"Sʩ*o) y|}/ t{ a a&r\5. tTq(\3ʦѸ>:=aQȈB/rsN 9&-B;+jA?fY~Q"/Bwp;^ !B҉vm[p]@<T?78]N~xv'eєSFS9ANXF=r#&GP cTDvX|$(sC4Q}4|i?v2-ܾ|g4Lkt2|p: NEi:!$* !mA% >$KĚ~gw?9Zź yis(;S:sִGZqʰ^1J=凖i{و${ڊSi-Yᔰޒa|ˍO^"xXMxlM."%m6/7>)5\ȩH zgB-IB8Oyu` ː 4$L`D?*Nc*tS+ǜx…Cm)w&(#5iYH>`Hq*n3W: 6/}uJ;Gѩ@]/%%|L7>\z BV@};; )aI@LYWXZ\e:TC8=tHihھ}OLguտͶTBXGS6d'P܉CQmj>˺,eXQ2 )8Min TwmS^ua88 PQXޙ}<ybp~Z8#^}V}29^%`cm`VAmy?8^PYYͲ]].hD\:AӠx{n '/N>n+IӀz:8^C!^ȹ? ]%~YT"NXQL_7;uB׵@Aa y=&\$s~:%84?h\3$tt ЬڿB#Y-5鸸52IރW@3a9~KE&)[!{2&̟HK'A:]E"":y1,elʔM<g>Kh+ې6^Ф`[H-E~hwGiQL> &eukaM*!i>DrJ@!^+ȱ"iTA?[ ;e?x()=@oxɔJAD10oA|C~[3<@_Vp {-"h ni>>5U溤CGꅲ؜J&H6ػ,!Je]+q?hs+ZQn;ʎw]~ix" ZG7^?lI$&v A4 uǎ翖TnUЋ  ÜH ;0 6o #h\8p:CAgH8 !3$tΐp:CAgH8 !](Bxd]F<}?.1Nlz֦{R+ ͗5Мov,/N՛}䃁?Vz֫^_(8y\0f^c9 0?<.x,_=_ \qArZb3PڟӜeE[+@o/W/LJ{uOzW-%o؉VK }>}t>T/{U:e6@m<,PD޷f).+`hO_vVz~Goqggv6yo{mFvnϠ+@{}z=5ixg}Ű)p)M't|u%r½jR 6S7jj/AE@O܍TMGbW]e\LhS\4lnYּsx |ςP\zs&THWHզZK2jӐ54YJ7F۰,ufɐGlҴ>;ۼU[0=:AˊzȺM-.g hcx}$T1*h~'I=Yg(?Ghx5?LFJRtr< AK]rų *,"֚y>0nk zD,p)h&H$f~-[ʳkԱ l:*V㵇{S)ʅ)PnbkĞt)_LX|iǕZy.h.Z꒩ੂJLd@smIuUlOk2o31,7]2})% :9ž+cK.UM6 : camHsj6m0Xn"Kgbe2G y+*l [!F~ӥgjPHRAMKVa {ߑ36q;ΐp:CAgH8 !3$tΐp:CAgH_@q߉y3_{TD|^/a :[ ECoa pjVj앂nG vMR!Ȇ(2-X*U &)ͮۮK@ZNN;bΣQlpa<;GOI_1ٷy<621´B3A%eZlf9ʖqZ0P <'R]ZkND 0ӊjhr߉KH3"j*s =!$?+9ւ MeXʓ}yʆ%|5u!%Q+%DL.FrF4)aKXp*RY\ ߗ&% O)k#ґ5LNk s=#I;Z1^rń)7.i+ %GV6,CeVRN(` tv*=Vq.y :$ dr_d3ӆ7j e5`04>й KlnRÒM_-t]f2GJb+FpgiCBYis6,6,1E4ya|ʆEh>^ 6,p2;bLAc=PJ |V+6Z =b] fkLw :6tcrm3*&ͧA[kۨ&pY:`Y vxS/m͈Lus^^^It:,=ɵTBаp[kݘ6$t Oa!8rҠ#͹rvdӠuM`bz b6,N; Ԡ2lop]C&RP.ebo]A:6liæ;c9xAA!S+dr ?;L&8\"R~9TJ.\e y<:˅]9i"L09x)wXt p#=a5C5$S+B`,R(AD8{:f3.h݉ tAgH8 !3$tΐp:CAgH8 !3$tt h oN [lIշ| Kk2&l&hKc8r7г.t2 HlTSBC3d2 .X\ހp}Ng.Lkwiq[rkj#݋F* yN֎_s2ѵPMzޞk ŸŷZy^ɻ Kl5~ʎ7ʇٞwwk=$_tO'/d(mXjGղsjS)ya5? Yĩ;S.ƶmXD?صBo5_ڈd]Pm9gIY|xvY7rakvXm3YTAgAnݛ34?h\8"WInGu_1R-ǿ~c^6H'aU_\ c)W3rSGH~4BFҠ#B|`E u M )7X `A33m,TtT<:ͭ%5s\,jKIeK.cS4bryقYv$H bւ4lP/  v\.:(X8V,tKk^lXRjVK 눲Nf[8g RLF;(v{rS YQreƺVU*Ѡ6LaJk*E%ڈ[AΗ/O& \t~-%[M~qhnHI~F {=mwLv>:g"Û2V|@WǺsi?,j:eZѾ K>o4!>io 3P3+ԓ#Fs߼LfʡU,(GW?8bovGÛ/6,} 7ҕ ˖]!_q_7ʔ #AIh]WWE䤕|qxSU7h0Esp,ǢvHֹciCn q~}P\xzfyt_Z{m5)7i7R#txCiP+EܭJr"1;tBҸb*T(VTZZlI 2q:FCcZ,'fx QPS.`] }vֻOPVީWreg'9<̇! x+<@gt>(! a4@$,G%[#UOH1ڏF=;ɯ϶tt4hO7.n|֦Cy)b=_W\kj88l;h9;?3툙ؘc҆ w'VG>Lto 2m U>@ a/sW1uF!Os]➁9i2 z[6,hbk- 37Y՝u+r)ePt{N]wfD%4ˈWv ;=/(h;sx\trXV 5'_T)?i<*oK00-}װsI*Te;$,%UO$HMpU'e 5cT\ D~zh*[.:uf7`G xuD dC*j]nyTKTӢi`$ju_\TWJ" +Do[!vʥ,8t@-z ]MÂ>yˮ?V|g/P(9iH^ {ѵ";:|nMhqYBt>]7D*[jDR>g32S ,!yD-+f\ަw1o#Q%EX?~P:_8f3\H|=zRrCWXU8^6mAՍ= W_bGҹ7dW{ w5H<:[4 ,VOÇr4kzi>cu GXw4P'34&gX= 0@w4Ma]T*0d@  05fd^B|`=xoͰ0@S_B*,xNd_F lNeN\2焼8%9+w8T[ʀBY!3&"(X {aً+a ܏Z@'{_.ǃO&{*6^Jfc0 gA|?{ 2:cD -*7՚Ex?ejuʇVNW5g+ tZ:_' ^ݳecj՜O s28 17114{Yٲcv]>k^@̰|i91R}^&]Ui:]ʇ.)@ӈ`"04&%jN/k_͐7S˟8}soY218HE ΢x[˧ru,BtTU㢫̢gTs&_ya6⢻D GEZzL+Ք!M7D!D1!Jy~O߀8-M޹vjgM Sk[0tM?Cch/tuYbyة=j*C 'B}]CÉ~R^ {O^"D_xEWs`scx=cN$̐I"bSY mZl꾭%h* U*07<@&'ىn+Bynj2T >ɊcQYk0(fUEݞmx><$Ԛ$nG+W{{;ޓ S4F3v+!@ @ @ ~%9 bez`$,2v-W4kA ab7S:>fW*mgN Wf~o c\'j~Rw6J=,w@&, IMe(|bKœxC@=hצ2V8eUEЕaSbŮ֧PF.˓c@)U_V'9qccӝKW-[(8WmYۉ Scarvm8|2#seޥuSfMRtݩ,xj3F9x'mG6J躠OZk]/>Qd`#5R E3Q#"LD B2yA21\!zyMh4oQu[ AhE2ߐ0> 6`̿u]T@[YV'EcEr̢}UvQH|)ay!]^E, P4u,*]9s:H=8/QR!N]FfΞW4hQMf<]NeU"Lh`5cbQSg  "@GCOb /Adƥ!oJ6ϋw~`NY1t+ԫ/bM 6C}/N B4 8FĦi5߸q }9[ϳۺ|FhOuWqufj|y An$YuC/wvǽ'B*ŽT\)YhۥZ5jYIG$tƘR9C^9N1@4i *ŕOtj6OqaR\.x fx-7۩ 26t ")i9E[-і}bܭI@w$lb5Ds!.Dv&e .ښ o`мVhP).\+6 lϰD*hafx (PΞn$:"4*R<40W &7oc44MZL0 @0 &3PHr".RcAb!"0IENDB`homebank-5.3.2/doc/images/hb-ope-edit.png0000644000175000017500000000120413604617042015043 00000000000000PNG  IHDR(-S\PLTELiq**,,**»Ҫog{g//////--ʫϹ½˩spZM:s[6n`J{{zvsnq!pomkqymqou%v'x(~|/w[ϖjꈈVVWW⫁Zk[Ƕ]i`mXuVVλX鶍ξʚξ͌4tRNS=K[:IDATxc`V)l~6&nf@:D ʪ[20gA~6tqDhX)*00Hxxq ..(IPv"U\Xkc(.JuQu C(;=T!@g~ElL@C>>E& U\,7 p; 9<&~IIENDB`homebank-5.3.2/doc/images/arrow.png0000644000175000017500000000016013604617136014104 00000000000000PNG  IHDR xU^fPLTEGpLHHHTtRNS@fIDATxc`  6ZM\IENDB`homebank-5.3.2/doc/images/doc_balance.png0000644000175000017500000001162013604617136015167 00000000000000PNG  IHDR%OPLTEGpL441w-44440444 My>NQNLl\jONNNNNNOJ#NNNMNNMPNNNNPMHwOO MNr+V k(Nd&N. N;b1 %NNg&$; 4Uz.%=N+ Dpw-V N8\NN0 N7ZNM(A0OMN' +GNN0NMQr*N?fa$NEq3NNL})Cr+' k( ["N 4 3S0N32?g- ,H g&*E#:_^#|/d% o)MQNN"8 }/02SU NBlN/O 4 ]#?h 5Wu,  Fs4.46N\"  6 .3692L}Cm5VHv -46fIbyKNZ"$< ,44.45^oM^nN};-46.36.45.36z=v@mEYaP.57.46/564VYRgI[fPl).46.46^Tz3s6VNUWS##"!.tRNS93fk"h ~f`VQχwE'4r'@krvX[zٌ@o,|j8ڨ$;Kե˨hϚhZǫas_~/=:93ۼl5ͭIO ]My+dοTF[DjEӃrkW̽,x|!ˡxp9C`Z{mƚNq@skR8?DIDATxmlSϤRbm|]{؎bDZeE73gKC,UpU[*Vb@bbI Im~~q $6i|o~&=yy}BAAAAAAAAAAAAAs t:~r<J;Q [J∡~G^&82/!FcF&qD^0浓W/`Yv#zrF&ڠIO)`99I~C%Rwx;CjG_pr0Cs5B,L(s.eKk%q U%aQ^Վ*[&xfX1 j}`5H<8)yHHX>- P3@Ne䁵 Z .UnIȒ(xU8#wo%łUf&2Mb8aC* D7s9RIv3`k sɹS.:*ck@ 2B1M b .ljaq !f`JlіJؖ ֑j$wՔ`g~] N h< UPZYLT &nl9[y*-K0 [Tp,J6/B )Vy +2)x =PQī+%:#LD,KԴ %.]-6ǀJLjT5- AoC]"B!v-@f=`f]D*=*f b e(X<@*kWFЬ5C? !^r:DJC1nZzhq!Z>L 1:JIګZI!= X)ؓ%ࢂ5)z* eS֎/V4*5IT/0Qu{j$LJYHb  AAqcj^;$u^c>^;Q0 F(`Q0 F(`Q0 F#X;3s~yffK͖zxzz@·?DHOlStٍ&{`[Gp#d§z=%kK2NF@/~YޘqRɚMgEÑc AG&H>Vckvl {Г^Es卾%;jezGl}zgYY-сkWEs/ӫzxt⤌L [g6gւGḑ;sDDN7jZ|#gd)? ⣲^=zlx_MQ;~'tG\|^!;Tz쪣Cxbblťvx^сggV [K֌?fMh,5?^Y/~Ems'(_@{y]{]K(߾zέ;Jrc~Ǥ"\y瓫(X"|xn~Ǥ ~G(EE'xqō w^Zw gmQ8kϏ:kd˃#};ܦim$ osyM {bt6\QZ_BA hDQ#>0h4NXg2yg6/:I& -zShfh:u2m.܋wwQd4 u֜2NSESՉ vG:Z+ u+J6BV\f1 ~ݣQ,`u1<Se؄+#i$".bQ>5]Q=Z* 'đBNO pY5* Y!;Lgٳ+hmORA\)k)Z_p5U> :קT3.>n鐀UQF?BΛL IsDŽނy4تJ"|O*yX&CsLE|NjAP1eL0KR+4T.7$ At+?`29B.ߟC v3Nօ'r:q͇ Ag# mW|Yz{w}񱓇y?&92nأ/_8fs7 )-N\K/g^XWau$\3% g:jYG{KřB=P0h. ΥKO+ӳIR̝maՐm 'T$TkJR#\2`RVI8+ML)`N:>B—:QZP+Sɺ]EϒVqmlq{mɴmKcl`k{wi#$Ma|4k<5-Q]S7x, uuN'wَ u*J%:v^dk-V% `GW?0` A0 , I{}ݥb@GbAC>`Zt=y'_@Xh/x/}{ѷ?s ?c 5K я>N=~B+Ϧb~{oˆrFܟ{MBZw 1=YNh|FtA4H0 hJ\BW!맠!f 6T.|Vkqk4~y6'!r?w!~wec80'zo f>bZ@NhGCx?rDC=W?wwgե&WO#M.CǪˆkuciql3r@&EW!Eك4UV 7Z~ԀXfK3jS"Ln*@[բv^l^n4jpyny@ wy^Nl-yfwћ'GXP84؏K^y'FL'QQ"ܔ\y|5YQekZtC5].bZxqv DK嵍ؿ|$ZC7x gZzO[hf^ޭ.==YMdodt|ˈid)oC?Ν⨡36vo皸];M*u:Tr l6b RͶf9Ao- 2?:x9j7F U 1[cj`~V4,osja3 bl[:;<:;8Mtj%_%;J7tl ̴̛fdKo^ eIʋKK 5YBZ[Sj h"BԂEN43؄ j dOGzB%GY{a2 $\IJNTq8dko.d [Apr 6p .A 8}YnbAWL-Յ gW nD&  ^!GES@x KHlk.N H%C/xCHqF[v\d(A DWȥل9nal 2BNw-U"Gj' f,HAJ\Zi$<4)&Ɗ4JI.o'ɥ{GVc$WsdZoXI9J{+np"+4bq ip :Ĝ-ĥ {o+ ZwiBWq`®\! X¾gs4zMsզ&Slz#FMuG$L7Au]˵+"47@CF󱜱F;D8k1]o5D\QC=Ssab_kCw>TX3>XTo4rc ~xϚ8*&2ꂐT&L$*  J`v&]G3b Lw]avIB- FH8 D́kiTi ɝلbP"4:q+ 0i_JDh7"u.nPMڂ-hQ'i-~qhZFG@^8+=m٩&A#~sB)@y3,uK Z ?5qcOZ?49& lmiSLf9<3M$y01y`ΩXo 07Z򰧏 NL7Vѻ_W@c% 7,4N喖oUQK)z(~|F%fz'X%Hh{MK۟E5ZwTķUm n6 M켱؄!ݩ+JO>n 1$ސZ hcf43M3&t2H;3@Io61(uP3GݏcOMe9M#iKS U|{B +ةp;=( h{p*)kc6a4 eh8g}}Vi\|s"&t K~4H$C|Z] 3$U=U>)C`>po_1g7OZXh˭Srrі BfWlSdv}!f:T19i4$3`\xCM%I+ @6 S Eϯ@#RQBǴwA*A7"t$7N.Xxߨ% ( JiP~~nJE 6r:CiK)Gz!і/ǡPj d3X N$)`uUT  oZl=?ٖ/C]$]3d @!q$]3Vݔ[~:]uS)ҐD$:CCJQdS" ӂoEzX˩p i mi:6,o]颒F*Nߦæ-œ!awu4llYYa8ؼmar;pxV=5.<'?tɓukNIV7Yi5Bzʴ łֱjQ_z\;M׉k2\M WgXiX{ť)],]*fD%ѕo /.WװИd 0 `4АYJ'[bV4"y׮W]ۯנk/dG~eB#;\.Ǯ0(*0vItubz2/X,Yh|x6>O'_iK[~g ܶ\oMҘI< A/: ]>a6rYz#@ " zU'Nat2vQX \ZD/]pR^eqyX@@/64NDb_Ne.E 2[b,TK3#}Xe:52EtX))@+j*u`~Q+kΒ}K#Rz,py* 켋 Ux+ SdaaNt2HG渌@izfw45qgNnNenn.81,.i% 1pf"pbFH*1cN=J1 W 7С:#Ggn-zf}}}Wk ϡA&Ø\6MBt/6 RHVkN"@7̱ќ~rF7>13VK"Mlkb=UkY-j 1VG a(ǬX+=!4`D,^?EM ٜ&O+Sx r@Ӥ#. ֖43jK7#64i, uy`bZx;||)&XobM(NgaV1RΣaK]-#j⦡MAR:( č@RX(K~oB*"¯i& ̬+DhhC`i`BC895#X}#"Bȷ=oDBDFhRPCJ4.H!RPKH\\1 BZ͏',.рW @*ՀI'2-ոINu7DCn0r N[NO!' d1MHp4).}L {ĀD E"pa$DŽS^C0 $rO-]n@V[\CX۞?x9d g`?\q!ťj34O3=YÓmB GO/F)xY.$mC}ܞ@xٛ{^|34с׎^xhF34fOכۦ=hV\۳xI~TBS5XCgq՟JbL7"zmb`ZO`vW Ӣ5B OW5z#NhbꁱXq[ʚy{7si67ǠQ>rTo^{j`ns)2FU8hL( ދλzz86Xcx{_˹j-]_~Y&@?2suQlW jJ6y.mϧi~)%usۺ&rU'ӹXHP,~ vҸZğ9'41tFlDf88tDzt ԩqQbUل KBF(vI<Rں:lLH3:'n Op++/Q6;e bΟvo8jn'4O8+̧b`O*jR~ic[͙]+Je퟿m͕phjGtmzz?XPSv~$-JϺ:V98'WtTe2&2C#d JT'rhu_;+TpFV?*;Mc:2;ie5EwL}e Rv9T~h-ۜ7l sNZFlVL ^4ڂ{)蚫D49ʢ[]>o8+ #Ge系d+:'VO5͚?(W1egimߦ[C5 u~ጋOD7w}sЪ#βmOw8kkTܪ}~}nUي(G_Ԍ,2=2^i1^/ݲf67֭oɼYtfRP敢]*K84*sҸtjzǭQWFCٲj5>(놶彺K c"4ÀFUf 4Ó) ؙc=+*wz JGJ>x~n,m7F6lٙ9\!Gߊ׎o߸}>[5}jG;o5z$ArSs_o'?(ѧ7;C8#鍈_ˉh!Fg˝c6+rGΨ('4]ӹ=f/DiY+TOz?Mu{ 6*k'K ]bIesr!z86{)147q*͸jŝj~"+tmVf_Lirt[(ZNJ4MZӄf p$ EI`Dۮ(@.$T7uO\ *FVv]%?NKKU)Tt:33;l*gH@ai'/`fT{Рt>-/:hk`[e8 ʵ ɖke=:ʷקm56]4;B=?} mg+ B<̺4ͶC|(O5ч/d]33Bds޶۵̤PTڪey&H~*(u*xdTB+_)gȇN5V]7_6[TeKsQhDIQ>gP:kHsXE\'^LIDATIڪ rtU>xSt4`Y.=ib{ !WЇURY_>(*>UVTRuJ:J;GIJZm={i/~f]x)6R|SWʳ fAY5M7}9hPS}^WR>u6 ?6f_)K|WkơO} } 74+j*P9ooyݳ ^ԆF> ]j7 H Ҁ4 HcE w+TX<̋Pont^<>ǿ4?$ xTYyfR(z V#}7F:csJ#;SP^P;3 _J'mRq F{j4|)g@ROS]}*R8nmV$f)h8-<6n7- k@m^@Z+ dt:@kck,Z6)Lfl4D^sg2?z:/dh*ND bi gjՑHPeb=a]e"ڸ4ˈ/٬A žvsG! i47q>ӓ\Bls,HH_\_|yՒ ?bTVO/KRǂcX7l 5QCiH??[,s,Q' &qqJ't?܊4 ]"4ȸ*Q#GR_@NgU9kAE %%%u/@Sa4^! @4DEAh6ݟ{\ңw4r4豄֘SWnI<~e۶ 6K^B뢁`I'4>i d=lUL6>T+T}QSXbj=˝|\%G+vOiBAE&myIfc~Ϟ(7+3ZΚ{TewAt0CmθT|qFQW>sP6K*ˏܫVk2ϫ&'^5 C(6hD`hio6Ջٚf{!@5>&j{]%g XF0@O/|IQEYFRƌZ)TK{]^ A;qE%-neh7hEf mؘ'YTW2uN{g2dDՊ3] J !M#evF)өxƢ|E=wz˃ iK4^i8HcF84"(pI@"F1alH)#cS)UBw0Pxϥ-}KJ(b/$At8]6 _)8]h\؆(uݒ"X2 J~^׆yYbP?&"ŧ BY;' { sMǁ=\/N(0PTWD@ouq*_h`8&WG[A#r6FK4X=x>xUvYA(b+dz.D{OZ'EX%z4<*FY3 OMJVNKm%4 (r)dLLFjbh\\# ;5Pb9(ͦ)ꔊd}YnJN7LTM(Қ/vVpם朼s׷>xq4K4OjЈJE-OԆ[돦2`c}^0))R(ܜ3:;3z۠ArmBh8B˭ʋq˄(5\YH'֘kȋ0!.%=)QCeϋTr[YYӂ]"ZQ.]R({/͟$&:Ѫoi'q3ydO> u3}t+џh%n\~P}wIHư/u֦^>_*/F5փ lz-O?'y_Gb*kL:/%|k~F5֓KztljDKC{Wju:ݙ6n] ⷠQ ΥxX=⧮dFOɉ׿Iuzٮ `Óqc_'q~kЀϩ@4Yq5*v \<*N \C GE||WEڣa-ܙ;p\0v:LH Z 7m,ah w F1|աFCW}Ē ܂gXe8{(1ӐG :%g1g#8E40DwP9 rC44R RX)gK%Z:uu_x#Ѱ3maE0}kcKQ PkEv/AnƆûukgͽ] -Z$9 *H 4x& NC5Z@w؛f45Pw&(]4$ܒ`CUܣrQ- bB54*A@϶/]!#M}-돧\WFkqw^4%"^)lL-뜺j4GFHmώhnyYG:D3$r8h5H <> qUcoƓdˮ$nŦ$ JPKuAc]P('=(Se sf4;ٙ 3u `3nt7މ"C^˯TN` 4!5Q'h 4Z@@c&spfK fC㷼0i!ׅnF/~%xO1FFvX!Ûtpf1oLoq(~…zF]]ŌC䏎r{9 -&cCG*+4 4PwyUѾ1?Uդij5oNyߣF' J9:IY1?M}|&Un)IDC+eFwEqȻ..XX7U{Eqjt*ƀr<9K eeTA2aɀS\R@#D?]V z7"ʼsJhd0"I;p̀@ d7(4>Z?I KϠyV-A] CXsJ$SQtzwANxn_Fלm0m:ba5<\S4G_!ioΦ7c࠱?{87 7ϖ,io4IQ8e!i=;6z. ri}f~#${(Tmezil%40;j^{q~{ǛN-L? 1 4McAC' 4>% AC' .4h%TACXY~F[ U99՚ .J?ۙFIENDB`homebank-5.3.2/doc/images/win-statistics2.png0000644000175000017500000004675613604616712016045 00000000000000PNG  IHDR*PLTEv`s1&x3cyUH億333w/$yc}h0-%󫚕pdŰ򟍇ݻйȳ4}ۡ;zӷǘӭƱ/01nԲtu_ǭØ~ɻ觸~Ŵ—bˏ1(ݼljڵǪ{Ŧ1v|Ux뭲ÄzvxuAչϹ^py»zrť@ELΗkgkC0AOfjLڰ׮U`t[h᫈YVYմ8:dQG*k37>52L+W@ۀlؖ"iďIU^&tmy|k>?;QwἮ3j\Te ;E]K]8czn+ *{xӺhz@1g(TۇoB7nW}-W^E?7oj\stG'Bɦv %q($Ӻ/|TP&.mbh1 W z1A'g xc^og.ؿ\v|@,(ʁ)(v0ܲܤQ~6)p. ߿ Jtg)\1 >q2qFYϗ;*=S%gnQvZ IE)-@oWqUIc%js h^_VVvSNvd ;XKu K"KhH  {B9x6N JL<M?lYo%N+z^y<%W'].p@PǕ-֦NH8gܡ pݻOGz:X$" cSE~& eߏXuǼVN JnT%=uN L$K+P4_:Ǐ-cԕalt}LQɮN(tAYo?zzq9@Hih:Atԗ)x9k@)svߛ&6JB'e@T/uo+Nd 14Z |M<9k@PЇk),)7 X}^ po`AEM<+ AGxwijgYh>-Y~qfQezͦGtl"d^}`g"V+ے>xx^໧O!=8?DEyWua'&&2T0%Owvvڇmo~A"ļ%t2%2bRn޼i &: xUul X{qV#3!(0RyػHH;Ҿ=BȤ0wR0_A-s !)(@3xM2UFc9oWq<hrEE)*_EP⪣OV 10`9x!%.kYG[zSP$5uÅ֡^E_ԵJgOO5mPLn)ƎwyZ$Q'<"|k_WHܤDpI&7L$ IO|xw*s[*Ic`g!* J* I8} u\7 ^taSdMJP0OGf8JAO wY~L.qVqW8:%`M=^"/I+U#& A])R"z`:oɴ͞+@V+u utbޭA,!m~&ϵm"u2ﶤ.O nL\w$VUYY;)p,^`֖VS󸽖^Ϣxi ]a8!GOl\FVYThoYukvf@>}ɪvma& Gu6 _k1 Ʀe?4}|DZTaP9/'A5PIFj7`|(ZO Jn tb)@ăqυG+pi,]02(2pPZ{Z:ibWm;b9%T|dڠvɢ|&`ǢgQlSwv7t1]nXO)H W@#7'F&VndI4vbЀ=FT-mNn'tWhQj'FV@#0OьwG,YN B?%(O CL>Rx|GA2)s2S0^@]s>O"#z/ejXl ¹*MZ V |[`0keh 5)*7}>D HȸK^D~#M$ 6!Sh$닋 \\.#e(P? bԂA=`Ǭ5l|`///_BBڵ_Xq<ʭ)E$δXݡjīEAF( 1b.]H i|#40̥̍XfC J( %"9@Pvy A>Ki @cT|1cy9>8h~ ϊ%h$?;䗰rLYQlrp$mGtwbtpA*hX9 Z /+@uv`cU(B@ ;{j>.v= C3|z86#0g7A5alHD$Xz'1]?"@Ma>%h0gӥN_jwuVOՐXX0 Θfi!^ 鿾?O!mL멸/s8[#ӁH2]:j:zxkr^e,aAӬYl4o]>ioGYC'^, M} V_RM7 TlIm5D$_尵p ɑIyAj%Q02-yӺ+SbpZ{7]j-Tt\|0ll阘rBV>0:$U>Y2nnl ]iL 7r,T}^DMcfRVIgذ:3{54hJ)YPg$^%bFe5(gNg[v %ϰ-HxT9FWXw, R0}jN8 ʉ&l &aL!^)`AQA #(0j jJ+wSZw^ⴵs:;' $!! s`WQ8!>/|, Qpq$l#ϾP9χ/&OF|Ɗ"DDS Ď*!(?Z.H9-*oK@=TiU0yzSV~DVg{3F=Yk*1Q }SyV#ǁdRݧ`\/G}h\#Bu]?1 f]R\S )# p q}6#'T &&'nxxOzQ9ȆO1662)lZ7 `!/sst:.60#E:8:0ZܧGbNcwH6 Ⱦb'ʢUytlָyDy'8(Iِ1q ܉KdV*#'Cn4 9QEۮbxF&'j?Cc醜 T '*9YY* Q% L ,(  6*w Ux>)}Gp WFW˶bx'[699BE?iqOOYQVZ tQ3w1@qj/(0h.E vW`Heh8I%:@'>!JF|6.^nA#a+bȊ D:l9yZ  &0$0dbHMHH'q<{9C/?н>Nܻ7ɮxtΝEbWיlhg`%Yi~GgiuX\#b:TU<~}j>dXW6d111;vu:st0ʺķշt P,^( I޸.0i]bH@KOnд46ulJ#s|#ݷb(oNO  e3v7"fm^#>k2ZWX`-Z`dwIU}c֦1SJJe@9oLO|Tzӗ֯_w`Y\/g@r.#t pBt#볾j/ŐuddD~# [TeWJJwd'i[q] k??frAY#:>0X'LOHlE %G5 mkj^x|۶DObHK '~/7o]Ɏ1(>, 8RC77ߦ\'.0`j&TNf :}@^yssN(;*kn4FꆅJ@h{on;+Mۓ P"-,#/f-o[$)d/Y BpNv:p E޵P-m 5abZRIz%jQDuWs, }D `8 2C)  ' x(60TH!;_o9>yf3g0ܜ.ŠF.=vuqX\97huɽXIybDf!(T3(Z.hZ S!:=|ɊK_/g1r3'w* J01  yAC6|>@4٩75_p`GQ,V]4 eZ4>p0|,Ҁg=vՇG19^2 b >Y(9{7w;#|*sCP{sM[C}g66Ftr@d`LO4g~i+p֢$`7{o~_/ Q(~$!=<~0yyGf< X2 @oT|x뚛ĪeOC_[< fK}y19_{h6.7IgD d_݀i3X[Rx #;uJA3} J/=Y:(Zr}86Ѐ0Le`e+WXt<%;w&yn"}^eyd3 ~ Ca:/'a^? *CEcuۑ<7t x=//^DR:PI8@wۑKpvz ;..2z| }?))?\%偁p?)̛|T+ =lY` Hv. yؚUNP|RZ[ߔ[Lik6ff76SL:7TvZG-͆<|m9D0ֿX7{] i>;Lj_~U銗/Y)j!`[{pO;W(M9" O}IN)ڎpmʿ= n`@FW*FSi ?@LiUrrduf&).EPm6@yvߎXa1EC5Za]P^Ky%NT Lݓ `OF +A-Ȭ u@6P%9MV_3Od]x@!RF$/&DK {ʤѻq ߮L/@ @IO`6:osWH>|Á,̆0z Xc؁pNA+Kx/ XQ9+ 9<`\ ▋!ޚ5wHxWŸvs\w=\@9s` Av`ރ '>`.  p[;l hYh8l4|#E7z& wwᠫ0m.][X\Ka򵈥c6"??f7S\"@ d8X8^:`~NвP-w| kV)h(idpZdxCd\xBǢ8MCdak;&Z,ſ4ES0\d,|IT54ujz;M@Z$"K?1$ 3c9%rτfyGfDS~9{Snؚq{s u柿dZ}\1gktu*X#ݞ\ywjus:~e<~/o *wH@b\7\wrDD4 l_ '$s~9 ^ qA mE3.qs~j`-OlcqAJ),GM Rmx(fO֓)5Ҍ9%۶\i[ *[8cF ¶-.l+܋\C CfG `̎?;9Į+e,<)N-H029O b&檒ZYqH6}itqB:t{y\7+1=~ D4T\GݗУ³ҌV4Ai6S@=%{Ɲi{ n.8 v :*;mrB9%<)ՃzxWzUmReG% fiz7 "NpiCY Ta 3րuGBt)buI)|'!*Vdeh| y@J{f2N `?p"i>@э=W\MxuҸr0 bpi\K\:CpìiԦRYIi=ĞǞ֘ڠ?  ϗb:B6gc'h/.GaUӟsIoI-DU-_*JpIhK N X-#$&1I)_$`RfY@f17Q`)? €J `7{kuʆrflOfi{@)oui' /O@@ Af$:1-v~ӐSaeoPs IPr]R̋yR:lE  Dl$9aAR@c0] o 1 `NMlzAN\@NISD֙,k3 o7z~hp\d ՛\)zTZlOLCA2xha']}!COQ W _%/j)ľ>$O ||!t/mb0~8<`F`l;0 h8g*1+#szY00}z4CN'cvI^q,L6}) N"c6J#ΙTŖ 3/`U]:_fxP9~N7Bkc%ZlKf؂1y]a8lM|}[0v~8c˖-1o5;M1~Z.Mc*HLhb)W/]^Nm.K!)RTT3NY8p 7DmeVTKB0!"`g>ļ8'ӿ`1{CK/*뿸@l- c}si2xQ6i)elZbNKPiiKRAZ Hx=:qtp3Ύ茓ىsdr<&?_i !ӧE#> 﫟[OzCQ(~h!$}M"N17.[4xG J^[^0TDiōʃ2pAIߊ*5Lq!QVlN#JAُlO$&9"~q@WJVp f#}.Yg/${ hBlb/ͯnub<9ၥu!]prm.x%_[JG o\'=co.(]< >Դ̴a-|Y"HJdø$sBߖlC=lSq!ُW f,ȉqv^ WX2C9Mr @מԥ"*׆hiN~ B-P6]tr":{Yp^?EVt~ zn@ӄ7(*[Z";w~qe`ׇEHό$n7$yC(BCxh[:^╽RG9hELk5a,$$!g #4 Zu- HnՌN+n5kZ; P*Cl7k˧+-^0<|8א}Zٱ_L.\g.kY6m6h w%~_ =`.KTW~˘_3)+(v,7TT$T^0MAh'[yaLPg2aL[A>adp'en6t#1|;D/n D>WrjOS=nu '% -ч+ȶoiC}|( Ʒ%x*A Q%۸7ցƉ, 69"VŪlB_in70 oc-ā~;@@_f`[ҍYCmk h:#r=G=Tny/ _9ى!\@nŦZ_R/Ҋ}eBLS# 0*Bv&/t-'q:::V`l*WśmIi+1%BjXwRH s`S`ukMgq r. ` ~kz+b5[TW7wWĵ,FńPTnS7&WYpi킅yRscrjAcs8wjJBd.qO"^hlK>{5>xDIQuǭ- i ݢ?'Db.ƦǔscBqv&'"Ħd$<Vm8O\rm'pyvv.Ii\ iZػڤ{4rԡ`=fTf+ Xp,Z XOܤF ]#jl dc'*̃?~jT2fqTe.1N@ׂB7 BfSX4~ +AE]p6ǣž(|O;<~BQ<"ăEG w4pKAO,AW'O7ߙQK ڦBCzpDm*q&ml*[9$鮽ZQk0vϵw`764Z׋c==b %B"m~{n&6x,p7S"ޛ?ce jڨ:Q20cZǛ cI3zl,3y.?4//S76}Ǟ&8RUs9 .:uDovcMbR r[tZu{ISjm*6ҫeyәmr@Zy$_n}  ~5^<ۏl?9ΟAs: 4C$\hpܩ|0y ?\P6_0 $j,9i)U^NgTT0px3J5Gyt9;6FUn11,OvDlE,ږ,5 y8uzjEc.6D$5WȒAu7TT6hͲFDlIn(@n2X!sY d]wΌSC!L^?ˏ17,% C#d# BvK+a .:e%,ot@pqQu-,dF~-e@Ll+X+ knm<,L|\GO8  "\x#vb0)+՚1XX,_L(  pI%4 Rf;.2*kn 9Uw([lhI8h0EbU-^k*sro&& nAj5:@BTI&?`: g@ : 7r6T!yUm= %0'y MN4Caj$PU}.^\n+QnFB$4epęYە`g3۬`W[^Ad«W= ?~HJB7|[֩fkE֬[4"ŅesV`d>=CWwnarRզaG@# [ צWT);eV<(l?SyXQ6S&m*T!H7ZC @:BsZ,yiNtmR\~^=Sd]+ZUQp2Snā 1J.Rs-vXiܟW"U1s  5W.k9ƎB`Pք!pU8HN<F0CO @JՀ'(ƌnizj,Ed1ZH9--z)s]걑uo!bU}.;ɢZxACՑQP2a=` Cf_԰CL2 '"$Nv#FrHE:DOnǂ !8 |oʀ b2нICS߇>@.9Fq,0H jQ1t&^6. 2n! dce,^  Bb|N/49px:P%uY tFO"=,$"roܞ^pQ ǻi!Eʠ۳UZ~zW w@ep;;„! mrഁ>h*~l( ! P7 qH GU᠂tAkL^sЛ5$perk`{J S}Pznl/䎀J`e%$ZMzو:0Rh%jHih?fx*`;/$ P@0Q!N`yA*zDK0^g,HH3l}2Ӭ/ؔE ʤ}!e<~d2WAFp{0A" n|,``l\i]Lԁ FIYiȷMv^keS/b^,R+eIfcJ6͗$ү)jh_F됟i ̷-'& ޚ2ȹ] p!k}`D*_d@I$) 1j:/Ed$Șԗ YG=DPtOf A\Qښ2DZ#hcaY kA)HO'P0L A~l'aYΫf'!@`ɬ U?ބ!,7WN:ď G)bbf30}E`/nЖ A @G"} mJV`V,ai1Eۍf( 2.Rl1>]bz1rs8HU2PJ8PP$$cfb\=xӋTy7-Ϳ737f㓏ߛ PNN=bx`Y^}7o|ѧb%F󿙌81ou7nY0!:'# Lcdh8VF ~R]6x,~)ȍloH|i>PW206~u'`yIzLX Hm7yP HxL-r0~S\V6 ^ 4oot7#D.?  Nx?@>4CޙZO,(}%-DZ,I?~#%M`lV(J?`.p`3hr4Nt$>Or\UrGmTƧ/~R瀮 qLVQ,MVAP(.~2)K@#\<*;rޅTfp>FYAp/ z{ΪWvSN:oOw <]eUd}:u(zDGiNE'9t7^>}H7SO)A$XKD!&)*GtB|:,Q'1wi0Y\o'<"@`2(Q @|&5/Ajpj[@@;s| ?YY{}v֬=x/!Ot;_ivŝV VS}Q]_Y_mjbS 4@KzSۿ.(Mn3l ^-^g|;s `g:o۬ji |$PR^(Hy#sjm٩/q%4d@6—=`-{ïWjvp,R ` aN h./i/Ҋ\\ܗq孮pL@2^z^?xEԯޠm=S>E=a'lCy]p.1N~ܳ;Znp;_%$PaaIY>˦v,+[?4 S[&J *j7 m6LByC?䠲jz7 R] 48j'~0z#oWWAP_Z^ >mj8%>|(JmWKmxOw =HG4ʃ}2~@9b{ұ~0fxύ );c(@4|F]I .@vh?maM09?udO$wD 7HF) X;mNOg8hTH gLBb!w;ťQ87*/q3`P~DW ጗ Ynr}0{iqG'  Ĝ4w?p#q(֗R/mz U@hX,B(MEZl\ wVoɶ>Ȋg˦dʙMbp38v,d>?S:=d Q!XR r>@o&`SNO "οg9IJH,NFL|M# rG"iJ`&p3ċp0 $Nz Ƈp:\힥xæ\3 @='b*WuOq4r[6}^ dc'ܗ}] ʉfCk.N~*Pȝ AB(g16Oh{T8F߆X>fRSfY1Lcф~2~z` $ IDATx@SW$@J1 @}A0# {Y ,V{jjk_wnP$ 󯁛s3.97A LoPS}VɪJ_2WhF 1Ҝsg&jpV 9@ST!Y"RQn @ټR(6R-n#hJ%`ˆDK޼h gA乢%o(o]E9 Ԇ#DN*2$m bO D@ƊE^9 DD&%4o(b#;mA(;RBjkGMt{"WN(do!9tVDswj|2wX]|dnbn}e#" fi+n<[aW޺?Nnaʟ#Ppqma:n9flfqnqS54/7\>{=xlg{^*7_dZ{?6%ъ>׭֮?J?۽5 5O*Խ*` -EYDm0pᖽApÂ{lAX{2saST2 |kO=y}鉛h2UDz.>0,)C5j o(P)F;3 dڹï{{[?rk|Oh1|];`= Ums}Vâ8(Ęt֐JYnJAŌ JXg=,;K!C2(1n a9uP/sD:Oq;N9@"߄#F"B<y0;NxO0sg9 4ǨNռۢ8!Y 2,6㢸˥f'2EfgEQyQlEj9^zųE*8AJ+ ʒ Dq|oŬ}&E d4sDi;;DFA;_J{*] >uɘ`L[&dBd|U2^Մ~XE3TMTLJFe|@}эn] \Άjƈ"%4-EbHJIkޗ sOrbv_8YKi5rr~`B0e(Kd6/D&a/_:D~}ѐB^5"i '=ԟmYk61:)mym i^9-N2.CSއ eGu؝hrkOy5B˅{ެg{BD\@^JZ[i]rDz}iP 5(56vI.nQZ5kBS,!J B>NDFmV D_|dHxc4?0h?r-8<2|ƃO_OXתӶgc4OL,h祥4UQi7uӃ\ \Tojjdž賠 }MJU{.Nߵ(Hp:Wm|+]́ ]s+aq%*~$mȽдTaC.ٺChO nʢIz[)[oOgF4", zsՖh;.&?d(&#cBUL2&=UE TxU<بi2&tL J<0GZoRJK{BJ82g5:8Nt?[*2ܩ/Ghi'$ 8;^!xmЭ-$H/y2dy$E#_8_ъVzRE,o]}1h1=A !bgi <-4K0ՠ?4Q\<.ZQ |=\8(`p<&Cr N\(wh ȳOJkq6_&IǭojPG? =9wF^0:-TOf؊3*c̑Um:G9ӓHZkI,7䗋2n.Ŧ wJtTUoڳŭz$OIqሦvHp=Pqjl/>4r bRE6i) Dӗ*cWr짺4ZFu;&XzAtFAa/Ɍf7e](I)`DyΩ ;U,]/h i\яvBq0``hњ.5@!]/." azT 7]'Q2o{C=Q( Jnkl{PBQ(:DA7p_?Mǣ 7*Pt:D+޽O;qPtUF%ȍ25e1t= $~/50+<9>j͆1C +??iHn<TԁQwkQ1{h,oNh]&n=AEQ(N- emޓLS7@Dm Ae;>58ݧkRnbxZuxM뛎yr^q`eF]Eп1]gUqI)Vupx(fVDKKRN3wQJkB"=.)}`6R]@~MVy1>]|Сܞ.FO]5eqnW挈86ǜUg]^AdY}9 &QE z!'k0+:sD*&kPΆdDiVD -4QvFY띭u"\\('"ͬٵ`/ MJGDˬ-AS@4ɥ\Ht/$Iq.W~Gp<ꀍ2YlBe d a4tw~ࠥ,(-i li|e}Q}d.((q# EEgB{pQ9G9z2|⌜2Tw\m{qJF|ؚE(PSe贈559јECT;,UF^8? ß0A;eMq,,0DW6<'Wdpaj20=+y,2:/l-beE8ad T36jaz\ِtV@5u4,l-jc85yT ͌tAmz(01M0Dlf}6|v45*l#Uw'&oj@۞f~1=A4Z=&߻-@OF3?J W6P =Z\@=pJY;Q@ endk-ތ+QW6EEozlS '~?'1?5|eCC]+%Z!/SmiVXYP"TZ ReW6Efm^!4e5]D LZٚ(ꂫòuzeP 7z\L]<-b U@9CQD^L_J q=}( h0)A!˽3#Yo'F o p^)!p1\ +&‰} ! 3=sm~l̓PBQ( E(PBQ( E(PBQ( E(PBQ( E(PBQ( E(PBQ( E(PBQ( E(PBQ( E(PBQ( E(PBQ( E(PBQ( E(PBQ( E(PBQ(:EeJ#JTH EBlȘhEd *HX@g rc"QJB|J5-3QiH/W*ES,, E3ыFT]O"I">ŋ4J%|%5󢋆AOI-^46K%|AѢXQ^ԑɅڢ"S[&J QztX^$'蒑HT%q&>/j?7pg/`R'%ŴFmOJ"D_p`JJJbWTc7je {QT> ~P1.BG 4U3rI`^؜D?c?T0E16T*pRED QT^'+h$ Yy(kp'TlT\}0zTtӧ(pG4ӉEѯ"ji#EcyzV|4F#D*[f8lVY;8GfcX #jk!Lb|5bNJT`BŰcDǔE Z0PtXP1m ic-E :@zՂᬒ~Ұ6|Y /FLDitRCcՇZ:zQO5֨{I%#u04 ʰnxBBCBtgN#!o@5OdeMET#- ImC8u4/OTa!4Q%XW4->`wk;>>% I Ix(ڢZHQE'"GiAؐAi|INN(ؖZ]߆,lLQT "a!,2+K@qkd##"&EǫhGJCSEE,|)BD$&Q(QE"}#E_"~qpl \3WrKE_*ؼGPg>D(LqSW/ 5jwHBIbFabH7k]w`ſp&G,Ŏv)3*59a]58%35^.-JdQXvYLN(#c>9PtSBQ(:GDtDա].2:PtHM;A aBd#k!^B*9];Q3IENDB`homebank-5.3.2/doc/images/tip-accorder.png0000644000175000017500000000655013604616712015336 00000000000000PNG  IHDReCb@EPLTE567>ʭӝ݆궳8堠լږ˶uܔ^詻ȶM觍pȸͽ9愑Uh瓳ػgF>wvOE-}/hnGWP'Ҥ=w*W&ƻAgд220z+AP8GKhH.sLqPng.^I0a<5`caQ:~ȢTDuȃrk^Ih֟d]TrdHmd;Y,~D/޹6.TBۅOc Pwk%Ty 2~r?C5X"f8yۇ:ғ{y^-\U#>͆~EڧG~@osOs+cK93A{ޥޯυT5OBۼ|GxRc3x>SmI7. *>wd6K bQS :sFPg&eVY@n-GciK;tR@vWϟȄgCDՁ`'Ź+NzxrD3v _rNj-~1cBuΖ˳/3U"!Zf[$x(fס žCֲ9ϣHF}]ZINCIk-԰vV-[ ő<5NN4{m"D<;q1lUٯ_P.SVo$2j2n dRKIpvGMRkÛD̓3[k=8oaGUV7qLf^0~Iސ'g ?4}w۰:a26U<ƔU詶) &)_I۰H67inګv={HRJh&^WQLFx D^Z {FZJv̵h ? ?mm5@{e^@O5PӨ_R=Am[;V$Q3y϶JkГAKDY6S"rz' 'qESlyAóA}˘5TT>a1\Y-fLMOҼ|!V2C̉ h`+=ZPک4{ 𜿺d)]GӓK Bx4 *v׋˂m??UV wֹ$;޿PPjPzapo#@Q1CQ} b2uzg4Q̵cVsTj#h(С6.gPU: y_]@`L2|7R "\g鈣@(0 ]h/}gӺPٵ^mz1ٕj;Qi$"jS!(0<`x%yxmmLUTsfwm^Cx /1M@vZh168 ?kEeht8;&8S<3LSg{Ԝ\Oҷ:^򱦼\ rJӅQOq -|,ݔs3M3~"OUgWY16."Ƽgsq r+{ǫ2+ =76>dw9;wU׿Dy g:s잭 ~>(vC_Rdsp|u`HyP:pAU-tjq<"X30o~3xD uBL=u%x2'!xΑd\F$DFc &zed@<._N ]n؃>3ZGIENDB`homebank-5.3.2/doc/images/d-warn.png0000644000175000017500000000133713604617042014145 00000000000000PNG  IHDR(-SPLTELiqmf[c\[wyvxwxpqShRg`b[[{| | yzWy W|q t ej+}2#>4j_^0:tRhRhLN]Qsplsqlqropvy{v} w#!094-{3>ũ~KFPP\]WRZJbNbdffhYnqvaccefpopq~rv{DŽʁɎ͇͉͔̅ΙёҒҡԖԗؠء۩ܩk;tRNS &6FIW]jls|~he>IDATxc`n9Y.d mi!5JL0A2ҭd:) qZ|0>rTZG{r"T@P7ζ"DCgU iwhUa j5yh ^Mujl@qcϼҒT=1N}WBk|ogIs윈ܜXS %'$ bfLe,9r:IENDB`homebank-5.3.2/doc/images/dlg-budget1.png0000644000175000017500000004572713604616712015072 00000000000000PNG  IHDRNĝ&PLTE5yUH?5~񟏉읟騚ɉofꔒ꽭֘阩̱ӧɴ㟕ɷͽ󾣑ߩ˫̑ت״Ƽ[_jK慜ȑXVZȶɿ㺰LIRǢjjloxմ߱ɫ׾웇̊ԎNb—p]Zwuv[睗jbnsv|y|qٽr@Mi^{i^m}૤וqUߣb鷈ۉaGTЏ֟TDEjK>ݸδɊ42:VXX5zb^mia]QHIDATx XSI D) &Pv"Ā"%, ( " \EXVQкkھz{O9a@ؔc̙3YϜ_ZԢ>Bip6,@[3J|DS3ƾh0oL廨& '(L]ԘҀep^_[57E-t9r-gi.G~BQW/q$½1`FGĢtǥ򓒢 fi]őI٩"؃XQ^R]Y'%u2fwbG&G,8$sx~GfVQ;:T 6,Gr&?bp8Hm36^sĠw09fRw$9e{sDY#8j&)"nwF'Ѐ8*Bydǫ[ؑI<SN@ H xg0dLC5 G}>9'm8B>rI{~pYAe: d0fJf"8hXOLzhCjHC"pRD7)v5<{)q'4@WO^l8}megDy"lցu8X i4'1ii'miO~6Q')g`[αIdcS٭>5u.1;I;os/:dAb,Pab֝*Sz׶hx=T܁ϥK.]s}RkP&KiO۞J d|:"j͑MЁEZgT$0&@XۜH{fv1N&Ҍ_k6^3I{eijҞI; TO0'RjsLNݣ 7/%6e_WS0޴C'XsSER ՐbYFNeFv#l{mN`&g?}ݑիO7H!!1OҞ\<8gڀ#f[^==&GKK")KM,n>ˉ6@c!=(A.̫!վ/ R@O5pHP9,& t:k ~p?%#%Kj'+J~aN>TP)QPyqqqڗ듺ّW`VXߞӞC%Be eifu` pv5'miX>nH#Rs=nMf!U" ?Fs쿞*46`nGNArJN`aMhMqS#?kXR K*|vgLk'.];p(-x$_C%MBUn s:19fGkoH˺q96bJ* 9tAWX"u? (S&alIK\`~7xOOuYn<7g$Ihi `ۍ[%%`-,q$kJ#2\}FnQTG~MW}O6p8ws6wq!;[ջY23ݢQ6Ɵ3p4sA Z/G|WF6n z;m==034Y$[R ݼAA{cR>%ë ybb@C1x權no<YY[<⅛mq*9z8muҩ`8G€WYac-'5'5?!0xU/1<=p,'jo{pr5bo} r!x:8(=9'cUM0 &Q'[͑_3sXss%ˑ>Z5!%Ɠ;)#RRZY(6yʂH;*2ijc%R_puTAJӍ's--DlIIDxcfi^lX@zJU I\Yn%⋠;Ԯn:Xq}~7/[n?o0 HnFTc_ڇn72+m 6\<҄;uUX I]sǾV4;ӏwv]HYX+<^3F^z!)s(UUk692QpL-|bDCXCG?ﶹ~%қŃ9B飍{X+ $>Nf0Ǎo $39(Lh29669x3J㉔+o/;-V㶢[e +pfhWAz/[šA6v]\H>cd2%JQ5ªRoKﺈW#Uk3/`#M?E Qj Gt&  &b) i -VoE#*,9=ZJA 9֞[5iASՠoGÙn^qn9j֮]XSJ.y"zkLYArh<=+mE}܂haJXPeFz9-fƫ Koȅ6 (i-"B料 #ƿ_Kbs;+;4zx@HG_yPl 6bfaV8#_j1Tpk{ L">plض P"%BDDCR1PPB&A@H#N[!PK)D WBD"(I=U.;Ӽi=_Xl"@ K^J O^Cݣ e x.iP| $GPpo~Sҹq9mu̝#{4pM~-kժH;gÚyN9@*!$*OvCBX1 NbWOG'lkVZfW[!>ЮWv7?ԾڒSmqoI"!bزjιsߖ8`&#ǎ G[ҹyN&B&3+<`*%1ME9(Gշ,щ|08ŭt[ 'y(,ۡ,,8}D/"CM>.8Z{"Uy>l8~QVYy׌sD;^uU+'DyVcCޡ/ ^)<bBau.v qQt쏈#R.X)鎔:CN>~a?88O+Z,y8˿;MKĄB#AUJ| @@ VZi$DzȐt>6B?4RKV A-, =r8?1ҿ⋿lVBʢݐk eeh=̄nlαE5Sэˢ P4XJ%AMv3`ZRmXebm&,?bI->B,;ZZׯE-. p5wt֪ؑp6G,"Ie,zN9q _Q\jȜHtPU59"OlhҴ{#VuTiM cD'1"5%)k4f8j(v]g#V^=eaƌE1Ɠ&j"$,4f9nsn'Hܳ.=3Ux܍3Z}̙VtF HJYx6YɋDVxɊ8ѦB{ 8":1 \g,qTWJܴI 3?D8u-+7%a^B8 Q|Hԛ_ *Hn> ]-+:j3=la&g=MQEƇIxcc1;?r9_} yVYGY rV `;PVnq(Yy~(0'x5)09)~3EƅW-/dL ^ݣ.hH/I+U)xKIN溋F&8g:O)יA,jf9i\gvÊHK-QBx1x%Ҋzҋ 4GDP O(U$ Ħs"qȫ_Q#rQ%4eս{q$Ƥ  kv,’STh:1 淬a*>'@i6h8rl1yF\Gyy`k2;cWl.>{OvO͸vdybou;69{ռ,m( 59塯fv bjq%ERY ۗkO;Vq1{m*& \ezZ{n6 Hzv@BF-ǰi{uqDHa%`Bvl}ԓG7>Im>щ.̫# 6@v XB8@jʽy` l!O?& bjk R(éCۗS5K1.)cL1sR&N&c>([Uh?#0)sIr":|7R(Ͼa4 CPUQ{f,s0F%MқVePxM-H8Ow/$'3KmK?5G[ Җ2 ~rw5OY~{l8՜%*-^qű<ÍƃmK7z|C%6:/3^1^TBL +#Gs1(*z]1ǧ>==?-&%%?k?qn8B3雚(%` Y`XKvo-rs/,}xQ<۞t(!q/ugQUM^Mgl(!sDjXJFp}*a9΁>{-J!9̼Tn]d+9aŧ(u˜Ѥ12%NQm%Q|Ba,i8)EIC\59"S~cU xE>ixU(jȜH`{ Q6Aà"2;EtQa 1KGkh8GY71ʿ9x 9R~Ivr+{eWȊ2>kx@Α:]u(:B\zIq0 G>h(/TqĐr?~]af?l)͙\?ԇ>5Q=>Gb9rXt+KͺFeGh}9_Տ_wch?qܸ -&e ADi:+CEЎhTZfq CҊ =y}~p2MRw7~5G ATA9]g`:!JbYDH-*(G[`]х_P㨾? EsDi4mo:2z=o+#^vvF^?Ҳ#C#t,gXZt2bOQ˾-I9r. _ٲ{"V-,M0rG_On$`0 _ Q b,\wqY" 7ಆq#@#U7Sq\7aw0G{ٷw%ٝMK[yon=܍ywoG*Fǣ>G/n}q-xtc;5oL!qeypo{̻; v>__~ ^~oq›s8 wXZ5Af}uSxxV!;#U ↢9'7].Opa%ddpd p'hWkQfEgr~{ uoe,S%dtsW_ʻoVz#bF+U}.Fpި};bu~?.lqOxBvkVqA! Q+կ)(<̭?o^#B~f]b bAmd˗MLw/dHҳ'|E"tFx&cHx|iLL]@@ٺFphӭ!8b 3w4XLFfޱhtIƎLc=.mN4]}ف$sj$lva8#")w< DO_n A,;c!U^G>JN~?> &#n~h=w; ~?9>xF$X,'WYk AqqC_$ynEr1F5^Hғ}#]JwqT_M:IqapLq꣘h:1Y786Y$k(P>4y>sZrWs?r?$GJXB>0iGG8$'8v8 >>ywp ~U@{Pp[9l Ncp$EF994/=aq⻧=4Qɥi+hJP"Sf(@fiK$ҍܥ]!lZORYOÑ2*s_nypC[W#p|X%AdsPx3v ˝o~&:Ly>㚁 {e}u>oϽ?>iӼ-}s?O=T!a;lwb8R.zi_<QkIOS>]}q}mm+MNza8c8T8ToM/%鯝hݜ~gW]L/P}@-}.s׃Kүz`_MpUٮ]J%v^GXtF'hp R:#"Y } WpacahۛN@6_NՂ U/biY&Uz458jzr$G0s8&ųsZ<7 5OrorFʇ1)iz|zpL5I`sז%*u[e\"jKB5*4BO`G8FDN!"r c"$a".#-u#O#Z[puU$78q# *02wWJGAYw%{sW9R8zcɠyJ T}WVRk(r9¾rH dRDLLCJd˓ݕ\ 86<%i<(Z/hJ6 ~=yzrH$8fGR<$} zrCUMU"҃Tp8ZU_ȸ:1 @|U\N# `p7eE [}@V%fǒ2~ G u?}T\g'ryd>TD֩d>ir)׽ysQ })1"Gh\ӐTCỐ>x7'lMi3Wn>u)H ȑ3y9=pEy|euś\AVc#%2bJ8",}y#|3cӭև6vuPs+zc"uֽqJՉ A| Xr:.hH.)u;ql| (Փ;zw~2uVsjbPG{dL$(8zM#uCFX~8ΣCSD\H Bix̡P.ǰ9%aS"9RZSb6GͲ(G C1* t|Qi3"ֱ.uq6<\W>m8"UcS٣ɐ| 食#c )-oe6ؕΚ;룏q$|# TDt .H6G$-$ipKF {|SnzzYs_޸J}#o!}|%HR/TquvUc}wd[?7I_9֌j3B4|pTq/_'~.Ծ-i\zhyNk |;e"<>[Ĝ*6\Y5Z-󤯵yhf:7us=k 7]ojlƺֶMhq3j+^*. GlG0qI]$ eaoV++S*\_|thF8_k*r||X&=Ѧ֝G}>*'. =^ВJr*I%F*TZfUoNS]e(#H|18EvCo9<hU JaC\nx?p`Hfz# YbB!F({nN_OnLrg66}&6baz&ܹVS4!wmx#ylؚkN12q,mVq$ RI(?5^qVg/ʉm iS!5d:44;! cL WTQa\h]ٱ.bqmu23?; xq]M6l-׼aks&hB( <#3Ù?8P+^U]W Ak8 ǀ?f^.|osW~>'qFp[rp}#Orqψ3+#.G" $( O 0P95[<9{<>,*l  YeUL#C#SVrL[(+Myq :*b0Jx\&T6hiFh"ñT^(*w^NZnUj3zRP,{ך@L1 ZX"~#[-TӖ_}kMW$Y*6 ~=˦zd.Kmry\=95,zrs.N}\uRl+a2+Gww,;ƍW{H5W(;$kl󊷅X5qSx2֡JXU/Y2~rBE;ߏRMR+ϰa֔2Kłp⑺\DdNXH xՁذȰl>@5Q%)q%6"2MrW8Tf`47#m^Q!OX% ȍrך6{.ʍffخZzL!O=%̼.GꇬW/ӡL?X̊ނڃ-vdsy:Cz^c̭vޫ-[/(8^.[WsW ԓ}$@YL8E!Q5n8u!J }熐~;soiӭm=S{;Qƞ=Y+ڡEz`폝8k> ~aVFX[:vg6yTaNp߸m_VK\ۗ9ygyyUu<-y})x /9N>]lrsS&PK1X.ikyDwT{jVKKV|m{s%Vs*vkϟ6爦 mUͪ_@.TVLlPeW&-8fQú:_5iKN5J{_wi;`yu-uӣg{8Ǡ( ","t@}pۊyV11($84d 6{Trp\0K""jZ,F* | )tGAek߾k[W']co vH6*-Q/}DuF,\ -{'.^VrwC7Ni5,',,F!(l"b EW󵃦K׮'DǦ#uYs|R|<^;oMfQijah#Rz>{Wsj.X<Э>ߚPOs@xh”uԡDZJp56E-+OQԜ0{ʈ,߯RB#pG5ӆ3׍GE+1b~Pc w+sѷ-sƧ8Q/Ԩӷ54~JΎLJN0Xߨ7DGrvd1|ҝ FZS4.7E<%O1&"w$p*㴷tQSUl]9%v3`%1ԚkƇ#%tK@G/*me`E C}0p:18ƤT,c|(N#A8Mͷ&lWݽdKU9UފR:JS-я5=.qGw0(-et@GkѾUn]_q\Ϸ&rY7C.Ֆ|Z*]j1wKƸVtooͽYϷ8N| !u d ܑ󚎑K|aJv!HOrcYXtUa9֮ʫ≎XW?7@Gr0bAǚNݮBeDGٷU.8.%&<h#9nicZ^QUS%:v,hj-5=]3Bt|Pqɐr[m [Ggràw7Wq7!uJ\O$etdDQ^ Wdo(3+ܴp&39Si驨>/=UZG$[z~"73!D~WRTh/Ǥ7JlUb#%$UQiыvk,~Ulksl6M_{"$Ep)!+Xy,Tf#N4"g>S+iĆҙ+}I:'X" TW,=4N8 AAAPQFPxQF:tJBtt"*K U ]S I*TT҃:2tdǔŽBtD; 3ȍڜ3`v$#c$[cM pؑ\@GlN" dlڸS67$Gtg5+pd0<ѓb2h/gI&Pa\O)m91ؑ\@GڜDdhYg2'/TŽFtfu;M|fɩϯv6b`Grv|+;ȡv$v:Ž>Б,ؑ\h<dUV,\L4&XR !* ќ䞾[.<IENDB`homebank-5.3.2/doc/images/key_c.png0000644000175000017500000000055413604617136014053 00000000000000PNG  IHDR(-SPLTEGpLopsjjjooowxx~~~3tRNS3ebEkIDAT(1NBamЀ!zS@Ƃ >PIENDB`homebank-5.3.2/doc/images/dlg-txnmultiple.png0000644000175000017500000003446213604616712016116 00000000000000PNG  IHDR/? ֵqPLTE'(&&+ԉ>ߣ|{{(n{$Εh' ±uULdY(޷((阘$e4r%Բꎌ!}Aē퇠f䘪󩨨¶̹獯?VF[ĨԌʶI߫ʡ˾ݬѽ㹞лxᎩNoi鏸hzȵť}Ż𝤩̰fԃЯ~}z8Xahs¦S/Mx4qtq{rݯ=%+,ͩ zɝ+02xgdMc}tk8=>QTYS.wٔrs_ c5IDATh TS׺y(TRd2MX&mlzCe,S/RCT S 0 A|TVZ\ޮ׷}os 2$`w6'η?lUKuA/aHK# 4M!mO3#4uo _XB3ʕe隳KJV$j=jx')FuE=N\^h29 )E/p2,Vsx ]k(r \%S&qFYeW\A NO3X2AW8.+WqFu7C!l]h$>GX 8( 0qB?4t 6Ԋe=13 pw WX_S>\rWЮWH;9_hXsX}X`T>QP=جZ8_mWژtb1hLjtΑ3u]PIĨȒ4s)Wz&0<fZ"c‘ ( [\[Zq:{!\iu]140T쪚Y愫1sn0^ӆC՛\5tR%zKceÐ+iLI[ ,]HI5|,s ]kf+t#ajV!} 2mNڬxXΧ5+u9v43^7ɸUENjJpOeT%DTiQD @aYp)XRD!VW8(J)MY 3hN8o>$! D"3-{ ?,K,9TF"L7:MVRN }׹ X0[B} !5X u } TD@|LcVҧ., ]N?` ႅD{xEI99Nnw ҷ}D]L 8=mSPllIoX d[ HԸ<\,IL϶,r+9#B">N΄pHdڬg TFv \ _{a 탼jZlhjb,B0+,36ʃN8^c굵rQʎR&GX`M,bd `^66O/%*Uֱ/=8l ^&ىˉ B&hF`1uuйm<&z'ja("\6 2l ZhhsA  Kv{k+WS4V*gt Z*+VE[x4[ePq7/BtlfmG%1Rk}Ԇ}yBXU[yc{,!őNHa{:o2 BFWȏ@lȣ%GrИH[Eoxt;єӔ1i߻̦G% ާu7yKݽoljxwv7YQD?÷ ~SRoݝdž<ڝh{)j_4 RZWf}O" G+=҉Ax#g{w[wrnl,6Gzv٨.n̻=h9jȣ%//U 6CY.&y O vU uR~ wĘwʔZId $jEXݻRW &eR^u|[{lV}HcUHG22Wl /<͈w c:Jsdʡ۝HMݑQkW]e`ZS0if^1D6+e~B6_6ô{Wi(Ů C{ڻcm0/~azw[gg+*5可1*Wu*/#:ܒ]5߾vL^!&-noOf*X&3qآ#&ywc_k.浥Hk=q*I^[s䉣k2OƷYU{W %Q߂ii5;/c3R[Oe6>+ώ'@^Į[`Wyiyݧ>YWWU^&+0mxֺ,tX@»F䅰Y\ ms t_^-S %U,mD^1|6׭a~v ҮGN~oD^n0[-#4/GǗF//Q1z{mv%R|9xj0M^wjx_VxMovzht>^}eWk'sO慾'Af|\5L(&Q,RˁJ?11a) TJ\ź+DQ~yTEm+)mg2 656U<ˤ~cSh KA2+E"rBWX0mI]xm{ h/#tPY6uj|4^@O㗣$7Ci}&5WP. H|_0m1,@"y)Ua+Re4G`2C .`'1B@.-B/~,xdgd-\vEF5zN_-/CE̲2"\W]ʒy]hK`AhRM3@!_jmd+R%O}TC($2 9CDC%ņ#7#5Z2\mP{dz~?Fidnm˧OonHZ2|GJZ[̼l-Ks4R67tCVNǯҙ׎cg;';~a:mjQ^g|SM~vBiFhg@ <筁7uS2Z ECY3/ӉWv!Wyq'+t,`GP&] 7 0o< Td^}6Lwi͉Ss$6 B0Mfe1Lvln)e{;z$[yzeE`,Qv_|63=#_1e"*d|9km{?Jz0 ˭EU=JokTYVqjs`i&^}cT/Tqn彳#w]ͭJu:+b-52חTWoċˁOt/=hSU dzWE[V ^0T~[;-A_ , i٬gZ&LA>ϬNX=_mum+rHw4"e3/uۃ?kzRqkM\ō 7xw`ն<:WZ^|eȱ3:`:+)fd-r pf0X@+xrJo^uɀE"g{<ttU{{u/음x<5-5zp[[A6_K ?EiҰƋWQ~j;V4^GCB1n:R'k\*$(JTwXAk|Z˱SF Yۙ|tޟ^XvT^y͔j ׭]דy X|Hwbk<n&Ÿ jYy9,9|iX89z!N^ Y/4ws0Xn4iu[4tExʧVV:kWk^d^vev}{BC0;)l^]wǮ]&_u+9ֶiZn7N$D:T㗛 E#P :Zxu-:[Zw'uyd=~,^E-']ZY^@?H(S {E8/skkڽ1&뇏Rʋɪ\N6s#$/@B5}={ʨRpʧV G~ainU ^LppΆh;9u$UƋ p"CMżHF:STD4 klTnϧfA*!z$gN8D?M d)Kc (#R-/{Ө b@>-%7^i/Tھvi"HJ^5[yqE^ kL1BStԼg3yQz*/eL(X?ZgШT^TT*y\ Pv*^Qii_[P^tv9)i(FyW2Dq2^Du_g5k`(ydxK*H45&IR 8qB~o_n1fmƗ ZÈ՝x<7p+AK&7[n|OlrH^?~ڑscҀp$rfL}+vD6ocHi[ &IhCC4ox/X…V!HL&Y10WtLvLIʊ|%7JnT~^+K, +K <b}/N8Uy:aIr^Nܮ%xd.WT $&p:wŹ >{UN"\fֳ" bXň&Ybn31 #KuvZzO`϶r^ D뽁x|55ض={[i{rj/Vn:nF6{"NY^r0:Q0RPސYMe 2WM}7m{wDC1TtcxKp{ًU4=E`*3@vh(>/!Wu Ē1s/ʤ~zy:_岋kjxb^H'.sy"+;,Rql=Z , i |Fvd[ې/`AB\x!1@v>c>D[*XTh\s,:(e䟏}FmmRTixY~B ge1/̄:Drڙs ( ' pKy9kf^/|-چ~Zk! \~[]/>r}Լ:a)-=~:ԱWT2CWZE핝-Ԑ^db29,|-\/ 8oFP#1"sx b^0!2C-/ڥxNCtkzav1P+ay7gAǪ'&<W@ ٬G '=cZ-ikAP8^eFDfļ@ףYYȖ˜c~TGV;΃{^LeA^ FKAuvxmK]bnSx!o |h~*߼ β~<呕O`"d#/UcQKGKH!<‮:ՙ1W/yVG&?/;xƿ)S2%Y"KS$g.R`v?kW-vv3Ӵ'?jF9XDt3 ^ IU>z6}Qp8m45tNQx^i𡻖W?)#:3Ekh|dZp#bbX|R|k]0_0P\*dp5^1~> h;+yMmw֣kyA٬:R/< Q)*h (j>u>IDh'$%.ڨF-<*ۯ5Zgsi#=-#ŒnoE/$V+eدcNª1/~djpCKuՆD@ܚjrqMnb?x^rsߏi:i!a/#?xU[^hš2n#󼏗%#J^ƒ[ U_LbHoL,09iuӞzy7yF祧Ѩ|==͑F =_{=͇mzDrb^]9~~s )$h뤭r^ 5tyE|}jS%$$ly>|ɾz(oK#9!E>![bK˗ l'&MJ9ݜ⛸7.#?4n0=OU<r5_^ \?y\f{6擒ۈ{m}%uujN@^g/RGz7P[CxUX>wTuhG]7UM8NaC^1zWSuw{WǾjkfg^1zG*ZBڶg:&rSv/l0^d%^MkOנ8-1G7ɗb =ŭ6x^񏎷Ky,uiѡW-o%ͱ/Rض] wڙsh!ؚM _nx[bθ2c-}v8@-9 1F|ww% 0J`c]:pusǾ+>nl<@{cy/^?KTtXM?V"COrQrst ]ŵW0h2|27VjT=)ǑmY Ɠ׏_md! ĸ/V󶸈bMƨ)/5Ox-R^3Z/ļzºZ/l*7:zedOTg^j1ҥ!طך,_6GJIHYqql"_'BW W%(ͪpn/cd5/mx# p7\^Bu>WCIQkjPM U )J/i쨚ej\PCT!Z#dk"{B: h bX,!+Ny_ ꫀWFX^n0 *_ k _S]Lp{EiT(; )DDrb^* ,0RCxk112^[Y(x&/lص]Ǫ156 Mim^ nTTXůE* zȯAn xkU9-*j,Z|F.W "kgF}sz>j^GV3v"^?/K^>"%>Kg,-^%HDN"po<˿TM#W/DZ ļ)(ezw˛YڬH#pYRjёMN~=.=ƺv%8z; (zHdmhAG3'a[ ǻe_l9yT؃ՙFvR/M :Qٵ{TW z姏#`/)E%}Wេ;w"<3RXC>yq]`:9]Щёx` /ѺSͮ!,_Ic74bAG#Aqb l@x4PԮ KUt hckuڬ:]:j4ζM¤7L@ :b }};2}{*?T{M}oeǹ轛Xuc|:zson=}:a\j,GGuA# =6- VmM0= L>ݐt|K_o/cS&kmo{^Xں{陸{AA|M("&l9GOK}%yͬ,&m2 E~֠3BQ\8*v /W_ ]/(2,촉( I&SeIib"<_ *r rxˋ SH %|ʔcRmR: P2"PMyX{L` o:en{J9rʫ  G縭 pf?j{dm"6z[WN0wJuK0%ynoGZoYMRgc;Qlt}7r 2wya {Wkj^z;+Uo_t.\Cad4/4rz20<ٲ\s_H+_]üV_%,8y}+=Ճ/ߟ3olݬϸ;m+aHOSѹxѼ5(^_/Z  .gv[c;;2r&BXeleLWlGa+,:rzQ\:f,vh}JI5*R (4J~ϗ` 0wsE0VAR^I/ E_.IbIdž2A^η vo׷&_VT|cѼ _"u|M@|=9QOyMLds(/hWSTr&j.i1~zWU =8-oD)sy4??}|UPFK&sbJ[o*5 I;YX "Wa9)f<؀썷me^N{|ndEf^kKE5-k[g.?pu{!`J/G%p^ʋ ݆{.n^lY΄mɊ<1~9= w s=>Cl8neŽ*#<$㋈zeQYG˯SWp {ϔ6^.(t=O_i3iѤz%/RL{QjqՁ@y=Ǡkuh?yNߨ_'lpy(6S>hNV֚/_ *t"^#yzcдKNFjvsx |ͤ>p|݇_K= )і`DUmF{KӺ/i֋ՃUVWzoqG;GL&ff2v]^7=m{}I71O`OVڌSpߵ/GH] #ikgu]8lK[o9/j-girz_$Ybݔb (bKD?(J :trl yt,ֻ$f-(J/0h,KE̮,Hi(6Z}!_*qʤ_*ٳ'P0lJ@ L%W=ɼ66Axʋp^0?/H"_h Z ГW! e y . $35 _YJ&,PIE6ޯm(q1H/)äeΉ LJ;/+EJY(=/ PР);0c q)xEQX@ ?ТPsM|ChB!d/})xU ]p$~aPh*@yLgg @  J@H^d Kw C6?VBKYg E>a1A^1AQ= /DB6G0LS~ _tJ"y/)=uhZGz"CXCd/>$'&G^ Ъ0[yܼh|/C 2In"WSG3]8_ G|bJyn=>ݳ˨5dM׻=^|^*yj FMUS|aǽd2R#zy9oLaGIp\ۣ . T"vۅ]-WucU7v}/zCm~ZSS(^yѮ 5.shi|T3+ϋ?C[swCw/ȇG53xrLOMo=/@ $N r> |>[%8dVblhޒyK3>H;%S]ݱ>Gb2|xqd$/PuZyeG>QJu7] t&v/Hξ\KWX3Mt)m=PpsB0Fd>+;f6qF(WEEE񋙑J yFyeǯ0+҃q^ϱNjH++"˖M7')x?͘J^F9ybZ9Jd!1T2ETur%aBu.7Ɂa#ybHgKihB,-n0V]Oye/=)$A^營oP DCxa q7, a!;& ׇR!/(?4~':Xy,?"^QRQjJقF7OF(UP: 45&Zpd6|:nfb0$5@2JU#F9aV… ,'BM yaщR܇2[ZK]̢ AjIENDB`homebank-5.3.2/doc/images/use-assignment1.png0000644000175000017500000003024113604616712015777 00000000000000PNG  IHDR[4`PPLTE5Z%5I*a٦6*$kВANDF!ױU+z}VU]םޡ"xE)j 4io Z:byD&Ӷ[B_6+-Щ$75_`rbGD˞";\}ȴ8kƋ\WӴ ҷuG)|$qyNhJsm}9G{%"8t@EMyz }kcc/ Opb/e RH(i޲T&VT/&MY-^ؚKbk.4KbEq\&jԦ?H!E`*\${I2eI8"}@Q '$&liv*>UU.Z-*+1] hH!:{pCDˤ1zt9f;^ .x6`SQ(q+ t w>gtNzI8ud. 9DE̻M>I*M(Hz-S!D$0t[_NP<:Z2C1ٞ>qTZCՅJ؜EEKt T\9Wc+$x *,.9%c^0 )#MߧgنvJ=<֥eoe{}n!4Pz*P=S7&7ѷqÖ Lm< F3^ 4zG N(ONju9YU_dR-B BB6ûҴ5&͂نFr"f,6/dѦDzm"n1M¿+M3@lvZ.eQSƬLFabg?|p <͢0CrYǧ#zh,E{ m v-tmQ֐9uJN'9՗cGj,[8*eg2CwppJ,^ BЧN!1e:f+_VAR\ `cla0[-f la0[-f l.[p:{$ȃ }sli$c@y8DzYQU&qaDItwv;Dw2V6|vɭXywؿ𺟾Å0[=YQzc/>V 7m-}UpZ[X⻟n[XuYzj ٷBWxfd:vEa˩_KN,{٣7 ਞlvPFĮʢGs"C8T-`.z4A:lژ7ܾ/U!EAJ!@F{ߜaP6~%T]->RU ~6/;oܒgMCeo.jJ2*RwnMh΅ulVÕK>BC6Qx$Hs3";my.I!G^IMQva+-[aӑˎMWC8sz`m.@8:PzJĴG]N Fn l$p2˖$ ^JhWZ}۹n̶%IyN >R*?] ;hSǦ>ߞ'', =,&P4V5k:Qn{?"?.ڴ%m D<`6Sy0"p\Ev 2U/3ÖV5PpO8ge*+ܤhY8.3sr<ߢ(${;S'}]/OK a+Zؔ*E{͍ݱ>@8W]=Z3SJC-JwOoSΜ^XsBˁ]ˌ:VhgQSt+`USu`Vi@7{:vY䒾͛[wE:n.6K+ٺ5ᛛ=W-_,-h7]ɿWԴbJV=EiOR!]AU'{ygV)'2s*gl\D:vuKKر;>h߳y]|=|qr =OVgҊY >K7?gmMi`Y֍K_N˒ފW6EЯXT-5JVv1ieGٺ!{mMwKI Y7{u@j6Qu;x~1#vxiSJOm^Ωܵ_mǣzJx1a8^la0[-f la07W#E_\N,L)"1e-O Jj{(3 ]FޯFD@ZHYvY~5LS2c: Bp8$4yEb U= .gƒmԕ)=X PT`įՄ ԋrZ"jP?9a@@CUl[dS_"&[s _KMnh| 'S}a-!Q"ShMPW; ?@!.UGukM_&!J!+{iLs ro1)~'&=UrcZ\w% wo YuL({=q KnxsxWꥣi춴KRYJLS JeR t(]N$lԹGjY!95%"U!eGjD%,OABwYF}[Jcz # PYe֘e幭ǎaee-FE yKNI[YRx۹`MpU䆛S,ʌDa]a9vTjuwABl!C>8DS a_9(b{GR_Mns\nqo i4 d0F_~Y#86ݐPfmK(=I bQX e*4wK居بH|=|}C吻H1=|Xw~3#,_01A% j]@T$/ڳ뼿. +.[PEkxM2^V]@PǾ,g+2!$kʱ_Mt*g#2`[jvqm긎K ǰ=?gp뼈-W˖mYWwuF![%BJ$=Wv%tFҡek)n rW]bqA]Wӫn9.Ƕ ޼St_ikx 2~mrӓ s.j^Rt~|gXo3Eׯ-:3ab,(ʳ_gv;Իڐ$O}o}wxTbč+Acl/_Fsm W%7a݋0ޒQvo׭ZwٟwWՇ^)6ca;lQ ) -~5|7Ƕ rm/F%b89Ah([N;޼\TȮk jےqN'ks~iw*z|:f ؋ׯu8SbHRxgC*YJfkZpOFD3ꭒAKW2އLsQr-ᖖ}Q ! oމt!W߁Ȟ* TfEFlJ49=U}9`+SEY)i8EA%Mm, D+ K_ K["@80[} 3:Wla0[-f la0[YBɚd-Y M5ui,N*4XzC )Obi&Zzj4p;ۉRlQtἎ̕5d+c&O9ba4$Ǔ0`4D@{Po +58O8m EO OKS\FGțbAMon8k`_ЯFvx0}YGejn}8]G^;P46)yo` g.wQm[29jbiD"H4`FSqX4:KM),{c%|\5E@+Ϊ ݞ|4&p=xB!(xx<  TTGH;$ˌ. CIKz=ju*~Pa/.X~ 5jf/C:f$d@ 1&-Kc#}Q2EE䀧`lu͘hbkH9m[f cT I8u9$`+R|4?4J^4yئf }%[Ɛ—e/zi_*M{d[.u{]E]̾2]yA0N$$lԡ+:7Lmk-}4;Ѓ*`gtttЦx!<%4OwGE~Ȩ}V@'ɱ_mm%QP[খ mi#l!󚋋 Ru!Np^dќ#Np\mp5?-]9Զĝ{!&i0acxm}Sڶ@{:lgj8rWGH(wY5"ѸT#kzKf9fՅa}6[lvJvYQõ>NN;XN7eBIwQae+6pꐲESWr yxNEH ̞-uD(U,KWŢF `X]4x FOR1:jK{XpSxhEߕDmP[)m 7߂,_&/HEo袑oA^1R$ZJ,'$hle`ԶLAN)tI$#% Z![4 )9vb,ydKm;c4 "1Z"[ZB ꔊtŽ^.-rdqd*]E-8l(lsM0i#t(ctUF+)^Vy$1CW21 ?iٔc;zBd oT$fL}>hN=r2tś)g{ȖӒW]*Bxrhd6AO8ۅc BV9u9rE.[K-ghhd0,V)ܧz[@>2?&C30XJV ;+h:[Z!O3j…T*nB{h.^n_=mK`I>>}NߍEwŰC/o8\^Hs6 t>uſKp v$)y߉%8z[:C\V9.M\bWW<5) W.ӷq(zٍ sA+EjIr~(iغ;Y:x;]X|c1u'Ve':EUCg=]W/" XRFMx-t m/,Z{bHNdDSjZ^naQl^C퍪~jћ"N^/Qڄi#)kQa .NrmRf]I-Gz.8'Wږd.)~.<$ -ٻveJH;Q6B{w zVCCĥ[w0w|2MU~ȲJ@9|Vzknfo'LIگ;_Ɯ:8m6xD מ4zށ8Vt4IZjT,t0 ifHH+YCU{H5ϫNkB ,X`zP2?41͌e֪=Y)p͕ڪ',W\)[jv$+ [ `R.UV:lc;68UVy{V*c:. S_ylc;:=Luzy 1ɺ0[bG[x.N$#Mc0[iҰm{$wАjh!1XTlQB; JىLեB-uE0[؎ ssl>T@+{mKZlb;nU0 D#h,1ZHtl'`*lc;|tϷ lak=O~5ӌI͘F&TVxLV/cW+mHxIENDB`homebank-5.3.2/doc/images/hb-ope-new.png0000644000175000017500000000071413604617042014714 00000000000000PNG  IHDR(-SPLTEGpL<@@>>»>>½ϼ4e3d+Z.^=lZ]^_újvtRNS;<@|%IDATxڍ0"뢨 {wrgx9L]1  Is(14 uTJWm3g5 ~Y\@BL *<)~Ÿlz! 1s:A ʦNI -k+IENDB`homebank-5.3.2/doc/images/8.png0000644000175000017500000000055513604617042013125 00000000000000PNG  IHDR exPLTELiqyUHyUHyUHyUHyUHyUHyUHnezWJ}[Pogvn|u}Ǵ|tRNS/b8]IDATeE1~m1:},\ $ɺg07di~?/Y5K X9`bp @zWu 11@Eu. ,MNƼ_]&˫%3IENDB`homebank-5.3.2/doc/images/pm-deposit.png0000644000175000017500000000120313604617136015032 00000000000000PNG  IHDR(-ShPLTEGpLNLMNNNNNNNONNNPU[^fNkqhpgimnY rZvkZ{ł~ǃЄωȐmmu6͗zCCFFPTUHEGMUKMSO\^\XeacdtRNS./<>:eIDATxc`fn6djĎ" *1p`8"S\ #}X\'OEds6! \V-Y$S\^*dc#/bhlie\iˠ[PRfW`bmbiʠ '% -%)'*,$uDW =a&7'gvTIENDB`homebank-5.3.2/doc/images/pm-epayment.png0000644000175000017500000000123213604617136015207 00000000000000PNG  IHDR(-SnPLTELiqUUU}{ac_tvr\^ZY[WY\WjlhtvrwyuVXTZ\X_b\WYUlnjprnY}>Z~UWS?Z~@Z~?[~@[~VXTA[WYUA]XZVC]C]Y[WC^Z\WD_D_E_F_D`D`F`Ea]_[`c^ac_dfbegbgjehjfknklniJsoqmNwprmpropsnqsnQxrtorupsuptvqtwruwrWVj}Z]`_aheehkhx{ΥЩѺtRNS<&IDATxc````uqvrtfx2K**K R@EbR"q <-;@sCdQ 0NC5@,EՀAl5pװ/| FJ~>n@ uUEr1D&fȉs2++(Ȉ f \i0GN&{62sIENDB`homebank-5.3.2/doc/images/doc_title.png0000644000175000017500000000433713604617136014732 00000000000000PNG  IHDR/@ qPLTEQUW.eUWUOQNBeSTR$^7dZy*bNs2`JLI[_aԴ=k󙞠TY[_cffjlHm~nrueoˉzvƝEIKƃ5"IDATxiwMچ KpX%uu-,!ܙsnuNGZGiwj1{$t~l6ֽtvL߾}Jպ ׈4FP aȤSV(:O Z<(Z- lg=ݏ{::{2y]=Me8mgxuy'~Ȼݧ N=f/^*=k,JPˉX~*3w_uw*}; v5ЊmYy)ֱׇ͂iG4X0~ty4 ȔŖ)a1={~$sFZik}|@xf;8Ol.`jPz?WCl} WC󢙥 EG<z!E< eh;pZhs,{tϧa.cr6RoH.>~#DcäI::"{at#-]L'ht'jɗ>󳝐@aٓΦ BioZ-7HsP= ? OG@ҏ9/UĭBCy4xklɂJˑ`8s(x%'g[UA7#s>zﳣ[Hw)<8(boT&XP,y ?"o Pggޓ~|^{]&pN:/}~B{O/EoJД~'i|n'S~8G_p>A%f\Z}33ы3(?IP'HYQ5]ͼ]7 }vL^f@I}:MЛVro?=0n|/L9"D@~#C}@͜]w^?mJrfxtMhݺc\D䑚~._|b~_P#B :i  e# d~}@uEet.$̒;CK$Yh>`* ܲP4"P:+^@wL1m υҖ@Tp)hYӠ݄Ԣ<s%'=mZ- \;Mh;|9LohE89ٸ-|YS.6`aL]^MBeVCiP$7N o3 j7g;ŕ>ԚZ()--9&* ,:z-v@}m66_쭖nj讉RFtHIK n\P;2lBmJn _pPYSRWԠ2ɇ%+"u#ˀa E@ ݧ֔za@%pT\JRCh<2&# ƂRSRU#%Lr rg˧RV% eDh(͌^@(Hc ˾I8Lq)uPmf2n83]uHFP.刲ppf~uuU/%T]!,>"}q@WeC!Wn˨#}Y'LݓY}`mbG}W_~xrnIENDB`homebank-5.3.2/doc/images/dlg-filter6.png0000644000175000017500000002216213604616712015076 00000000000000PNG  IHDR,PLTE5O59몷Й~C嵴̻䒋򏑘ߌ𕘢Ռó͙DZҾ4ᗪɹ⁁7垃h齨˼򡘔śwxxG君Լ]q봛򂉕ϩڶ¾ڷ)pƜɴ<犄ȧزĺԽG괤ǡRw礬Ϊȭξ_af\헼ֺkjntȸȾohpg氏~ͫӲNOPY掌279-wpz㵿Y~~{lJЊxk}v~qYUZk18Cy˔n!-IDATx\DR!)uPEH6" THD&(T v˪f Of^/sg9Mhxa1h ԡ5#P_v~ FsTWhRj9(RJ "@E#$b(Tgm3#WSaGGUZCRɲà\v*IUYh-UYUeTffw j"9CCiФ㍺ɽZm[Zx#ٱ1WdФ)4,7lu:"h4Fh'@U f+AW7-PUѱh;U-RssLn 'u$vQ0MZoCr TY[gm Պc¥RcV&>+ҋX"Em0CȎʋT>5\j U&ck A&G[O_tg+UJLs`L[ȂA-"4u[ZS6e^^MEt=_N ҥ_]VZ~O /SܓR24ijK =>2-j]sހVfޝ^1tVS?Ԝ]==8ծLsuIA)hş2ñDטb AO/Pz!T֝$Q!Hم 0&SC܎is?ݚD'|N"9ܨƺ|HsH( )TjowT/圀Bh}_W_J+Uǖ n݊o#k;ǃo7Q 適GIGoYǻE}11G`UUwB]h'GSC@WSAF%p!"rJIs.-X}TP*Rh"cB% j',Rjℊ i"9KCXbɖ"958PV)0ƹɉLm]JmdaƠ0KBJhk_̅@@T^6c>~PLVӓ .l)/*ݱ0Z_sFEע(#~].*(#ʻ 7+wހ7ރ655ǘ#-hw8E6^1G}rVUUQףM5 2_uy=gX ղ}u&yW͏_M5eTITǨކ%0 Twz^GՉ72=to1bN[l%Ν;ỸR XڈݏKRX@ )*62 /{| _F,cěS c WbQfQހ_r ]D6`FZ;}*o^Vw;/`^5ݵx^w6`ϊ=sy,/y\p͖Pߴ3X<-MN US ٸ03d''hip"Fo (C>A)Y(vA| b'Uϟ]t"hYNc2 u&Ϊ%}J,p}K"KJz2xEЄ͵ \̯`Z]gD-,Fn+q2 <*fЯI4h>= ^ypQ:&U.VN)((B?QOQje3٨,ptNsrԟâ8 ѣ'Z!tFo[1%*vFaC**m|mUNJ>xa9%UgvzKwғ7e*6nj)Y'hUGD 謾F1;wgv@rh赁_өўU8^___^^^__*<}ÔVgD,T[@"5mQře TY@j3$1Քn0g!?Tگ 8;sU}2Ng և?/<ܲro[|%{KߺT5w@߭ƅ件ܞ1έw / Dr%՜bAC饶yO:c8Ӝ;6ӾsgM[8ۻqε's텰"{7>m?Oqeږ-/>zno9hBn<$c˒?t_IEm=ynޯvo}>8}uȶc=qSy5{;)F YJ"<2E=HvK}PhaA9bV~ԙRq~<D8+-Q^7/=PH}]y\mQjʣV*h`)nW#R WysE| T,rK&\"xt/l zT~gQ_R=p:hrP_tv׌T숤*3"M? +Ħ hQeL jCsTu鍟@i0;2+D@*i(jMқZq=^p3_ց=tå u̎ҋPIܨ+e^n=P'b(u_MQF/q+r/Դ/#²P4LOt܅m,T7`XY-ih u:H<|"COl6|L }\a T|u!i%ƅ~;G !͗$x틥/.F|-?"ӆ  t]bcoY^+/>GNgԇjay\"@>ԛ'&-v:ȹ[\3] v۲{nXyͤ÷ʛ#q Og|B0uI1Xt3񲧇]l΢7-sOՉ3 (Y~xg\o^Qw:ש]nϝRp}!ޖ~E[6c!~a{~5++` e3`l 66ۖ.ZWkP$o{~] +3& 5s#$n—Cof֘w/M! QAZP8j}3M%nN܃ZNuea􇩢PG}Lm ?;fbg /H}rYގn"Ei&,o34[V@ʊ6om<{oYD.٨Cgy{#=I wlTKyN"wxoS?S?M_ a7 &md<"-ٹ鐨)l+4-boTU;-d=U;}aB-y@={b[of9q.=.^J枡Q T|<5?AyW9yyҒR/ uYm[!;W?|ebWv^2uÊ+-Z~刁r`Bo/e,|(XY{Qm-/ٗf& u-l.[ء:whޞd@Y{Ŭ9q럻w>T(T`DP@tf&H5:DXXT)=olQ "^5'& ׭<.`7K#,.o!}Ov-T\ ?ˋHC= D`<ĞDhȕyȆBEʋb c}0 J̒x_0LCT x{CwܐOB3h:(Ղa{_W -W:EV=*t.hޗGf̃ 4v1\]ʂGq9BS~Vv0cG))^W / vsL>={'tTHφ]w΁?>L(7cR ե9Qt֝͞aQsmok^Uzw,rJTxI1yQUOo =ĵ`X~]}iD1 x'퍳23Fw[cke.~D%~ZxpFkFp,~ |<&uK8,#"kZ /ol9KFxqZJS&G1n5~}| @{T>Ҳdrfn5=NT\ X.~2%bQghw%/h#@ht0᥈>ۀ͕Voɵ%EڤFv'_z|}hFڝK\b642hԌ\jk0%Y "7|21,o; CPrHq\˻"}$;50B.dq s!JŃRXU(9Tw/" MS8 Ef*7g+V^^_qʓ,C?#t)4Q,Lfc!4[G;jYJfع![-VϛoJ:z9F{L牌qNVUX4{g;9Jfqgy0Ơ$ˉb*j9Tw|@ #c-$u,ox"7tEa`YGf_} `GUg O LCL%É7W;yf_ZuZy~Fcyp=G|^ QM@Ͳ$KȢ%YR $~ -xcMp[f׺FXa'Mp+B7 jsj)'YI#f F&,^VCmIF&SXviUQ5Ԗ`T:|G9;^iZ$IF( RQI<^P.F%i$(JCJYQY+UY; JAV4u2t&*]ʒ*xn(YUBH]QPm'@.#tmu XgI6: EZzt@ֆggSf G%@S[jkgdj1x$Mֆ:gu5$Gu:xfs@7:nglYQk?4`I^C`]Q%l:DI8/"q}8i]cyRFQeeeUdB,U9VYMUM4xi-Z,p-j(q4MCMC FS 6+zD ki C|'4 MhBЄ&4rೢ B 0Pc"˩HBdJQq fҪsR0)I Y2fIk;CĨ+"|^v|,פ1DQQe&C&1VR驡UB3,iЪ8>)kP|TD UA|C|TT|SP@ŬAM~0~"NodUQ`Pz될U -]:`k,lFF8>zNCe6%|=&Tnlr5 ff>o?ڞ }>#m9 oz9f2P/@P*$HvS:ڝ) UۭbfQڢ˗$o (J RS~r1f@YnhM@aX Nu4͕?zIENDB`homebank-5.3.2/doc/images/use-budget2.png0000644000175000017500000001601113604616712015101 00000000000000PNG  IHDRD|&j9PLTE55QN內~垞Cѻ쨏᪘c߾󒗤Ž鱱__`<呜{Ʋƥ̷Jؕ潓±̋S氞ߦyd찶OhίسMOSY♓{Ŵ©݆l`ŧ˳׹a[qÑȭ@ޱbROjjnjzsy˥籁ɼӷPVl]hpTstpuüre^xsfǤƾudq͜ര֥eo|\雫鬸5yToYvqeՅ~])$*IDATx TkhPbFKF` ,ad,!d_,YHW"\'}/_31B5<9>߳A 5yk^j$ҨɈ(y~$򞐤#9H\|6B\,§+I&2C Z;.jBD?a0C F|@phʄ,5ͱ s~&8&1}Ɂ QwRQ| y1&Q3%{舙31h Z8AsCKJIi qM0m_hUI0"NIADTvH\%bO<(Hvˉ4~w8w}J{= 8畎uFdغw!WB{"Ki\,tx6Z-7iH H ι|"39I J()=Rl%لeDX܀p\Un/P1?(xg{D[7$XfdDYtȇƂfht%#^_F -i:+o"i5W.RʀYCseӤ I]Iͅ!0DBǪ At 4tv; Cv,OzrgeGe-hLq[q8Η˥z)F`m4m`h;y˸$pwbKP#eS"Jʋ@Éi1{ J{.AeTx. J!U9Qd JG7Swd(5q$DqtY QQy H`CT;[!JA/@X]H#Y; S)nbGg }8}3y;A4;}=/cw; >YMi7w\uţѪחE?8sLkә[Cvo0a,Ekd4J`41Y&ڇ,AK|;;&0?(<:#0 ZvM};v܏a( fv}+8agM, rDt AtjYRvd?`a=*>9\Ǫ$Wv+|Ml^vQv=cv0$_aUeoыigUBR>7BϝGn'us!q 驆(]u(*!(Tg0^E~N'Ҭ SM)|9.`e-AՔ狲^. {Olip> @n ,(q}OBL8(Sה%1902:ޠ =GmBWBx%4BIm͏il"o4 f9&H Fj!}JX4L[6swW.?D 4"[ ^jfn>mS\ǃhcq,(u%ܶ~!.?>w^FLWFŋ3Xǣu&?,y9# ~UTh n^V ƉAW03 NlLaTQ{ ~KݛX{yKLHr AcEB>?s5ws<~u7K9ol??j~lnAdM"B /8>K@-u}UݿX8”D!$ouMg+WM0C!h;OQ{uL矽_@vD$H4Xr @\q@f=.kRz  / k0D4{YH QġcĤ3AR4D.wpu^B,E٢B:D#v޺<@ϗRXohbS"˚Ӛo1fj\aֈ_hu| ]9En]F.I6RjBX5;X& Qs2--  "r?ǀd}@]Dl $y6-^r25y_ ڽd'uQQhU`-ESs+ڝ"~s>2oH.MJl"cc5HagؗPjƎlsnYv:D&1…_ pk}Y;Oؾ;@Wr‘DUM%pF"DV ᓔ`[Bxj WlpڞOm gu}dg(鐺螋2F|5-0`1(+nIs!"6\$j2SQC4f/ά\';{"<R%%Q ʮ0uȊ˼~=9u(NUSh''x18Ok&CgQ\ڙIA8- BJq\)Q~OYF5w!'^+>w!b0F= I /QVqkZȏ(Y qW穅C`s!z) 2BwىA"GCh'VEG9MZI] Ք@t끀xm3a;k1C͘|')n+VzV3szhj>N*Jt*SdB*g^A^?"dhrGBjWthiZf.rLY'L?%`A% "6VIXhHIw#k}.:@-jgvob﹮Ƚ5SB^y8PTDh-+40ԣ5|"[wɔ WgO8e\ȬR,JqmS$FqADBh_xBZ)՞@ nɮvi6x;{5-\W=DdzN6 ncح6zf?ĩ'j'?YmtIENDB`homebank-5.3.2/doc/images/pm-fifee.png0000644000175000017500000000117713604617136014453 00000000000000PNG  IHDR(-S2PLTELiqwfUxxZvbK~va~u`}vbwb~vbwcv`xo]voYphVwbwcwb|gkjogaPnfUvsxb{s^½½Ƚȼ wb## 4477~ik￿9 :tRNS "-Bampz}8IDATxc`v~Y>6UҳVqŵ M5Ź|A c#u9995Cc A U1&$8<:>:,8$V((lkC U@ "`CD2C $Annn``* `^N r)`(  vvvvvR BrP`b`c+ \VV2 M*$\jIENDB`homebank-5.3.2/doc/images/key_n.png0000644000175000017500000000055713604617136014071 00000000000000PNG  IHDR(-SPLTELiqopsjjjmmmppprrrttt|||ftRNS3ebEkIDAT(;JP9'O`k-jmE"`L6wi^]u𹱦^v7y}:qqӶ:1wVIyJ)mt,<kJK@D%GY{L3?+&IENDB`homebank-5.3.2/doc/images/d-info.png0000644000175000017500000000147013604617136014133 00000000000000PNG  IHDR(-SPLTELiq4e9i7h4e7h4eDr4e8h4e6g4e4e4e6g6g^7h4e7h4e=l7h8i6hDs6gFtHuX8il7hAp6g]qoWh@o7h7h^6fbdقuj̇֌؊Ygcʙ܍Ӂu}|q΃krraiW`yh[ǧ݆Ցى֔ss|Ӊ~Ӓڃh|xь[Lj|͇Zev]ǃbɅքЄpcigbwцւwtπ\e^ȍ\Ǽvяxʌdʋzʑڑ&R70tRNSWI[6| D규ͼ3IDAT(-CcaE۬m}L&Q۶/R%R+*ɦ8Ǿ/-qtB h#>7;/@kXNh5z=^?sknwg+##>)_̰LpD {vGպwGirZQW'\iºQsԵ+7 ˧6ZԀݙ̼~LJۋz 9~sOF̲߯7TܵmVn?Y6a6LIENDB`homebank-5.3.2/doc/images/dlg-prefs6.png0000644000175000017500000003050013604616712014723 00000000000000PNG  IHDRmMs&PLTE57M~מ䝋ӺJy[抪ꝕɴu^s1I~~TAթԴ不≉ócK{ȹ㮚⟰xDӡ鲜o̵ۭp[@6ސvżdY`oLJHyήv`Wn񠪶^ߘk̗c\ZmQǤ6ԃ߳ė|cRZr#Ӹwuva|ZsISe}~~JNX|˫˾j379imx]sp?|`G\zŰກ˒쨷̚Mҭt~cjUm_yyFHӳDn)pİqpמD sD,T]ra;hyL02ɔ1Pڥz}ElLJ H2;%¾ύsiϟknϪMЃ|`($D-_̍6􌊆jO_=z0wm(C Xh^? fmT۞}}O׬Y2E$qdh3iB \YsfC^E ~G8QW7Wm DbHE"EkooX*NCθVJS.A_~Ʀ]6X"Q4QmSp#T'Α+=g^F'k?UJևY2МعO .,~<}Z=[y@8`~b=!?>p|N@18z4^@_pJ(ycdZ . *sPhQLcV;=Oݞ/wIX+8k>±>q$hIVb BAIfڈ7vWokw[ZAKʕMІ#-ɑĮ O-}G9쐂C3kS%ڞOgd6ds~4_$OctF*жP2) l$;Ob?=j>;|=>h XUyUM~j}r~Ixڎ7xŊ^Yom(kJJN^R\ľ-Fm IKG)vo $<~SRZuID{ϷMɵhǡKlcNݤ3O@{\; c{76P(lh]b?k￱GPL'k>6&>J&QŇS{}AU/^v{ږЖMNQ_mEm]kv]HXHG_dmc`- u?F{22㾀0$\%DD~s M[WTۯ@ncfW._x򦲄΢ύ#dՁ4#=,ڥq6nsM8l`9?BNtp՞v\e+cScg k=O:PIMI%DziVd:T{fi:UGjmC򘝰6:$ݨNV1YT{Ld;hCˬVep Z^AIutvfmwk5iMm֫6GSRrLն/J, u1^c*v1o1直uo%]u{m6'6Z"ɫLgj5s[ AX\@SR(lI&mW=!9xl[ILQS.rX AvXtcI$ XX630]G> u-MhIJcc'H@K⫵i f:_maAx^tY}Bw9{ N+X4qLpdm%T[()䨔TVU%(٬P$ 5m0vS"mf0[mpũ-?NnBjd1NG-o3oH0u Y^> /RYXo/ ?"WKO yMV IƞuBRִx%C~lxCŐԿuQآqt-e8s" 7,XCnѥH^jk;u'lQ'/6ְ;s8՝&mCVNC wb}6hKrH(@hBp$Aն&TH=ZB%7`2wIIO0cNY6iaRl G7@vF"-'|6SD!g~ u[mSE28|` y?<]a~7q^pn]wUwM}Z|AN MqD {jR2w}f^)^' j.fP&:#,jX"YR6BF]G#L6MF]`Sl& Pmj#QKamHjR͟fgX,d$ }F~7,R &@D@;?D"l]\bDJT{nw.nm$ S0ڂ0"f>Pٴ33wn>ȵp"HƢeX+SFl";k#T$RNRf8_DCgA?Bɤ̈́H}zb=U cjG:Xh5M4a!JmnTpu/"/6׀C&RnF-Jhdch5JLygA7w{]QT\/YHJCBBS$' `lVj[i<4IQ~HcjHhmMo%uRSqcǹԌevV$7RQʸ܈Z४_kuf8k?7?ՅE0iȋuKtF" VH$2nIY"_܃N}nG]=zRfcs7R^x"hBbnHRIkw=4,1@oQ{460g80v^}8{>\&U*]ԲbWu \sXiRݾfɽߤ#(dE,4*q{*77Z&Z_ +% UySƖՖDݒtnIXd̓](%2\16k{s >=DL0bL<)%ȸʅ8r'S8Wc9@iST2!d{$՞A;nss՞A[j|vqYpsԆ=軶6/8p$^<PHil"i~ͪ}CV2oϪ]5khs?mg\L0~@ Hb4l:ifݘ! $\ )"eA䥼 PZ궧رtnO_SlwϞKՈ<S=ȁ?v4;?욇#p 0_mwb;pk{Q۟᫑yjD}w~:b́U+ր%UpWfͧ#khAS1#ȨD Re`&2N9j,?v˖-Ͽ}Ё##9tUY;mggZl\EeOc,:El`tqsoLܯ ꍗ Og{?=o&nV5j{SIH\"EYT(ZkNɨN`9EH ~g p!~F:^X/Ewűip!ny"UE 4Jc] }lwGoy͛ߎۮLݶ[]fHeYs F.ٚnIcLndE^ҭq\9,<%{[ЪzI6|9 UzT͡m< mOK.ڲ~ovէ7?ynjMr`ɷ_X1ubO(؃=XjE[$"ޯ'lE}}8&b;l[U gg;E4`;Mcw-a'z;][ֳ*`րGn] k׾[<=EvvuCؓ?cEv^b੄xWQ+xJA-Jk4B1cBͰ~}`KR6b^ܣ.^LC`Ǥ\_P۳go^qNjr^^pxJK^Z`K+geǷ 'NHA[^GL.I::!SX~J$ͷZ`8PH&YTj[K9Pz  ǕDcqjRjR<|NP 0ycޞTKnJy$td\ʹt޽4<0d2m CJ Agnɳ~+ zl|btd06)-)e2Z*URm?G/b_C_‰̿Fx"O;^3!7{>D"Q2/_@06Eyޛt%ϧ%Z(f (  lˤ7=2uW>]Ŋؔӓ)! 7g6G}vbC褙<*͒}u$;_ˈ{"xfKjV=X6VFlʻԓoq8҄-E6_:oֲdm6H0cj)YlзGte:6؆_mt&m:!23b"c2/ )~uTBn(QӘ&:B!L(O6i,xvVa}Ҷ]_t&%) <|!Dcr2C)pp>g7~vLV"R@i JǺ$=3@q/!Υ@ؕ> #l\s#kA9DC >^fiD(cs'I(srWYQNNljuvoGm?$`|ٜn-?XgpoO@gid('co&ʓO۳>b 72N}{Z%9!$з62FGm9D"NFm?mö-v.H@6\np;ۉmMsѾ=-9y , %G 0aYm=B.- 9y#lkAmϒmRⶇ9KBmRߎd+BNCmZ 3Bb`{s۞$v5YImTS5 3WÈ[Rٮ2˱H7&.e+K &{mlVI3eB@\{[r>3wVKK+c1̦+-Wx{r|!~梵MM 5rdm#T(Wp EU~o5Y+w #`?t'>hdKMȮ6Vz5w9Fa6y sMZ.&FdJ+x\XgfvH`%w˅>W9Mmn(r MHK*9gm]ņbx/p 6Ea$ 8*JbQM 6FY/*KrI{IR΄GOA`۞ݮRtq(`:Z,]# 2ifGLZ 2wsjt3d" q} clm_(>ۮ߷gN(P$jw .gKŠ `;kjtՃ9k*zu:.]NpUrHPH'η!>v-:@iR}.bM?ĠI @ C$JR?s``8CW=gQPۨm6j{!>%\W7+qٶhfWp9&`1⡘Xg,\DETcbX#!Us=Aqخ=xC`i"htsɪiуj DASlˠ.:6*FwDh&j;| d64YW*ػLY!Sݶ.n Dĥ |nW!i 9>i>Sntm% ^ٶCIw!ַAAk[j76 >wlc!s wc(@Z+rs]=+7d6l[37&`SDaBov=l;Z\0zjk)VHo[AB!=[]f-nAm? 02)1>.y<xqo`T.gu+A_%9.N| 5 ]z ,EW~аqEmQۨm6ʟ6 Cw|ܙ=빛PSZ4QbrYm  s UaYcO@agRTPӮrҀ*rJ!2jf/`RuǬT[Ǻ jQ^ j{:UNVs^sDUN&kvOfjP9*6lErj{UNe0 a&8AS}UN S_6\nS9'3PϘ)#} T9<^8XdZʣ 8Z/mӜmo~0n2 t40HeJ &hB% &HWIDc1h J)~.ͺM/_w{hZ(tw>33_K91v{h`,e3;F*iLvi捵M:&ҩoȖf7Yc"ӢhBmq[Sh!.E6\Rٮ/ꪔnJʩX!ahm A@hm 6@6uӹȺa?bx> Ybl5qs-5/ˊ/ l0j4I':yxv>nh,[s![m]z۷/F+'ygbmΙ8ՍRb=SLfn*>ymv$h ?./ΆC#u?aײ51_9nx-Mݷ#9g鋣{|\>?3-l]9w͵%&\6r~͏)+akkw(kdISA'E\\M:6B@x[;`#)TQ:1Whj븇5h\xe˼=\hm 6[F۰߿-SeRHmTY`do6qY-]j6iZO4 ,R2J^Cz?f}43j[u[0PU duFWu6 z,Ϝ2=3%jGG֞RNp=sLLWZ,d5vC_ćҿm6( #BsKNxc>},0i,f}fc϶u2lO( }SӐK[Tz)S`C'c1IlO{hY¦YRзw<3 0ԒmlSjzNCIE6nEP謸˦]D$E".i6M69nn}E,0m 6hm 6@hvi+$_W-@%}m*@ F" MeQF6RY4 k+$RBlkoJH6A.4h-^][wN[A|dhhۮJ T}+EFXI[4LNXմ۩ Ҷ/MzVu j lĬ(Y"햻rGwUAzBάpMf;tQNh_n,g7JˬwWf QeHaGYςVf$̢{Fu ,ꤡ66M3ircIO$r9k [.d%7vfFV}/yھݷ6InjUi+B[,/ɬfqu2F9hrۂ0ӿd ݄6 ڗKB_.Ǧ;1PJ 57ʣl.IENDB`homebank-5.3.2/doc/images/45txnsplit.png0000644000175000017500000002703013604617042015011 00000000000000PNG  IHDR ڗPLTE׼پѸﲶƺI{}zvUYE3/Fh鹳òfH@µAOibLQ38S|O:;^7wۼ`mv/NW`i+-9hS\UqZt[: y㲱ۓo8Ƅs?XX8:b#8]dČa_ón<+źčO/zV8t㲴9n?틖,Z@! hQ8н1/Z$.Qz"ޞKe5ʡvFKϯuE \ƾwmة`*:.S|>ǽ7vYlE5/MGYwfUE]+ܧp7 % Id#%d=vNS 9s/6FxGJ~4`c@hEn>) Ou!)V -@7Pzzo5=c/8b}I!P',b/jP%S]L=}"RDc=l8kb7IMZ0qXB-% em- pᳩGAMeKmd`[r V0-ԃi!%5MI&Z8Z(6b6̜%NPZx!7/U+.Dh\2yA-lM{oss*!9;#;\.Z7]gLBׂÿgN ?oX´ CFO>1F!īЂkڋ3W|Q8}l94p$E՚&50Hܻ6fl|rG!hU7~[Gx,FŗӝO"@ Gi/?9~ukq3>|>=fk%E5Sf.Z̚b-kx>D_`Z哊BPW:RR5T 1&rg$n8vw?B : ؼh˄;h/no6 {fLmMB97Ox1?o|7]ׂG.N|.99V,ޭ׬rW;>3G",T Zlڼڄyi-N+&$@2 >e&$h?ۤ+/Slz-Š_굨 ⇠vIBI<ՠxrӠ-΁cZ\^4Si 6LJLԂ~;_DZISؔC0-l }:> b1hhQMgW-{DL~g?*9A%%d}Q-]xaЅ˅RŚj![R,xLQ@bDd%@ Wg~Y^duYwyR,~l@&,)twX餏-x-X;2^L*,5˰jEb%| TagG=e[‚Bj/L,RSĘ|WY!ȁKH } 5C0;6vbcM,GT ;ꑹC-Xv!T؄Q >P2`l"8-lhǗِP%--ZH#(_5mSl}A<&Z-ȠoMfV?'?$h~c$ 'm`C[5N_K! 1 _""izN`SD艆wW![B=|AB=N>]Hk.^ޛwKdpa~sUV5mj6v7͏b%۴ڜRr9MqL 5&Th!Rmu?\5IExK/`ٸŦ=Hi}ca'%d`'TW4p&_boFuns8v&̈ah1Sw8z)瘬*[bxZYMq~18S {250 /N! M{W6 ֘3b-=`EP'} W+(̪(X!ݏOȎVun\Ì+a 6Ebqw}Jw 04~7V%w7BT4yOtZqt[.ˁ?s j\kG8nzqV,< <08/Ǵ`WzA,u/!jA-L3;g MTjܢI*=F _u28xiU1ƻޜ?`4SfΈ*$jAX}lM2ug&`ׂ2Lv ld7A \*;8vn16@ Mk}iD_6X5bnZ"}BƢ ?,r0w*m³Mvv^cvi1I>pn=4jagCmmh!rWwOWTBnq2*=eԣZĽ&#PxFz.:԰ ܻXHR. )B!jcϞH GXl7fs9t[$qn8~YݣzYH4kЋjѬkHJc(0e@xqҡu E; s0F|;đz|;nF*?5DdǪߏra\԰R G$ &T< &5WRY{-9X*ބwIY{ñ~۟K[ 7K$bV~_VMqn>+[ڋ{~uCJ@b~֌y8=n,CdK4ګV_v?rcYopcExmgT{r>`Y{ >f'Sd}=C ?IĜ}ϫ*Ѭ=fiY{J؃Wx\ٹ҃ /-WV"wd|6!krcƏ|=s*{ 6gO^[|^QȽ<$~oEV)MP~?).* w3JJ3wojwOί䑈yY{Zڗ5~>k߲}bdO[ ʦZ<޵y|T d/h\g7~gIO8-V|P#;s7/زi3w^-mo!D{*X]wΟ.<{+aYn+-ߺw|Wy^Xj6k?)a*]ȟ)g16 '%=|"m f:lyBbfɡWbA+Y[SY{}P:6 BomK^K+Y`!WHfĢX6Ê1.I43k/ƥܠy3,R_C,RO۠`.B)}=a-%5gXE=upzBQOD{RPB[7d}G֞6rwcgmŰ$$I5KvSbL 7WR0ӕPADu^-HK<(DA|q9 ^F uڰ Y+ϛz"cu7)*} .4>-B/ɓCl0wKQ˦~ڇML .{>az6!kͺ7+ d*h$e{Mf9mڇG`Z`LE;_vR~vsBW&YY+97k Rݙ cS~wHCONڬ}-*7_qr˦8@ގpm ;YrY{ckY؃6hݪ1'k_ݪ1_txŬ}Z?zdO nݎ /PnN>J~'%}ƜK_x'W|^׌ڳXH Tootz`f꼤 Gd헦kN, h_mXdkX,q7'xX>"s<*Ӈ֚ڏ~uD4~/M~}&Dgoڃ;=zbcGiv0ÍgN4fղMaY#uYUgM$="fen)k? ;8 6> ݛl] k߈e$nxXծ!~Aqd-6!W~g-)qkjڬ#`_Ew͸^VkO&Y/O`ZO'±x%0*M>̺TPcMsmxo9oUKI^~e_` w痕&{hqV tz l~h: Qep Gk\~Cm IB[YS`I4\LjڇKN"fee5X:Y8|w~Wtk WF pa;wo"DhF֞v-zI]|iɐ"ִ|M뤝 43kJzP_k9a4oֵբZveS7'koi-if|ؘ&>0kdRQ 7EYDj8"zIlQ &Cs$+}"h="C߀M>=(hoDD oRnXWi5Φ܎[j1kok]E_T,5}kZ)mD$n:K<\_qOF=px q8t)^_bd 'O: FQN5H&״$uMkߝI=ckݡ[ |0T=PW 6Vm|}zen =0˿׾go hLM"C_h*y`dH+~Rnne^ϺY>ѣ֘wKO-w3-0l_/뭺̷g}qB?mKJ~tT-}SI;nf=PZX*4.-Z嬛9@JGᝠ(B}|iYy8G[QO3"`ҊF*AnF:B1wAO$-DšY<qFu3ԨߍDl+z"?B ָzDX&uB5XqZoj"N]u:J{W=aKW ,(+-X'#{E ~z,Yn#Cӫ7K=P*L#n-Ta& APpZgyݺlgH`^׭./Z{i؃ a\gZ$kۮ{fo }XC_h* 嫔=o܃8~vFA.3{0(cy$Aj4A%E4 &qR #A"Q Uy9Cwg}L2qcp:] !~Go|do`gQ^\5؟F%s ܡ;67/-AR>kׂB`Y{ ocedP\d–3CӜheo T"Ȭk  /vEiUsaWrn]VYO{OdwXֶFJOeTi=mQnQ>AmȊpUJhg A sn82#*(.>$A/Y:~8sY 2GxA -k __E :+G#y\| +g~7fG@^ vz&Mij{hѳ e?5 GE?Mfak!K2GVSRfEBYFkfa~k%-/#k/ oNsa-0Af& vVDOx&Ȭ}L᪦7P8Un$UMnd}8Y{Ń̋BчCA8%Z>^HMsаja?V \7 __Bցaw0B洐m$H AAV)z,݁hg'@:@?X<7v-bbwL26QѢ0KN}7+)k&e8xSe3VA LM Jg7=pFhuvvw־I&q,v1L !1ړw#|!c}5[Ѳt"Y+kx]gƓOf}Y{ncQd>@v10>kϲg҂@ރQ{"0p ^Ie0Z*(k?cP(z,ԂZ4DAV W^dП X7C\Ix&v>#>T1RY)g pULflB jFw,` CQ804dȫw>,h-G;ȆWϝ}^Q UBW-k?^ N0yO҂qgLa|֞ -g)ZZEB2zb&{&G> eѢN |U dipQ5=^ڇ /q.Bi'fdC fnV%{ OxrhaBIhxh@ VO}\z-؄-(k/:S9_{}{d41mmYmVFNѳ;ƓaL_$Pw̉ڏ,xw{ia2~ݓM ɗ ޿X֞՗g흭r "H:07"^ |7y؉hqW~\#„q7cOMۍ#\]xgr d2q~C~VP_2vK$V҆^ޯ.҉vjwJE¿|$/TlIMz{zcH8jmep"D}%[>{uo4+4oߩM٢j0g2ui+k33 >Y)׮/ (.5`m_uUCc$rs4ryy40cld ~3Ч ڶ CL8iճY"ݫT~L-80k%kAkBy&':mڒ5T}mD&7 hk S=1(y)oȰ+)/Ͱ9/O5Hdy?]ٺ[ߩPw&C?#nWzaYlNxaA&ON760_$݋/%%HѓțK UE E._E*6T_*"sw>=qn;BjEϸRfZ$׭{t\aiZHO@jUsTFkņH-`o iԂb(9$/7eJr.NA"J#Fz]fu)-toʎ3 ?ŒZĶoeؿ(J_61_$bny6x[b9 {M3I2<} ӛIENDB`homebank-5.3.2/doc/images/50txnstatus.png0000644000175000017500000000744213604617042015202 00000000000000PNG  IHDRV4PLTEJICG>ז@ِuO󛜙t`iiG蕗͒ٻI׻w[Y{󢐝PB-.YTM,nP8eSu :|m|@ʅۭpfsy`Zچ{/?n@З>PrĶDč옌ƹެԿ_ejLx÷ڗ玆'i$Yi%=~oY] IDATx ToI@ ! e j"Mӄ/v'.%H#_ӫJI079|C{KOx"ig_xYXIw21dpEV&"5FQNaU[Q38Qءۊ%*%fjN\ JJFd˕8:d;* `#;&3}*jy&=d_xaF]n+ Rq.Hb%0&'Y EEy |&"`h'raahm""ښpE.x_ܦ}[ѢCÀ&:j47R<=lYq72˝ $+zN@P HU _k~ 2Z ahBPj0< EjE2"V87r*e[di!|$^#L pxxJĞlcx ܱan`l4(v~ ;YXp+C&1>;τh-d4WMl>;5AHX=m{}yxMb˿Z<}T+6 sYKšLMJKӚÓ !'2H]I=<zThciUNwr 0Cur)2vA7=71,EwXUfpG)r#d! s3BEdÃ*H$`荺Ao&? c`'eguUгdZ봙@LSZG G<vWkjh/D, 0 ^ղ!jnQqPj0Mxp_CsqE*A>vW 2 p龾9΍ 4⮱;>,yf-|?\__G_@!uK+R4R#4!!SK- ^T:PSq+\o&7\6,"Y58t_DQ?BK{vVz;b~@sWYJsl@ՁGd7} !^H."CU01)jLF ]!Ÿ-j'ϼR@ry5IR}x Л.O@$*vJZ7Gzel)1;J`:V]o>{pp6V J0u`">R'.ҺoqqݡsigcR\'zN8 %+S8 m0F@h^Ma HQJyܾ;-MLQ}sČ Eݣ Lnn1MPcB뭤GCvvjvW]%G힫'w Cp8T*C:/LJ L_,~4cAt4BhQ5\Ԣ T x~ywߩùO)"D!B/FL>wU|T~~/*q~{rcmi2'J4'f_ +Ҭ{('/~g`nO-~#*j΢3p?y܈Wi aXl+ped<^;v^Ӗ}E.:EVD@N/ ode>[Bad+YaO KzvT-6tJ WC]ITn&>^*4g;J0tS\ePf렋sYkȊ%`U`H3N (_ + "X?qH`G.A&FFU|@cV=i'/ÞpV`9+MzQ UMv\d4` $jN@P\lc`k|"=; &]|t4ѓ^@}W\]hȜ4[e=>/"D];;Q2j2cF(*YvW* ` ngόtn4wPg8mFSrXO{-p:}i:r3xTc'G;Iߐ+wx ]AԮy?ZRFa p^xh6lX5}G͇wNCLe\o߱6ccu̶>:8< ;:| ,\39{Bs벌mﲢVj> Ië<9yh7._t~teפQUȵׄvvB D5:Ly=7[/i 5xxczWo,kc+ PbBp/.5;'h*B+](-U=ī{4Ǒ"D!BSc\IENDB`homebank-5.3.2/doc/images/pm-dcard.png0000644000175000017500000000076413604617136014453 00000000000000PNG  IHDR(-SPLTEGpL=w:v6s,u'i-m-m.m-o0o-r4r-u8t8u2v2vB|(UU W[\c"ee#f#g%h&i(i(j0p1p.q8u9uA{@|B|IJR`hǏҘիۺTmtRNS03QIDATxڅU҂J(%u8:c}7XpF?(D,sAVD#_^jբ!Bܟ6Mvb:!pQR}ȝ0ͶƳA\IXB$Q쥶8 <~_< >QSu$-k`r1@<џIENDB`homebank-5.3.2/doc/images/hb-ope-auto.png0000644000175000017500000000076013604617136015100 00000000000000PNG  IHDR(-SPLTELiq]]_ZYUWSχ߳l޳oq¿޲nmqmpp(((+++???\\\aaacccdfadfbeeehhhjjj٬eۭdܰi߱i޲l޲m߲kk߳plߴplmpqonqooo0qtRNSsIDATxM@cf. bwwwwxqG䠌)C%B۪ߍThr8%#,e-tq4l'86 P-g6SFgA%Pȕ5P b7.`3B;4cz(/|Z/nIENDB`homebank-5.3.2/doc/images/3.png0000644000175000017500000000056313604617042013117 00000000000000PNG  IHDR exPLTELiqyUHyUHyUHyUHyUHyUHyUH{XL~^Smdqirjslxq}vùĺĻ7z.tRNS/b8]IDATeEA3"q@_SN$Iօ,8$$$LOMo`26Ԯ2@;ݵ9`3X{??< [ X@IENDB`homebank-5.3.2/doc/images/dlg-prefs2.png0000644000175000017500000002704113604616712014725 00000000000000PNG  IHDRmMs&PLTE57MӤ\N6Oۮޚĵ5;޷ז̳ϒ}͟gn˱ʸӰ}Ȼ`Båѻ׼㫿˽Ɵr򛢪ܱޕĶ{fZ2|YKϮ<|ѼbZ]?s~lӻ8܆Irx~}068l[g}Qu۸uttOη,KiGꯄuv]Zq_PՕ~hϮ[v_TeH|⻌PHHjjnVI3TDGLUZm,M;W N>ӯuM6מDUsխֹVu?jCӘחuKK=™*IDAThiPSp"!J+Μb1 I$!!PkXa߅ c""3g;0}u_8@e 599'D[L1SL1SL1Jj];K־~#fz]}hdi n%wI۰ڐ@}$^&mCj{l&%t/Vr\?@ E}-y{f 6-pc(.]BNѾp+|ܺAzp]cWӷݤX TV(\)Ҧv/59}O0i\Zg2c7PB঑7U,jV*8Q|I%J7ikk;2Ug*.n߆H EX4or#+R?7gȼ=Gq 3i#~MgH|X2%)dXKrm;F%b% gkBt>Lzbju@vJ^fx+P+iD!>.Iw3LUݨ0ڼc?mbs=y_w%Krp;vŕz + )uM%ѥ}Qie>e=Y);fW/U/v.}rW Af $]q58׽W_(.v"ڛ$ev)C0lU66gc .9IS_>|VmIgnI`9)l =|;{Psgl&gUM=llS{N9`'@Q5-(ڻinMefu]b /]ݤYsWxP5AQi }͉, yQ Q}УYg?dgLO?\?{rZ3͍ Wj)B6Yg7oI YBR)Ajnӯ־ݼ聝JMyy+У=!G}v\OQT j>cqm455ٵ^Py@m5 ^27Zm6.ofR{4  IPc@{JZ)eqlz?%IkR;գ+kԻJ =:4[=&Un j]]=\6վ~yM.3crA0fJ,7é;Oxc.Ϊy ܞ"nqvTg6>qytxu=׶MQ͎"d>&gۋx flL:GBWs4wmfK=spQޟ3`ߓ^4335AO /n޴=Vతs7;=9ؾг0SLN/,NGvc8avl))pY2]==h̴{x=ӳ3ic/i]3JsFXn:h7yvǔOͤƆ7s,oʳLk?btl<i XfgmIpj䫱<ѵmnsbV' SmHFk7>ߘ7#yuCd&M~4)FVH ?;l͸23kFHȍL!pt O4iT9uV}iciX9֘3S[cb ח{CU:Ҡ6kgεgfvD?G ȝp4pq8n G~o#!mmIHzKmߛQp^޷B=ew;=NqkgVU%ƶfV/ĜՊWЇh^F>J/=uW6hڭ7Fb3[3A}Ks1=Ar񫽶r˵;}s~=Ő_[;:25[]``&_=X! aGt(Ӌ[R?%w;_͐c~Z:mW[pdI|XYXŸ[_pT[>)L :##N ҆u)i#BeOBFGGKAuI@gc!%]Fv7n>Z;LfD4eD4POèDHghs\ޟbaGaUaiIkGkF$z9hT |;ŜeA;e&k{[ڇ(  z`mm .޻ }l6aב m_thʮXhc867P\Q|wٛGkMQE@A6.(hҦE~˩# iP($Wgeʍ VpDXqQͮak_lΰ6KWVT-'. D\=j'؞g+*qpCmDr_/[ Ŀr2WՊ iGD>zlI a#>@>]Ȥ :CB4#J3 yΌ\ŗ\t{\ #%v(I ؇} IMz֮([jN":r0 $4G[x^`svAqp ,%뀈ϋ_emxBpQ 'nj1|F-q`_P-F#[ 7\@Q_m]^[)Vڮ:s*g\kvdeKb-w9.WCbprR/'JRA @Mmx^%_i ѥ,$DŽڳQGje޺vXp^^r. -KW?|%:CeE,*ۖ 3YRWQ r9fqHpV*ۈ5(C["S.xJ:D?7qjUPcJ64x<,*3+X|Y d߃|C8Z y7pоbmQMCHrBj:X?^W?w1XS;sM{ivYczu@>ԃNCpCB&&BY5,ѹzQEC_ٮXlW*3Y2ևg < _X Q(/ P( "H$; Ti,$B6형v1-VhrFZemc;nz; . =ֆmú$ /QҐڄ@)۰NlX۟,X66f =_Wʠ٦RYr7C6*V5v47i whr]6e!bD~2<7F&zm6^)k4i{,[=,` ۢ F8ؽ =(ۤme,dDp 6iqlq`CƢCN}dˋ=3&hmwVON[@vw& <s\v+z] ,QL.ظ#L73N y); D12 @VZ}x,!=}+h+Aslc/Mo''Q0pw8FvPkɎfvsOsd29ef^KI+})KED8ÿ $KiS?<ǿ|ඤ]W2- ky5I&2S =&9sRwNuO@:rl|, xhMX1dWkߨ_bDes_{XoFHKڧGSJ=f mDRUWfBk;Hy6|4 ,bv#킐mr-mem+B86*8?4qۏ$4 ;/k(O{MV͆lD0oro}tVR͆A_ڠG+)K- Ў P\\ZJG^xw0oR;`_SWBh2hgZҤ ȍUd bzjHG-j8 kw+xR.'6Cbbv #$^@DɏZ|-BuI=ex)QN!]T #|협t(H8uSe6KvZsKMBn~(qf$V\FWю K3]鲠Ng˿?(RU}¬UwODϵ?,9-NOi?7o?q8*Ü yb `c{#(ҦIn8ܒ(ۤm {0^Ǿ5}yM @nv2%Ā $$!$ DAry dPkYu*-ZuKXݵe suLoν ACc"?!sbp8miu;d)nѦYTi3OE&qjB7|Mў@c>{VʢCB" T"yx(GS"@9,Җd2Mx"yM9;f^7]۵s=ڸקz'w/E]ܧЦr>A"O~\ۄbɟ'2ZkG~b?- f$P{ .D{{i\dK$<WM'NwGм"w(xCtԶ1ߠ+?PmeA[Uxxp%jF᧟>|jωQ3#}E7 ;՟t,Y#ɪ|)G6;cbl~mǚ;D3ݶ5߱~5/U}~EPE*9GKs[(pȔCX~X_dOKۿu5Um†ȯ`ҹO<>1ﶣgNOiclS?3^?}2q;؝po$CZY *ÏjRmAm64sLnզQ)^#Œ~@ wvݺ>T1Z NfؐJndۇwy211h4ѣy޽7ti2p{c&>8\61J퍼k@;h7nTomQ$0p0}{C0ufʡs]vI#Μ0`<>pqHS3pfѮIxkh4 f\Gxnrqlj:R yG2E$|3yjpZ4 3xu6jc%RZTT2;Cens*~6nI C[eB51h ?~Ocl0(Z^;mA㉉'ɤln0 'ҐF,[$ebi5KnfJS'Ma~>2?mE͗1WM|߷6mk*r`]rj[V"EVEt0?t-ד4I+&-o? >V9(o񦾵UZh0'ZZF1x6 ?G۪!ڡ{?RVˏ-yOhg`ٳ x<. ,ƃ >DKÃxπ9!vBӎ13Q%gnV>G ^ib>sϻ bs@78AO{qUю,ACLvThPW{~KjX޾C(9*x:;ЦUFhL$8xmOkH%#SiO דnjn2X"'4ym8RU]+tt&WʻK7ue;8ͶLx<@}W2;iSl&x3#%Ddfn(S9:*$`(-2xTr5i7b?<o#w%EM=[J[CIܷ6RlFfd5rjwP'MyzuA]^J4 +͐#Yr{ɩM6w7m8}FK˻t21tZK(;W*Xv5eu2c]V_Օ -i5WN+I%`HBFCT̓hk_Ʀ7?7]qNFh$dW⼮]qQ՜/@l9f ]"^I TB*99d&{Y|{h EBJTUNJ-aM E%: BmFFJc#x5;OLͭ݀FllTqIk7kW_.x  Id(n&C=5\VڴLͅKs6%agSڄp%8o.3$%HAj^6D h}3+,u>Vwh{0vf,$O굽kn#1.rg=]zln"v9 \Jc v j֦‚zKiD,l./l VCvMsCPdQ$M~ Z2sĵ]?<8\yyJ<\KP9)@>LQX5PŶAdHSuɺp=G=^!,&yRw?@vV#hP\>4@dv δ6u5[{z[4{v9yc](@ ,@^Mnjm .h⪕$7'7'V 6rfʟvDb2.C"s~A)zҾG$kl_^6?@mƱpεى |>7>mo]o3ФGPmnHm[e@UՕG$t_Gφ~wF[333m.b0fiLJO&q6C[DFq֢4ڲD5ùt]k\{믁ʥ:}E_M!B6t swĭ9I4w?Wzw>LwGt̪wz&OevCHhh= 6V2# gRD:mj8dD]jO]U{9|x'$1Y`IJafY_Uj՞1t4qpcAN=_`VCuJ$+x/smsᅱR|7 !x{# wvm]:9nm$\;| fjQ?#]ÇoK(OwoSm_Tb'KyPVT|pHYhmdRqT0hKF%hFG%L+ OGە꟰i/~q78ưVeU8^XT{f6;۠ %yQuSuY/ɯ\ ,@{ׯܩ~ %oi-M>Gf+h6݇4>M;<4iQ=ԕy]ߦr{.q]iHN ,skOuu݅kz8oXDP]#{E=ZuB1ÓIζ\AWvdl=Iڙն9^  6ԆPjCm 6ԆPj@m 6ԆPjCm 6ԆPj@m 6ԆPjCm 6ԆPj@m 6ԆPjCm 6ԆPjCm 6ԆPjvК6qE@AAпJv\O3#8AX pS q/u=ks9= Me?#CGO;H lp!gk44GLќ<m~6jXyqҵǼ]>4Kߔ=$xh$],Dájn6t401*J"-n^7U-fxjlq[Ƌyq%/Vچr V_|mnKʰjJM~pIr B{6Ibk~gXO\^e ־{$p(7veZpvx[a/l:&nuOC2]iC?c Mϭk;;C{fZ4h79;C;ŵ{54Xh Euzwop!W`! iӾ#%Y.h ǺbB<Ҿp'4wgIENDB`homebank-5.3.2/doc/images/hb-ope-similar.png0000644000175000017500000000105013604617042015555 00000000000000PNG  IHDR(-SPLTELiqDDh1\»ҳ**"Ͻý½%777:::,,,---000111444666888V)8999;;;===>>>"$%,,=2D3F3F{Ȝ̡\~,tRNShjp|dIDATx5PDS$Uj۶6}ƴa)I!60+ ܈R[d%"&"#L^!AlyGD-*>ٺA len{z9A".e08 .N<`@@M8_PsCN>OmIENDB`homebank-5.3.2/doc/images/dlg-prefs3.png0000644000175000017500000003240113604616712014722 00000000000000PNG  IHDRmMs&PLTE5M7aÃ̫򶞔óآֹٞȱy͹ӷגȨ<Ƿʼ­쉊ҴS\wIo⁀|@tuwxk˼頾ޱᖟ{uĻģv_AҰ𥯻ԕǘӵhŦkȖ179Zi|t࢕p^W3vXX`Tﭹм~M}ͫ3}]ǂµvfnauwu]XT_KIM:ciYW}q远J2hmhl*P۷{Ë^e)ԤNnמD=Wپw7V̫rECX G1IDAThyPSף  *(H%CB"l!ذH`d$첩, R@MDMAh*CETv?μʛǛyܛOՠd17'ȇùgB $H AHA+.x[`zk ۘ/ޡhlX1Q"L@eJw-ʀv1gBx:;S]_p>%5~[ ўDJ[$PVmn%<&]}#+z^֮jy31q&c -3mRA)-± ,mEOtLhL\K [}?'}^ZsR(_}cK9j enX(_Z[G: fL>r{q. ln˥e٠%42b-kad2_=m\BԞ}M$eZLׄ\*( @pY9ɤVK7p|.7}ڧsk&MM4OQ0%" m;_^4N"ha3-~uqw {&7ܭƙ%T7Z챁j-5 5rieP]ِ;DDF쏓AtfirfѥnJhspϘF%`.=!/z`Y)C0IAZgBw$sә>YX/`is(g+k^h6evXJ^[UxJHK nq.f5h6jn' F%lqGM|9|?u#;im9>X/K7Ys4"5ƌKe0E>.; i f>kFsCet[Q5$:L}׾reFH6ΜהP*iHyQs$BCЎQflF!KiP6Rj^ZQq.QvLMɥC*j .-jCK]hԦC)4z޷[xJ޴ ڵm窊}^smYS2]QV*r2ZeV8a@YW nX]]][eF/t{кhzLA. .;:گ_Hz]k#W0lɱOɌ-~8̒bgQndRiTiH}GwЮ\yFݍbmɽ̒ҭwZؗUym/>}'N2hOfm^wPoۙ/=~W_8!B):±ꗯ|Q!}9sEOխmO"͝ꂶ2D(q>{yއ'~'RTpn׵Ƿq$`~=‰\mhȄt|@~ 1c=O\!; 0QxV8^ 񩌲K &xB>unONr#xHsd u}}rݼ(a3Q5M&MmPjO@_{e&cM66Mpc6M&6c&M&4C_Dm{mD{-io 0m6ؾsgՄ kN[{& JfFkt,ܺ%{^Q=h]z Itw7zjx]:hkizho,M`.q-hjx׶p̈́]v>IJiH>B Q>Rrf.>?Ͻb'ϑ^1t`5Uh3(БIUE)G{yi͖_:{mSyA[ٱ9?`6pwaAo%tەf)۶mi9 &ͦvӉdx|[oW qۇ K(N*&@[ ~rCr>sm)FS^#١n{n<h+FyìIF2+%x<[RѼ_mï)#QiQ%]=HJ ?hy`JU>RMbvV:5$$N)ƕkW GBtDuD9\UhV@Ofh? !쑝FnC̈*v_\uf6 )vX*-{?}8.lmZ)aB/*BK-S}=#iwrt϶8@>X[/mzeh#p uV?ӖԦgb. Ү{7%?rK9ܰsrӫa}qWo"FƩ}GY1=B"AcI5l8cZXk<cV z xV$lfPݹpB$EV Lv.M*$3ԏ=Y}dI["ڶ ][s``;F{1m {k6s 8ipZMΏ-v  nA+e؅AεR;D^KV3+ ^em+"t^LEfrX]A K69`f@0yX'P9k_ k*ʤժ}tWe!~BdeRۂ:[ni偧_y^K~{٥aԬᬵR͚f`$zK75:@u.{wD41Km[f^6|TE3 ̨.UJvj~m*X~Gf(h`xvjFi?%ǞJy-:#xE$mTx`l5[P]8 Jd^[-"O8?_ym*kFJS(L,<Zt^_txkHv`:Z ! lAdeV~G.h7Xz4<@ڬχw%FD)!pcM׿Hʎ Jw.sکc W]/mVYNhvx"Jb iwos! t]2sip!JwTjڢ#Og˻.u> VNol,džA2^+gwD!x\< J&J' ^3 @;Q .AH_jKU6?l Cܯ_LDy*S`m窧ra( 6zZw_VRc~aYȳe.)`}ثBk~>C8~8Lhvַu'$Z~fmm-6[f-6 2{67/o0` L6@,FP`MmZhK[lB˽@BrWЀB DpQv :$7;qq[;y[P@e 7X,(<>y_ /MPeF'1%"#Y7rp[WVϥu\[ӝ9Eq`Rc^?@Z ZʌvFޛS3{򹶽56!ζ'd+ȓ}~|ρ?~.͚8Z_3>>3yw ,EpDί%'G kG>WAc*?FvWw=e|\jtt$7"_Ie0ӓdNOǑ:rАL[vΙL>Ș͓6$Uf >{K6@2yv/KwNc../xl``m>N|ڐų'$|H|| ~zY+TUe-nkllӨ;g׊SbM6I,s^OM*Rs3mYcuf ."lPU1z`;튛ԍæO;P+e~]i5]`?FŠ:b*y3c2 ʊkMP(Bdl0k9`N@ 4ivGglU4\,E^Cڐ[yc 8Bd*2X3Hma8<&H6SI| vڣ 6V<1>N*uk / I޺=15^kc9&iH 4u'?;lh;ڡ܂bx*&gk~T>dfE'g_B2 &jݣ0׆p^q5 X/V۾"yjCSw6\R/e+D υ8ss\vp<XHȕęmE7p4P3 U޻+}:о~}ڐ F_%dI(Zp:8Ξ NIXׇo[o Zdה U/,kGwJF' dAEP?OU]x"ﺾxmxjdd$=..k''J"e3Dyh"8glᆁ QO6\*:cU2Ѹ;AnQ*LrweEv0 @vp@v8nKx XT \[9uVq2yHx䪲?_He"O&N>+PCPx/zq!K Ckf'lZܬ$>"E5 ʫ jɒ߳օ މD:PI6N{Yq 'sd0WM-iMu l9W\Z6lzoŀ=  2Y5UQݳvB8RplChB0+/xڲX|׾7cK&y8Kk9 ic30Ƽ>d81[ǽWWOD,Cxo rwyQmz|:nv).:KcҘm`~7ܞ0/<+nYemN.| : Yk>öI}5 VopNYPWͭM6FmU$v8ϝEߌǭ&P+ ۼmۮۙPI*0o!uJ0͹{x{R`n6ІvwgSRdD ~`>:Ϋ\I SRҰWxl;|voG  -mX7Sm9yik9>(J="^N{ ~y΍rTy-nsdH^фcoA\R n#MZ?Mϸc[4bGW봗]5/yJ7r}>q&{O>XA=wH&+'2y5_; hӴC]=e6Ow}v;^iMwx Z#T/MOehlܙ!  LyBV1 BumV>cQɎ1<ܿ9펃ݥ=w!Szx}i_.3v Mh_qJsQ Tiw~೻7r<TDw  p@/K&iV^Yo8$'Nb h:&F;Y:N*G;ῌ6fiY&)=:99 ̟O&IFry jEMŖf챎$Ē1aM,7Bz]{lX^v6`4k_RufI''B{oq2LƖzK$zƚֆq5̌*(I ~80\XMi0F j)Xa4 K&ǾhI%WRwݝ_eҶkNtYoܤamh9;5 А- 'oe4+gڸ[˚><:6_gTFOwbl麒fE$Y3yyuYz+E6Xj4m:*lϵ=(vQ~LH=ȍowzfui00mksM1dfh\5߳2&Bv+^ Cwn?Emc9X[pvKRk&Gj?U,0m!kAWF}iFǞt&]|3"ڽ5<+L/Xt>ld'hh7bօ,ZL!F} C#6}vE8<5'ƵY҆ǣ $ìd=xD젓zR:] P` hGZ!NIݹ k'& C4ڂ{u`Crb%u* ҆4Gy:$:]vN'E6Th+c.5+K bsBzr4:?5dq&ov A_/7KgU~ .gU [ Q_ųfp,;쌶kN>="/= i/_m4/mz*gSGplFϼFCڵ Yo)s;[:'a^E7jTFUoos,H[\T"#mv5]>edhڟ&7kIy{0]6kۛ^tW囌JN ?|'Öf0ͦ P~>Z^p-..X/Ȍ^z":3B9ȓ*>kQ$nDX6Ha`䞆R8--w\AAA5q./6z[$"~k ¿6@,Xr])R=y;W Ͷ&ere6\ vFa&Wen0>5[6}hRX\[A{\9K?N &ozEJ쾷Fs(dPboxWqǺFE;LŽ!mxz4զlLm;^}i]7|Q&ʼو}M3hn'mx_zWr?VɈeE4rrc4 SwX} qM)q%ڀvAȋ<9ȪJc, LAǣuf4H$ n,TCư~6h6hC@AAAAڠ ڠ ڠ ڠ ڠ ڠ ڠ ڠ mmmmm4i_6/B @Su D Y;͂5 0.?E8EOq[Hm%v]U!E'T#j'©Z ?Z nʟH mv8Bhf\%tIp$ZbgkTi5yT"l1))F7lhlGYDx7Y<3u}h=<W(JsliџS.gSK9EmvBxI.Ƚ4v" σhǍ2{giU}Őua:fYY61jYw@\a2DzqlŅDokw/,=DN(QIU\;a9.2C»]/y pU(4i{:(vIENDB`homebank-5.3.2/doc/images/pm-intransfer.png0000644000175000017500000000046713604617136015551 00000000000000PNG  IHDR(-SiPLTEGpLˬ< 8sTTA=0+)DTD]"hDTѫG_ͥtRNS1HNP^jjjjjjjjty{}UdIDATxڥ70 sl)hJsJpb6 !MEDz0H Ԁ$ t iMiB#: Ƴvb%zMdh=;lϯ/ \]IENDB`homebank-5.3.2/doc/images/46schedwe.png0000644000175000017500000000612613604617136014556 00000000000000PNG  IHDR,-PLTE¾X^bHFj]35Bb+05B6AA=:Q>IV~xS?=jiMJ_߮/6<-8J36X6>D:CPTD]HcߞĞ٪?7K\D@BRsiXJM8}d~Ӥf׵ߤ4G\LB>mOCYpudq|`Plzyy_{S[ұlȒQ}޻ٽPXPX|Y|Fl̚Ƶ±ϐ؜me\yiؿۈx IDATxuTI+Ӄ4H3n "Xp@$@u#]7rw~w{Uw3@f{{QHQ5 sq;oFWޙЛC)ڽy?G4>z;i0i>.9ʊ+|;{{S3ČjrQҍ7 [(PK=)oOze w~HzIxgBzm$hGoYxUe36mdELofԑߖ:1#vvvMÿן);{y-'7&t,Uy7h #x{7d={{۬k|"Q?me2G`*rnF[[em*zӽ՚Z.E3CQXƋe*6&{#:&K",ÀIT1X!0 dD|jz_'@L}6p2a yl `F>yL ـ'a <}KXn "Vܷ$؇>S_ |kjkVyd RN~#|24F"(:S@jI<\P3%-cl\IdMFw&;5jF6Fw纊fLX%p&cɘ,~FPb20?,yJ/Cfl(q`[]Oչpxw9A ;q`e'q&pgۉR4W.1`w >4Bqpu߸/zXPYa>VZ-N4lNx1-[Lۈؠ7yK zWCO^I=IM`'wiMvCm@)*?X.`-XԱ)eɅG<:Q?t2LNyDfޯ+ DV0asOߚ*κs T4KauVSQ~.ڧm *UOF;aO7g_GcN>:~pijx!D* S,v"{+/.|YDnTfZV՜Iى^l5(;/:p@ɥYS՞]=ά&w7仳~q0{~ᶤ]X4<| b|; pfs6G]f5 OXBo0.!vU0oEZo w ';I'FObߛO"YVp^N(syQY<a=I: oߛ_EGKIWڐ6pHS 7XvggjcT;.=$uV ;zϸ5fQtɑIaIjjPe) 0lŒ7[~Ա9d=b]1WݩԢ)Uށ&4fqSzi^~&fE #=Rs=z#$Zvn4 ax[ޏ'\L@ K à)*IGb3 c/Qy䯩{ kep;zݾY"n7_L2 m&3H96r{Cҕ!6N\v_RF{XI 8O]IO6ٻߗn`SFਊs?JhvQRVDV鐺sѳYWsdKI|^T-R x#N!7`۞I0P-`2a;ms[uHцyIC9G3IENDB`homebank-5.3.2/doc/images/dlg-category1.png0000644000175000017500000002473413604616712015430 00000000000000PNG  IHDR6F0PLTE5yUH~95ɯ̟D玍pgҿ}»Ľ袓穖ηȿȯMNNo痨¯ɮâ㴜{XLƝ͢P_VXYabb~Ơlexow\蚸Ĥؾٸ􀈘|[dzϹlmoJ铂ĵֲ›ᖘ͙9拝Ú|s򐅥ѯtro7<>>煣ňƾΪtһ䉥~||꘿ߺրi`sjo}f .l&IDATh 8TǏ:t5_ʐnvwȖ}ߗd)k%D 1vRRQIDJ%zDnuopL>i9{~}ϻ 2SZFi+f3IBq6E_tV>Skfkė#xѢJHY~̦dT8;4w9J,HVy!h>>S8zGDW+ EWJ_9', ??q @s@Tp@l)ՠTeo:QS#k8_䓰n2QK&/HǮ>t) QvԦhHO9 Q8frd|eA- :8xd$9Iq-㔚7O'ǿsE'gBg%jOO<4]~`rV1S3 09L槛h)+2,nh~?*NnZgI%@xΤ̥<4Uɘ{ k@ٴٲ@; )zs|ͽx>\7սx7ͰnXpҰ ;~wCR㫫u+ 8~<VRٲ_X[Jj*1I5Jehl}{KӀ0㕮%u֝Gy{Z(f[|]mX[4V 7`~ߒϚ?7n,"ϸ Fǝ1_1k~]2oQVǽ+0k>|}nԫVR]ٹ?®mh{QwzqQwY4C7u{;&?K eƅo?|> ;mD_R"1t]a2~Yqղs[î$^k3({(I^ز&?HL8Q#~s11>pc} /D_7uQ 4uAL#?p~Mߕ6}rY{ F-ߖEjXi"Fa.n, c\|.X\suWVvĬus1^wVof b`m~tx' x[ t4i}dO!Y-ƒ?bS2#L@͠XaDaV0z?P_OOO]R&}IOSE/3_7>'~pk͚Y621webbwʔ?mx1Zx+m0 2eSAC;>ʭﶮn|;_VТwZW{zulWhzm|@`\++ݩr!;pVm"9kӷrɱC=nvYᎧ>*I:瀇qv@󙯘L X c>F"h  Q_!7f03WYWb(FFii#L ́Q0(Y$Kq*NMef_GE:?cYuYtlqEB`3tE( v<0Xpv=R6-vM*C;O`j\4CComOޗŗcr cl/98׆q] Z)Q)7ʊw54Բ%PP@?OoćF|i; XX  y_?DcEi0@Oj⟁Ny+JCz,k`Ye؃̱W<DgWS*8⽙ܮp~te|8F" xy6ghP~x%iPܟs٩ :=AUs~f/'R"lP{(\?0hFЅpƐF/ @Ш$# cG: O]7RP@L HT' / Ϙњٚܚ!$oQBt5?*lIͪ(!V[l?WӔ}orhV^|4~Ź})3u~y3:|U[)dcwF{VXoh7ڵMTO< Yd5/P͓[͹vO=g we64\2o({z[n86ѸBNN`YUER{.m!v>U%z?թmݳݛ#7c#{n;Ax >~ 8)%!;^Lsފ}oOt% p#ߤձ0=ffP1xdEyl~0鍔b#~@faƊł=/ë!X(hV塯΋!ƈnINO? 0XW˜#iicĀ&t,&sdN\ߣRG{MbeKOTד˜oa ҉?!Cssi{pz8~! +$ĥ?Č,2.gpn jPYy=hX"81~`F nvGMJe늋W7:ʯ(!Xq;yAǬ8EQzqM_屍|1<⫷ܟ6vGRck'ȏ)T?rK6nSokvinD`cU.$Z&DIUsa%N?^oVA&58@}NM]$뭌MuOmrf!8q/qw5jO/! lyj3pOV 3APZ }k:F4zgZ:{mwYNR91~a0G>¿/ʆyJ7>Χo{?/i >:XB7 gYms! iZ2?pa]`?6V?$BeyC,U~NvLjCRm,1IIh# 䵑ǛvJJ>ihhMEf<1~eC< }3i*kZ])-m Z-@K(R@*rCN9D %H-t'^ yT)oҾfoәyo7I/k_oh ꍧ996XZWioCd'Q-E9P/Vn&4l :<C?KzZ$./Z{|6,os$?J^/Mҷ ~ųDZ?-bMY#캢#?n􇄼j:PF8xWYdiŮ]7"_44gr-~"<S{ Ao'C U~0O@[Q )~OJ9FND_:b- RYcG*J>5_ A^pdmfyY.{{񊀰m|l)}aڟngvfeJ:~? e_`X,`%$X shٟvv0d/^߷}^4H o5uPK_? ,9(sHG~鉕N>)KZnӪ[/8p5/ G#k=I{u_1|oKɽU k3>9p/eisï WW:+S(狃 c+OZGPؑy _' n]'𹒾#U9YrfρsG9Y]:Ʌnk.;MR4z@HjҫW}8~޵o^/P=@ Ϗ-Hal?yWxXC,YW-헂J$)Pj@+f]g^`KC(K|懅of3kbb1!;Ph4$7GE]i'B1s$kE YhKGwE*# !*b6I.tB8`)Ms :PHeG( N!\‘l.)A KMLNSD^CFŢHqzTFŁ(c ))ݸ2ʈcMQ~ ~`2dZcej4ڡwI ~F>0"Y+!"a~u>5jSe$K /iѱpA}oip%q SkDŚ_OQ1:; E4C@D"#I oY[nUq&4,0_wqqq vQǗlsI>8P0_ #g4u5u:edg}uW_(6:X?@'BǶюp* .|w~u+5h2㒎m:ˡ !m~VvnŇ)5T ݐjAM~:2PW]r#5%\Й40ecڙc[4,-IO$Z^X"U?U]X&eg?A-`e eΔ))5 Dv{DOcw([ |k/kB5i$A+3+hTLhҎbѸ6H9f؉/$(gO(~GRlҹc1d0R81Pv?X5XEt+WGT抓z=K??I->H|ytߑ/9^i]~8荑Ĭ4H$m%1ɀ߭>?d}XKx*ːI?4Qe+!hF2mu]tys?#[sF"\TVĬ ceX5a0φn ؈B M bK4:'Rf:ydg ;=|9e%a 0A~,iH3jᢌM0ο!-mSS:M04{hsfo#^g ~d2.49p   pd `0pȇB]c/ <0߅iay2]J"lWZZg{3RjV79Y=;:bw~iE( 7,oQd ĵC+(bw#KbBS#_qX81F1hծ&$`I䭇^߿Ryyexַ'Pbފ#yYumU-)zVًZG6$3 ~A-⤸AQrC1?qݝ>QGʣT+-,넨NUVEJ9(?>} .ĥgJJj_+RqM7ϼ\i%\Q'[VE |Gң"`stqruydBZ䳹22<(8@Y?ܬ纶ZW7ľѥVuKZFß/ *!mDA;gժl<.몎fFBUD3? %2sQDo;)V%9/~\ܙ bk)7o5ٰ?aa)KcET.U6eo꿽 rN2h-QbfVEbkј[ef1$#I_^˗93 6uhlG؅n0ߐ& 3?2?"1O1s_ +Q?؆ ִo7MF"&Vi<8E㌅2tf ?Nf.F0``FOv~Rc]X#'cu٘#,kxsˋ`ueE?dÕﷸHD%^`[5O+JnOL 3'俕Ɉ*=sszg]FL JUS%UI[UU/71 و)E WҚq:,-*84#'R( $')cx0K̭j n %ܘݬ$9\K TM_轎c_o7Ss  IENDB`homebank-5.3.2/doc/images/use-vehiclecost2.png0000644000175000017500000003123213604616712016141 00000000000000PNG  IHDR9~Q!PLTE5ٶEL喏ǶμUϳ̞f枝ʧE席:ߴ≐ǜŸ8拌ԥ̴ͺؑ௣떖ֿ읶콽٫͕ꢯŠĠɬȶźǿ@tn蕤Kǰߑ֖ŌЦǭۮ躕鑴Ϊx츶Ң=D逜糱МҦҶɴⲯ׸ԮϤڟʭ;ղҁO஛uhsc̒ӯWݟTꅜ̣ߊƋҁt}^qyxriopxձ땺vuhYfP_YY:ak~lu@"W/UIDATx]\S'!-!{q [e@q!j@V{ԺꪳV[[Ҏ?%V_9$w=oνι'1AFM iAujbQ#$rӔ+i{QЩϋŶ2 3.}ksj`^t:/in_Mn Uj1U_ rpiuI߹uTܤ{y2 C/ 7@dx$ϝ IM CjaX3)t"vLRO 2snDṇP=LjykjQ)*i# gl55W'wd`ro/*aS5tɨ jo9S'ZjKrFݺx) $%5ac,Ybck`ӚLHgCbÆn]BOJfͦXP1{lx W*z&ڄrmlx.,sҬژ&;r ɄDf 8p଴iq!ظiN 3GRsYJ66Slxp[ʈș4$+4v+v+7uuu\U:݉)9 2+ySS:3\jRћGE=[e ~E]|qlrZw0VXԊBNVt vyvAg8(3aȡvbkk>;V}I^U{*MF!;Ūf wSi8ÐMrZN#/"T8[~Lc:1/OdW 5;/?0)1f%6ro}ͯ EJ =Ӡ-甜GzзDҳá8^ w{y,Or{S*)SS[bw=@aUnnM<y仦h%R](VÐ[ʹ跳Ʉ *c~9kMŐ죍9#i)Qj^Ė9O< ^4rdњ8[n}CE)\/ 6R~k?!G= f2ט$kvn$ٜ4݆&5?u# e#Fwu~-ugX}<@Ф%U(ׯVBIO&d'DէvX_o^m2#ƞ"ء*__x0:*#c%cKrJBʯkVΏˈ(m5E^'/LUիϯdejKȬ+ 9r h&'L#8x@Kys FC .lҮǘ=Xؕ1-}Hw}☐#~pT[ˮJ,+zgN^SQuͶgs/[06ܠ~c|Srz;t5^,踞sIGLпXbӐ$#ePtVsGڵd綪Gr0ͦML֕ G4v_ZwrZ uqzj/ -Dꌵ QaR:,D(9r*">Oc^uQv3)~Ca?VCI+k*OiόKyݹsLLˤ)8ӕi$ßyp #bQ!KE9g5=2 2%0=jO,SW"G6 "p)؂Mη} ݶj.Ј@ :&/1}gxE RS8ĕE+ +DbUY) 'zwVrTĕ9P+Md&QU'ST!(}Hsٲ6MTY>,%v5[ZAZ7qS$&zDiUi6EP@UU:qPHUU]&I +`b!Sxi8Cѽ$i4"M-ɣ̾lg$LiL{ M[qȉQ`8 ?my27<ķ#sC}0ܫh&AsL9qϽ<ʆj+uXנrd o 4nTO g s7 wHpNƮİphAY#n߶] ,\<\禀\e~>?TjąW~l']S5 !I)#!dօ05T G04`y8 s^yU*>92£DQVx%k#k͂ھTmy[ 5(?}ZW/d@ $^McPy-QdU和cI$_ ĜӔ"IJdߣp!.*4 4AEsf6d; r܍qhse͒+wA's'rkZUغӅxN$rg+`==r6 4qA! ׬+y/.`48]T$%Ҥbj|.%) LHb>GTp{ߗ -ϵ\k\W ?+6U7;Mqd[?`꘮Df]d9Y|}MoV=X ҳhqGAHW֞_)bv]xہiRqnPA V`wUM۷][s-F`H0ZZe~ Lb]Zd!C%p3cJʧ)rQGK?g:"rFqK&`y(+QN? #J|گM=K+hUs9,W53Q8Kvnix ,iYY3iU4qZԤbVV1Md=GN7d-##Qjj(8d횃Yǽ#V~O~Gcy N[kiYtжCM5gщ`a5/+v59ުcWW`Xo 2ɛ!sͱxHMߤ]Yq$ F9Y'mKSzr¾\0]NTadJ\x,0Hgg {4၇;Ú@ ;gyvf30B7%6%XK)Vj:՝R9+F FxZRթ>a2x'{eyƬ'}Q9g0JƼg,9wNؠJ;/ndM`~'XA(/n((x⇊B: 9>ՔLc%1SY+t`cZHx8S(5Tbb:,$ɣPH;A4MK%7i:a)bʹhݏC!?OTtKQ qc;[=me7*ʭ Զl ܦE?=m3*i~2n1mҧ8hDPi*?>;?>+tI%`6Pm#\R6rn8Yq.׿>F.+sMBͽ?GxxK'{?ҕtC7 =;gQB.Kl!wc"K, ]bm!ٚK.bw.9^ړ]3Pۃ|O+ ] k\D r~tѮއ7>#~kO?#JnT8bнBΓmW^ ;aƝ'=!nT,FR۽m ~@N*cȭy8ғ76l-ΠA2Wa js68 Ph{D@ !C#rPO_3cDڞʹY m]o 9݇݉G=Za< *v뇗xb{w0 E8ٰy㊃k& ʵ ~҆mO܍gp2t񶓡/m8q)AlŶ<ރo@PXk"Y35?c|Zc!rֶHn=m]BOmsv:ys G\[,ms67*ٵؒk:G]anfr=F*%9Qz#vnآKpǎ; bO6؃rmEΓƗv-qx7:4v>upȶ^ׇܤwi5r#7UHSGbSNƁM} I? %C/ X-{?M9B!qWahC޷}:EKDY -ó< NO ly!%o:u?:sf>K&g88ȭSDFG9v-g\cXl\eoH@U#_R3a# %&ŧyꦙ`^ͯ/9< 1@W5I93=$~ǭ O6悥sjbToMK}CS5|gH =*ɧϠښ+,id<gSmك'K_~L<-,l*Q y -r5d N&jdK˹9.@#iJ"66Slܘqi}{ |^է <S%S r3A4yJų]-wHV) |!KO >@UWhyƭ;buۤ$?$\z]\NuQ3h2[F&-B. uY=^ӿXoZV\j7gOuںd}J|F6jrsʡZ9bў8;eB Si&꘻VkbSD&`Gq|`>%hw*/_>:{M ܣxAڃcxػ`"|AM $tOKȧzG]M}|!ceL.xʀJ;xÞ$-v..lcUP-b LaƏ z8l&k:Q[4ߊc/&:}t=O5KAPA<Ǻ 7/UVK>TV%BZpVīaA{:T?~VJEoȀ{ЊsFuqVIF}=4ޱkٗi2ԣfJvs90mXm*qL\XHgf]kf2e\mI8}i!,5kTy"W@/iT9}vs:KK#_kֳLe<joǫaگPo}$amD[~-!^'NX#?ER6( s3vsJa]v|κ 0:rȧBlVO5&>aTµޏ$dǙcP1O-lC ,(ig|2wk| %ʰ-yjYz=CN:E b5O]&|QSpiȩN~9.JءȁENRg#''*aQop j=|g3gi;JT3|jev@*o{=g uŒHU^('IGȑbK8bsZGVRȽ<[rEJg3WX̦C*|Wz%]q& 821 |}3q`NʕɦhUNN,Yz"{4JBt278RFEa M{$Lj!ݧ<&o`tID g_ 䆥=I^7!h^?rxyWhj)MڐFC(g i&N QL(.phОlL5}A0q 0 S[M_HAHkSеA$!*0Z ^St~^-vc5Eg$ash(Gvsٞ )-RJűi6u3*%[<Y 4gi[8 ?d 琺S`?XR5\M"SVb\}' }uMA%Pԛ,6Ξ< 9 5M`?>h?wsIHyЯ^]􁥯\$xO/|k{XN`W![! |? d h@|r7`-H,;w] [< Uhq-c41-A}*?\˫!B79[C @9zQWX[҇na`юyZ X9J?l/e6+KZhITH)" `!, I 0q Jt"ѨTbL" %HD"MLQ1jdٹU,?{roys)=³!&^7=jpԥfri dw}2?ߨ7&+&37fq*E ͮ!ȱ9OKox}潙pDMMЕdѿ sء`S۱>G?{. ]唘1FSVJ,m}UqWuDFWrڣOIܳO"PTM#ţٜ˩*{Ul9Ό#d7>h^f A?>?%&̦:arp B${V: maAN7V#0W#ޫ EM#x7? KrwK99PhV}T*%zOGwAU_V+M3ytСEju{=. L2tfs׌J# 3^U?܎"WDJl <9{Ng%AC0 N4[tTB{-wF+~ct07 20H/RrVc(d+:@RiO`ڦh-Ys+gyY)CV؆OPj:e~Sq{)g|3 L$yE.%mt!Cv5Ȍ!rB"r&gQG8x1\sASݳ&Ga~#ʷIN>mտF.$%>%?'&mQJUYok:Ui1lHƚqO*xl V2GI2?iT&'J.l,S p}|E-Hmr6L'Gࡴ-'ِj[*IBkBHэE 5Inϓsb:tKXZj Yv4-wct۩#7 ٕ0qIb|缑rc[$Y _rϬoJ#|jEnǏ <"L oaWMIrS-rZR0r.twtZ" GX60'Z؊w!1RK1 0)pᷞ-uvSV$117r)Cλ**X~YUa6:~rܻ4uS%;Ɲ!"o5Dt|#Y@ds8r?__Ӎ9j̓S OuV8Yt{˼E媗쾧;稩쑬µưT誮AIh𴲱̬Ѽ㪵ʲ׉̺tヒo斒\킺S䔧󓏟]泤lyQᅚі穑Ž뙨΀|wf埇}ȮɧhѹoїzfٳSP^umsOZuɢt~qkonաݨ޿pmtMc҉p~՘Tا}J֯RkȊځfSբœmXOٯ̳火[՞e]z؁qN;:uwovW"A+IDATxXSW!*j,1!1 {o{),{Oe{ZgkV~G"$W>ܜs{s~}s@[#-)bykDLXLXLTy"4aܗ'O"%,;2sKM,3'jaj1'L$R/OI,Ro+7x`ńńń *h/vVAVH~DB144U˙/&2r%_0%:_zrNNYc*I0rBv&̘a"CCSXY9vu\:<)Yiط by=CB~Dyil'Pw &vщ Z^w1yZ !WXB+ -J0Ģ{3[& a[ !AXL+n,! SV/URtt<1Ej樋(ɖT*$Pt\0f;#>OM4 \Gď0ͼ;llm48LjajA@g@;[ٶQT ejǔAas- +ZUol;SՎ!o+ n!keؖ@y[Mʶq9jx<[]rR@Q tҤϔi"Nŷ:3>$5k2ܖd4WUnJf%[:V-I_ćpwphƢ1>̦М vh, ]cce¦h;b=eWnaGW6o2qlaiNpS\U#ķۛh 68ˇ+ |Uh9V`,C_ҋ\tWM<⁦5ǫGGV>5ȌuO83zuty-:1|pX,AVs[8T3TiE1\"B YbC&B}BM ohFRb^0`8!2&ʼ8ZU@~ XX;# *.Mfd]#d]&U#-Ϩz%TUЌ4V 5 }PRh5m[Gtymx@Ga'vuLCEb5 =t<>WxRḟy Q>!-cÌ`sd /#\˴L.jqPBmC5"J lh(, vQu j* [<cdi&S؞N&҂|J ;Wy:T*{n,qQ)*}3ٱQE14%j΁& F:KRDi/3MJneBV,^O %OH&ɨZ-"L E8&gm*}Lنȣ$`X!b̠xKoV>޾ֻw`38NƤe DTH1}r/`9ڍ9 ? tn~р뚌>Y n*eEcD\^9DdM.e[-bZm/(?4ǎoߛĭ\V]+fk+" 9svjB]Q+B&p.|v:Ί]dJfjCr1#Ym=,JWjz sra>Tò2]m;B6I(mOg韷`קּ]rc,;fKx阩VMËdFx V2+0(osX/ml3Kt~·~Kn?D GK1HgK^t}N?'pitԩ`Q~۩u^ Q>snG /yӼ,鍻fuۙ#q]|om}ݽy^"r4y{ƫ&(FS>k;ޚr2ɴK8n冗>6,{߰ aiػ}!YH>!6E}uW (}M?. kNrA {op}lgLՇ6|izKT)ωep.~| ZDz=כcrq)P/^_ lGt9YC>R;`- N݂kpJO?#$ D37 3?=~y9HŧD[WaFo>M7At@?)ҩtvNǫaixQd_> Z޳Aa ? <6&tibw@']8z_v>uci&. i쮗>[paM;#-yj|PMPUaKi?e%Ä# K]-n(24W5Xz%b*۝sf"F6[i(D~ dmZi[Z hǢ4zF~΍ ?0eCP4 iF*4y~:(_3`IJ5-:yuFq;38q ֯ 5LhEXatWE Jb27}qҕܒws;@Ђ܁~B,C;桋0S%le h1` c7`ΌI K^aL~jb|k~M 0lU }b "_qYaYK:_ժ&vʳϗc5'wO(jNZ>GX! )Pّ5XgGIwȴ8_fz@ ?phcW]ԅaʦ:fT:7da@X}6n^ᖁCv1C>>Bi ==W%lZSB&F]]R]k/C{aqY=ԎTPWhe~u ,@xR*/R=|FXnVb!a׋::W۵W`vhK,1\HT_ u=YѤ3 Oo2&%s%fiazd&MKћ\67CFZfSOTXzãj.e= G}YnGܴa{ͦMz+]>0<·2/I׷w_f Ӛ Wlw\t=hҿeJ"̥i=C 3J"5ɀtcp=VAG|7o &t9}J+4xK3k]4vaJUK2/3,&af]a :.7TfQնUYKU\^{Xz sE.tcoReiCvse:OnVi%츔ߛm8P=%R_ yܗBMzt%ˊ̦%@X2C$Dr1 fv{TASr4\zլ)ɒG,tEg C1]Dجi xxSfCXBf|22YaK>qS@GR^R3ǬEL_ k%peg.r3##Qp ^ɍO1LF M#(Yɖ S`'iWK%0kn:c!&-kiKpg0j*f|+k%KBGnl Laɿ,$e0#+t楟ea̬5hq1J2 zз<4GH?hɦUYMŃ#+2-<@®7WdaQ0#ʨ*czZd7KGݗΨʲ #nFYk,0f ],Ht7@c-u3dhKR ,a^f~#]-[ZQ7jQ`tǔ,נaekQ@#FFz.Z/ilqѦگPϰ4ȂF+t6|ކ5)K$\ K]0r6le=3] 83,8PUkffVZX40>r0 -]VCj<ӌ,QComH~&{jP7X6,q ';4kIIF-f<^5=1I3NH0a;IHW=EQ_#Ԝ֜7k)b/>0]Y=#qѽ{{= f^0ʹxpB;+q`(S[N QmzȪӪ!3U+5Vj>Divg3G X!~._ 񱄳1 N`Ā41LbKe%l/:䠏Δ^2XўkCXU֭crb"Z9|Bv[,;S{O=g~O|K lx_8¼b"15ٸZopX z֧Q)y9z[xwj.;딟[ %ܧӡѳ~Elω 4yO(M?~p÷;qi3ig/}LXizBj+i.;B-5 a5/xXDECLKo%9;tg 3O\93{ӉO%-nK0FlxYcV# Ok8w\0r{+S[m}#[;5=}&yb#-fws iC[a7yOI-_{9o5F8;})xaw|DƗkKKMamXD* ^5AW:OkrX|>3q(ើ(\޷[ df7߹.MH< 1anaaDqcm,A{" U/\vin'g&(|dck/9[@!<.Xc:Z`SWR |ou%,!] Ӟl)*Z!(9quXǹ=ͫfB3`EJ0 {zi-y ;S}\ۺ'i^G,aDv] ]/ N衱vIm|Au'؂0& ܜf]1f:_ȷ{/_H{ԴxU&O26Y qBx37Zv;ųh]L-ݰBB,~0-1*` Sy`Y_ڲ˞6y& ?a ҋ}ӱu=LG/#ӥK&~o}pLL5ʑy|Fڈr8(/~PLa+a`fKCtG0zIhػrlئWK6d(Qjf'܈X 89)L# [tg%l6ߺ-pGI"ųVϝ;e9gϝs̞;1yȜń;g68a.¸a{4>1o~!>L{m|ȷ/JQZ|~co~zMpȘkg{ O Mgc6m"N|[ρ;wfஃ;st;{I'&l!z&szt9s{?|0a8y?~Ċ+jG8蹢&}Osu_e?'~{Q޼4~h"|嫟/^z?Gɯ?^/&,DDtsd cwjLy!w?c|_w_uSH3_[2+Dx#% Mxݿ5~0Ӣ&f%sJN~ui /~ l،~aw~;#%;0A#GAG>!&,,O\3| ~;vN{!c/wa&{pn0]?a#L\"!u&:a/Ì'pnrOOì_B^-y؇Ea}D. pW?} S6ԊPi1Ev"...7*.'Xng/4=)I'cjII^F/'Q4җ$ZzgsͰ;kV *N H.>.dsҊƭePߖ}+d<K=e=S|*CuV1Q@UꮶfE)(Xs-}"5~HNy}zR>LIlC_(H" rV9ϊ㺆jia@5+ly5܇?wsQ@[kPs(3ETrpJJcg8 +Fի*)yFv(*)Üػiu~lucOx,lxkOk kTWD hKQv^,,[a8K~݄" ճyog#p=ݷmUvf("3d)ohu?$g]α'kc\Qj|%*=:ekݠ}'E UIϔͷ0L)S|>fDʦϴyF,~HkcץX֤7ZYmɘs-bUm.tT_!CJ/?iDI ݙ[Ӫ(Un:>ٙ|MtSj+kS+lUkEڵk]9cxكgϱvx%쵶gOxAN4Fvw}׵gwb.Ȼ>{-m9H|*>Ŋ񋖱 Ie 8!ǢU[si)aUgFځYҳYܘì]y-$ler,ѭ'Ug 1On۩!9Z`( :)[梴 ??Icr16F9(4I 0CDXƼؗbET#,V_#j@zcO)BEǔ/ל] NJg3g겮[2ȰUIQ KM1ޥ5qH|hj$UeI":56Eym9,mu@8=4&eGO%A 7~x( ³D < Z'{fQQۖWW{v`a+" 24,4`u _FMCXfw޵)BI6EcB@}vdq4Fy͜QS% dL*גBRBUrjLk?Ie(FW~޵yѭ &I"+/~GdBEBdEo1)DVS~摔eU%U~^ f#)KBz々'{/~{}v %+Ϲ8n&wf';;;$")RB%St- uET[ZYƀ^LIU6R.% V zz :}H,[c W޿R(}z PK>AHu2xNTXk!b wSq7Ҹa+O8xS9TbtꎔݘeP_ҩvϻ)P>Nspص#.eRKuHu? lr(IߜA!A?jW󪱇yj8>&I-,қH-]Pc 2֝y%kTآ=dFkL;M@bjۢ90}_}fj]ϧ+S[^?N-HIkHw!W>W:5 >m歩]sOpIg_9yoh[(,.[T\X<7\ҷD?j#6z )*5"C$ 逑Jž<{<ϾO796-#Kp!ftM8m/ig4ۮ/~ .NmgA)]>gڜۮgY}iy>uniKu4\nI*w%i7<{IԌO瀤HqH"iaL9 Ơ3$Z*},^tfmdžh xUضfUe_=y:7tkcU:•Bb bntܣ#[_#f斿vnZP~}rߖPn$I#ĭH *о_ś}~1n׵b7[Ktfq(!X/rըs-Q疝 63܏;j/N8RlV;IE"In,x/E}$$U:`T0F!uboRO)Ua;ZZ2,2DxHQ:/V%FV*+e-RJZt:jӎsjZw䞙/;]:cӖ6Xga#glqSzLQV-H޸e)Wǽ Pe=_R~YWPK a2l V2yaGҾ1J,G cb } [P['`H.aK65TjXm=J Ž`dteK?R],A$eb R!)!H71RgPLbh%%R[JИC@!pRI{Hwvb;gR] -ҦuSHM2r;akH@s2 ԥ$$$ئĥ>i~ȥ R~}T SLY$kn\]&-^i؝/ F?u+ʉyO8f:)ǝ o;ujnl>B> bS&fwPH]V4,7Por , PX=ed 0(^d\T{xOYMX nNʉ3E0>ċ Rg3H)w `I[ >݂ܤy٥Z_AWEIYN/Q:r]ARrl [SͫtMPR˔YQIDAThy\עp7Ām)ڈ&4$$hw .Kwl,]uKmo&`?%>Jf9|C̙3iPQ0T Sa*L3 b:w4ҁ'5V?rkj a䄎Ƣ"VEɤR(EaOEu&%oYy$ 윢EoB2Dl8$Oٶ*lZO: LZ0S2;Sݬܹ`G׶xbPH{ԋ.2v0 XIE IV5U]]7ij૫(FWTm|vڐ X<7CaIO۫Mh?_ТBʃ\S-s1_'8d:[|jS#PS;crk7WUKu(DD/Gn^x8>*9\NECo:}ɳQ|FszfW=!'#.t[3# wpUލ#N_g]͊'U~<u! f_z~ K[C9,{qzz(T36CdUz1qҾG}l.2B2.ʩP@* rȣ;mg9?jutYE1%w_#Ez㸮z("b $DP(Tp iu^X|b?xD`1 Y]F]{W!Pc lGTrIORtfZ, 1EN)*N3917S Zqx2{ }QC09-Ԧ;tQ~Hd%ZGk9, ,aGKwS-{B۽B_4C?V?M<*ʹfp_SjZ=9Yy@桻jLӭ? j%Ekx)pm/˳q? n#%'Bi7ںG:<V=ʏTTN=XTK!}g~yFPMN̒T\bM]WJ7S #u 8 orҔN-M1*(zYr$U-Eq 4ppQmSIKK@KH 'I.'H7 \“\klی.`!{7ʋV㲬-= Va}0W*nׇ9qsVMNvffg +&'&,i^k@ڱүwuy9ȩ;_p6.Q}T/S^Ʌ^zM%5Dpj'vz?*"d3(ά-"im~K7ٝ+RұMN8S~{.sB] xmN]qOkqCI9[4A=id'ԓ-25S\4'EN]K:&Y,weԼcJOnnn>:ј^J낙QkyMNcfd2MmcT8؀QUt~_z=#p~Fq܅4b0T}cSZaLa_K%$'7EhNno*KHHpXJ[frz+ ȜU3VIǰ,tZ{;쀱"*JB(.'8n%KSzz,Q|]N&,Q-Ԣ9^-kD?;rXuuJTmr借q;QaGS&nq)A<[{e*HV N v|Rߚ?Tí1n5:rԪnomBm6bAg>PyV1@mλ40H$K2)/4Ba4?Py=lsm֌;6kfUhe6g/N`9f+[ ys$Bxt"Tʳ*VuIH' UNE!"`@RKjɬHUh=oT@##T絃Ggh$&#=(tfHM֚LmdǏױ#%Bעb݀=\czd\dD[|*4wux H;*~9:ƑR[}4aDb!I1%s&m(̔5:еh+YEpe~չkXDvc9j#=t*с#<]UR,)ʒS۳wTF!>Q.n/"9ei)-Vt.ടS*>!ctuF=^kĦ]а~Xn\m(&7+NYBLP MT1[gOth h%Mq`RY*=R T$礽_E&Tud!oSETb:R?@PFtԥCA h?^P]lZg7; j0R[kukN5]T-:!"4jVvݿ!4:${֕5m"M2De(bLSCTj+rɊSbG!Ȳ:7(u/]l2.;sw? PvOO=ů_?c 3+}/-XDRuHIf/8sw+4*2C V2 o:sw~:WYT:2r+ꃟW:ꇿ>Ⱦ*x^Phw!/sϷ_eKQno TɬT4 N`.5s{<=PME^շq8(U(CS N{޾E RXeJ*?*x}Yۋdi<J!651"Vk^P//, }}<3&IU4yjRW[ruHٮ<e.qOsl.-޶8:z(xsz\wDyvz:|RX7:a[bWY_984a<-oQͨ R= 1]>AcVw*YI *~_yVV>@ՁVȪy->y:#D:+o4%J ;4u ^E<+@L*2KJ9tfRh N->?S&㬢NÜ7֤[k uqotɧ1m4#im34si׸D}pmS7;^GҋodmlOhw39%JΩrU CLoj8Vwoe^Ui!xA8m=ꔚemw(85EGFw敳&u$ϫ 5RS%)3#%|S-ƌ˜[S ޱwy{iԗx@ߚPF1EġP $K ȥ1).S߀HakTxo.m].^P10T:"f& m')T Sa*L0U>Ue^P5u'ԕA ~aƛZAAۉG-^4^ɶ:yr5(<(Xgխ,Mlh=ot ipp6WYQ˲ԝpWR xgwA]WT=$p.v.N4 a[[7fiFooV;0T Sa*L0T Sa*L0T Sa*L0T Sa*L0T Sa*L0N8p8pQT"`EC@R}r8C62+(RiOwĥzoFH`69ԐX"k? -=Rw gd>#e@P"jNzzPV舱(BGYRU_Oȩ CAT A]R U[zrqJ[I"SG3GnQG1D+ږe7ZTx?}} 3DD1l 'qpd93*bpo!7}Gٍ+:c?[^?6TD!9uؖ||^>1sy> RSGmrwEcKF.BRNjMOؒ@1)faGo pq^a[ı*.Pʢ+;a 6͜ G:=Ǐ2ɬR:jKz10Q r(ڟ@=?zRR@`56Êɩ7s؍(uJ Ryy?$$Wy$( mq.McIrj~n%ݶ l@7ìM0cn79y%k*fxx^ɶ A=bǠ# ɩöWGF6<)ؠ Ǡ0:%εVf&Nh'jIеC`mB Ug6%]NC;Fa8^VD$8XCxzyN-ty__Olxsj+W"eˁ9R!ȩSJUh}Ԡ1u\""s`L5v`* t^n5±NsŰ+epBS߽ZZHnH=ءOBQʲHUcm|s~vtG)`ť܌;fͬ]lz)*.fZP.ԗ퇴!ǯ>6|U IDATxol] 1dbqǝz-QUK8r2f0F6u٠>hm6io2DUHDHi)U5"/2x9?ku//g~2Bl}%,,NȠC8/sp":UdS{7~I4F ss\&/XD:L)d8/HUkrw~?pqSѳ>c_Og3O&O| ⅴ- e_-7ZPZ8Z}j[S둞Uqs}oѩܕLdffftk{|=TeEvFA:O7^؂dodeǿ|ѩܜPSٙhߟI `@AS%,-;ל"B1J7/\<+>:hKlo_SyDX²C9^̥%,ΕΝS+KNg_=.V"KPZ NEgofr8:T58RdٴOK/sdZR( 'Rȥ-K-(R;sug ;= ߙSr_C=v2:Ax@-N 9@.LQojb*N>p|[/Ʀxugy"N&;oy*-:Ugzz mSre'-vCJrvhw7y>N/ΞFt(hyԡvN59u0e2v:9珶u9v(&SFЉ ѿy\2 tHTvt:? ?v ^V3Lo9t]9ݎ`GdV*!tx{yhd3@MA:ܴE%xCS3ʡӿPsF76I|?`ҁ8l w c{ӥ}5ެ] Sw V:QVtL澠M@N։*ʠowjΈX׿..T s Pkek9> Uw~7[J#.Q6~uLصm[r=%4Mx:le_<80pVD7|!m`/.ǀP+9`s$'Zhuiliݦy :bsX )uъn]ډ` S:c0l;%:qbrWSWNC*Y<^y*˂eJαNή?RvkXMSk+zCfh}zӑ䌭 q$̮X0": resJ \vlr?q֧y G_qEzD\o\63t<> 8xSͥ*Sk G=0Cz:C"U+LxV?砪,謝?t0iY`u]2vbE:0\tڴxS<Oaբm]`}zu`[&y͘Tl8v [/Rf ;sŃSjgk5UB ߯wv{XaswGi/v8atJ?̌2x~_g~Ⴅ vڶs5 :օ[޵ś-X moN)-&//SNRUMjj+c2:]Jܸ>4趾N%܆9T&A\rjjnɦڼ}@(=CzNj1t6?&S_/Ҳ0kD#5%JMˡL":UTv)L8vbV4.):l^#:U]Q4gxw*HK5KiAtD.Xc$A tuecڸ"I@8i@a! @YeƈDJ7 㠠dR"H5څ$$ZV zRvc޻;3Ɛ.> a#ޝ}_7TKd7oLg>+?tmu`4da;E%Bde.ьH$Mb}EC}ر.5sCQAћ F&G}mN1 -rΎJОYaЉ>!:tؒ^/k?Q4Aq^:`&Q tN|:ufdtc:)*+u-:ۛN _,D̬QR=ꄕu +M} tЁH#: Ł%T.RvtufЁG[jooWrt>/I)W:qH&GһJNU& @lD&70;eWZ@0 v:h) ѱk1:өs!:(vgX S&5a+vJNq%8k#!I"=XuìN\Ujwr=8t+ t&/ ζӼ|} t,sUWI^tUr#lw( 0;.ٔ :#*sNM*,ߪ?ZƑ L$^&Yǁw&N^]|?߂HTleKz#:?Cv֮jIx)=bS@{vI_/_~뿒HAi9Y"0#ŗqLy LL2{B̐59}ཎEm'8tAR +PhgcRQ.KI 3S[8S I׆t -iW駡s}ӻFSH=0/ .Kgz?.UsS-L׆{ePI[tKy< o\I#齎JZDOR|-+.T0]Ǘ]l!/DgU$8{yDӂ?SO uz2le95> tLrʥTxJ?_PI9t] S-'^_<隕>ǥtQ^m^<:YY'*^@g1`ǁН45'=0 bjw yNUN<*z3 לzWЙgJq]l!/|x/x|'̆;" F0Ё@bt}@bkt@bktdө69C:)ဉ/UHII:Iɒ[g>1NJ|p|ci_ {/:IKmޒt6E2r[Њx$I5Ey-Q*w:Y׍߬i}4VT=)4^tM>3*3GglL>匆3>+7Y t68fIrƸtDy&suU;GG̱蹧vާrC |32~<=s<ӍiЊB0 G[<5wliM470G[0tFQJZN$Ƴnьh^>,i77> {);xl7 x:ӸBaGe;0 B3c?Sҕxv#IÚh63$ӡrBt,ZΦՖ#_qݷ}QnS'Y%h(N&={ ;A": AEqgr :9ۈ';3DC`0uZDhP:n.rMfHV=9Qi|蠭O]ɫpڣ{A3` &Et^W8$!R;]r>.Ġtny}yq˟"tq/z:%EᨯgଓyK ~ ߉ ox7]V旄#25 Tj 9gXYH o%so>{Uvl6NMwL6-QC"WݞF/,LՆ#ͰGb?5hM :U3tA+@ݰљgZTtF9U"^4:/&td^0I=:s^{j< Z^3L6[z9UYt.jDg"/7f+roVV&J-EЁk0qhX6:ԆNb3 vlMDeYECt[ZqtAc!:Qid/\l(\﯅#Aq{\8Jd1/)*[0:zw<|h=%趈K4 .\2FZl,cM~ HAd8oIgXEӓKԚ-b_@A%Dٿ4dkF)⣎μ~6-JLE%sKF Ca1EϢ*-b]:hd/ٚQq(W\'3c[<G^Qtr/aϢ!-bљ?׉F%4dkFzu'k>V!:+ɬ-8E`YTu[%8Kur/Z„"<v_9#~{, 'zqx!㘵K +ya6R޺^3a΢]Atx4o:HDi 0E 5t[e7&Dy[Z+V/CL\?}`y5Z$o$jNӶ#+C2t=:_Q9:?l`\N\˶juو{#ɯx~ dF(He8 69-8;Pv;?u9C2tTDv2tVtp#-D{2]6)x +Rr@wfu90:6:]Ҥi7Ϲ൪DGWʢC7-y̫J5䀃sg?7 V!S̠ztWB^A9q===ύlwaeZuaioƓ$EzFO"3?GΆ]KZ|dڬ,L'ENĵL|^gʇ9YHa,x66+'gmf%h#|,a;$`t 0t|p 8pBjjY{'ekR:,!I3jh%v i dL-Cefv٦؀m?odcb&ȣ^EG,ζ NT )=XY %ԍeć٣JS@ Cgz*醈N9:6:e6MdDa((D+lt@yC' (QFׄZ@G*f;q{!x-&[#;jvMR*Fxhjzz|QQ9t:Usnup\KBMV:fn]$ޱ 5M1:IȋI hx;%ERjE'uf{g!:UVjTי΀ ǵ$Jd,v. z|JfldMbk-ZT+:>eoLӀ7`%ג^*$thݺ,݂XgdldMb ;%ւERD4 t]8\K:V阤{Nܞ՝ &A$/&- ^N-4eF?GG3Q?Huq-JN9PK =0)9'I&q#+&- ?7N(آɝr:V-çwZ#h:3v;p{I墓26YӜb0:w oqEgVs :ΑQ^ztؾYcϻ#Љ9W;N':g[!tfR=" -zIDAT:/:2u[Ԛ@zm:y9,SC':===miYgJHSC'51Qiߋ&CtZ G \MPЉ'tOڵkbu>Sd=oqo砚Ц.N<D҃:liM/St{Q=q6u1t!Lz{]_5ϹL9_snTOio򃡳)]}͡M] xBgB@gbbX3BoȦ{|}{CsJHSC'Й:}ۻєӂVoeCG t>=c[k+ͮIL,Cc6ݚa I1沲Nod谄Ni;JQcc87YLA喌[ - RE(x UX 'm-|`Ow'+g<`vGPq\b^h\xdC2M4x .'<Ml:h6tWT2 WXhtSß@S\ccފΩ5Ti_9Y9u=MNer{jJNNXYS$bћҗ$>uZ"&u  Egt.$"5-\PP5:(5}L:onOh"ĢK7u J烒,Cɽi2TRA茽91ahFi$U~4[w:PL&6FLRh/;3<{\XY MKJ4IPw38rt2VY_J|BaX}aꗽ6Љt:J^Ց K^/%t| ]Py"j?t@g:Lӫw'&2j4cXv{鈖ЙFoaT* 2-F$<ڨ?sbW8y(_Z>jى]Dgvn/(*-Ȉ=iYo+rEŨӑYg3ˡgNm"? !Љ(:zZU89*?wu?|q*7N$u,FUL2=ѱEF#}K%(ZyC[N?vʕEv G珻=Vd)덦XqgH2[,ݳUn|e-%q%'o BGTZX%GB д~tP0:3M$)Бtz9 F'mfͲXTz} |) >Vle4fTYb3}pr.&<\yptj^zPf|phMXuPY!v.xpx.9sN8\aM[z.֐ZV5n@'!رcWM=A' _s@t& dYI7Ξ=Մ)%qɣ Mw:sVt KI--S[U̽ڣ[W6Z@'d 7\^,#P,ޮ*U&[)2:7?%c9ykЉ,: t6\:U[=8987W t6 @'s2p%R>)$N-MoCkYt,]N}n=l݁ k-yCgKgNDoD a:7t0 rAt LNӘ:HjNxnX#Lwweu.ɩi!/ltoxշUW5e^lXa;&Zi߃.T<a-;^%㡳T?5)NYX57{^:#:aJŐpjuO2i8'/;t|G| 8 t”Έr10;O7Q^Kwė0C@'LgmamwH{-.A!POmah`lNA!);;L֝(s2A#eĎ$WVF6B t,; Dg<!A$SQq$'Z}Gq.$Lʈ*T\ð_^L :HNZ,-¼;݌em63G^Bj{8 :j45U+aw8$ %g:::##|L-Z1A@ A@t@t A:::t :t_;wpal.4R/%o@S"y}3f]ޤR0BW },X {Yc {.wGw\t:@:A:ЁtC!t@:A:ЁACЁtt:@:ЁACЁtC!t@:A:ЁtC!tt:@:ЁACЁtt:@:A@C!@:Ёt:tACЁtC!t@:A:ЁtC!tt:@:ЁACЁtt:@:A:ЁtC!t@:A:ЁAC!@:!ЙޥCACAC!diÍOnGkq-wT+z麯ˋZ`Ŀ4]Vs2eu1C%s㒎V})"ZҺ7:AT7:._%uM`踥c}Ёt΍&?{5:Ёt tT*T~8xnnvFt*IXT 7 3J Bq#=t6,:-w4>vxmfU榡 :Uq3ݺ^nUB8[0N :[%wV?g~"~pѻ^l?f,$R4vttxShv7t;ȊC4+OS0'#CG:=<?*+ݰ7f[tol̿Ԧ"s?[凝CuHyjJtΕnƭ/}z 7=: 10MO7L1f;ӛwv@>D9X(UL^ao {:W[gC= W[z[vѺ tU qdCe {6:./;>tup!T W,U,3ZeiNE[qoG *vm7k-Q?IENDB`homebank-5.3.2/doc/images/use-budget3.png0000644000175000017500000003433213604616712015110 00000000000000PNG  IHDRQPLTE٣xv`챿~˔䂅wb󣘮ʥƶ쩪ֺ꬯浦Ʋ«ϾĪͽ󲮮ѓ籽ηίغ콵А򢠡ɽȾ魛†ٛήո057͍|yȖ˰曏xy~ՠڸɝv^pĶΦӎǮഩ˙ûwᨍӸqk{QMqշtus{鸋޵bagɞNWr\nਖ਼⿿ři܁[>CDQRW.ic]xȮĤXmTKhҘᆭA4N쀦md񟥮mݍW{x$ 5IDATh}PSw9 ',$5` )KBH/5 ! K"!MSшA*HaЫ CXJWxݙ^w:i@@%w~99<h[ƫ $,WY;m+7P4稲M8w ;遘 X +vދK*m|yA_wlͽ`!;@,k:2,a5@x$,3`{eA_7pV@JALy>xP^>fN/E0`^T E4{K 6YƁsx-X<-#G7MXDst [F7y0\P-V,eD5Xo`aXU&xSPav*LV+Ec*lW-I3k@,j@FB&H3"[ZnF.۸꤭@UNؙHjl0gӴZ]F l(˥YY4Et({,ߚd"5bXrS4Z}`TXu=S$+rĵvqa GNutmȨM=AѾki4q cXN`qtT$fzGmX|hWV$&FA OWv%hڸ$bS` E{f[7":i; c|@zLL9phk[: (G&++ntqc|"ť4S&lz"YD޷!N+UXʍJ-JT^P#\`ZAXDTBh~X@Nvz^ M/zzT̚K\l+sMfuN#;;/e?Wb,= &#wł`Sm/bY$&KoX@xTsr*]p;z G 2݊0ALAF`XNp]K' ĉ(N }PNJ5 @ԝ8nJr$  iIRχmsGZI9PanqqRd&͛-S̎S59>2ҚǍ`srH3ѽ I^F۲g+n6(@#Cu#C 0$_0]w@mv=r]rlǑ߼< ~ƍG>}?󻧣PXD.r0b 9 fWʊ2mWYAv^T'*P:}0* U:ThlclFau?jY ɏŞQj{[| ՆBy=o$R %lk#+Ņ%xчc}Ur>r*`ԴH? 6q3Df)5@ KCT`  .nؾ&4,pQr>qSA]$(ōqN2'G#ӗ8#r8Cis$x.iW-5.U@F=?x*Ax&1 Sd H8W.Of2z\2 4ôadBҦɍ#CHzHmWymmGyԭꔒ)qEDԂ<NN0+҆D!D!pݨbF ()47%?=1:ϣC7^ݘ-E^,`3%H@6Q c٨h% чl+;R` LWk% V8OLkK$V1tBAH#s´»y"A:y@^FՃvRV-E 0={hޗ*"KWEh,NU;8Rܩ+EW32қA\E^dx⫷Ph/Õx CxsIlK9y|>/.Nf-ߋxiIeTn!ͭ`'p.$J;r9 ZF(Q\Q] WRD$m@zЩ5k% x yjTL>mۺh  G\ I R b)`F w`XnbHZĐPmY?,uf6kd]-{m53gOWfVؐa*כVێxKe-7!mKy6=fj~%Gc"x:W_^#`nؕ~lDzwL"xdGD}UU}u4e{ d/ EXz$aU](! PUDvήOv}lY ;znZ{yRBl孌)eZmqLMO2úܯxVno|/}R0 Oʭ ,DwX'?akXbS_{U ox-LE2Pqd! @r47ʰ?v/W&`m'GcEu'ܶ`(z|/oe <8dUsVo9}m@0 _cNFPگ8HM@߿|=ߜq3$YxqѾjg} 1`>|++NV:qD2XĐ_~~׎$(m,mho9b_4;o4n?fD-^Yn!da $ BB0a 1}! Dl‹(XKKZ3~;Uܲ歺EA $nίs9zoܒcCܳ㌈k?:\4tKS?}\Uvgv8^Bwhv?.>|4y|16aK~ h~Fg\*W3\i>/uhZ@40 dEe:deMfV91R1G!VV.UTڒU5mnaҍRvޚ2ͻgKoME8F,zy98998)ǑntE~` %mI9y^- /'3XbKdzcOx[Cx[KGTf aϭttnuQcip'Fu(G&N)6 1?$_HM)f &H*9r3'+UuTiNn[΋b>50Gv2~$OǧMNS 41}x`yv5~XvXS0'7AHZlr 91J<5=ЭvY0ENj'v?al ЗQۼhٓH!#og0($u$&RlzA`O )/ Ɔ /oW`x <16y/Xvy/3(z`fc|vo.n+-ke_^눹{e[WPJљrpJ|,ɗ9y_>fV@Ͻ]{֣z>\GLR={znQ*nj2yJuX[ "/?IBB-}̅f=_@h*,@9۲k ʧG)88\, ,T! œK)[`z hY8:+ +o]z'G_}6>|x??o!D">L䑘$5Os& uDȁH v-7Y3,ܒ5zLhge[ܔT |@nNIDc=A c=b!h=c`7פ+eh+cexyɟ מsD`o<Wkx<1|^xҗ+)Wj= Iq$4%mTt- O&}-sVSt˙'r,rg{hj` +$Oă&O|=5-.$ @G35$+UUgO\P% :@~⬙;\Q;\r+ٗ']fW_tcN7t3yej:5erFѝ-S gޟ΅jzU֓pTH1|JԌS KyTւqmA@"rU'o+Nu~w܅~WAgגQ: ;-N3IurswƯO<){F%28A]c̅Z  &p 0$5jN&K.;]0[N)$.HfC@KMFqE5AtjEE "3O*b5`%cNJb0D*/7:ߎe{bV$騽ᘇ"FdoV"JtGZ3hz:>/ xq ,ܘ0Ddܨ %ǐK8-'k dtb`dmûcVϓfeGɎ6fr߹U , p8yFȦ7Nx-չW o&6 %otk5=W%~K$ TATh?V ! ȋ g8 #xwyJ*qwB\h^@PA R4B X* z|Ȓ=!T{˻Ҫ֏b)VUoc``"CnW-wFp py_#6$AlX^J6꟒9&P.+D:"YhV}Hcdߑ%@+W/te2 `q<wJ! )uDBJqհH/IRA0[@e@Wo6/^|&XnqSD(5ܝ%p;r%r͍Ćp$M5V*33^m#AMYěS2P12\ -.heC̆NfD_I9[Ţ7clN6m=K$Nm-)(gjఖFGp_gS$j6GVk;ZdG_iPq'>WS, [G 0- Pۓsӓr !yoTIsTy9mђ^S1#a$U PYW~?YTƾ4itLT ]}|պ<5)k a_}^[rHpXe< _꺺UMܷԟ\hΧRpԡ(=TU0R!a8Dm* FmBTn AHϗn*ޱn$ [߾#Z*V '13?h) xz:5hV qX\? ?-RVeDŒ)=Ĩ7%/DWځ 4m(]3rTϛQbv*}qXmjm(v H8pȐ"Pl,|5j׎)|"B`V\p00a0uc2I 1Tp' ՁM1ATLВo!gCb,|T@>>w 䂙LpqL&[?2>t $$ӶsQ0? {F0O &g<@mM 6o; ݿ{Ş1XH pomB|-& N/,AhS[3| q}pwY[y{-v` a įhKtu؈xm;q;}u~轵iL @NpT++Lv~їdt@K> ^- ZA`) ]L_2/\;H'14iA *Z9Nkw{s O߱}wgvOΟWT(J5O7i33pTU_) [zW.2971Qj6rlA8ኆm)9%4O_N /u6SlÛZ!]pRf'$]ll}'y̸i"sBju{p[M@Cf1t+]jp_R~$?<%13SWo$\`sS>mQ>]LoS*re۠ 8/]4ǿ`۫"5Yy#q]2k54mTГ6h B¨qwZwW@e+ S->`[bNZmag"hS)ؖq |o20HS4U{ZSS$eE.42'dUf卵ݠ#<0t`s BL`L#h4@ $-@4;yDE .MZsͼHv$ePBR랾==iXw;dg\AD/b_ vU&&.$*16qez&)s.(Jkl04L1N/˷0`_Pbۦ$m9=io΃8'Y@*I8CLf0I [BY5@JP6A'b HA ԉ :Do2S_X)}N+3_[6}z~&ɹ''Q k>|3ovޫ0#{:=ȡ\Rtc>DjD:FRމ2NLYx,dF&N60) LĆ^@#^mx\T481Msb" 5}FtжU`_@4%(P jElX(Qɩ=HJt`@s&5vv'otC,5~kA /?ܳղk@DOulǩа QQa8eHu`hq<3R%A }aƩ^gOAvs{}0d[Bv"nM,lqOAъLtq"'sY,mcLh`.U`4Q |vK4aG-mw0/K]Q|j?x u@[7X&7/t[ X"+Ǔ NmbҼ֖=`Vi$\O 0(GI7;:Vl Ge!=[_{R[@L`|c4vx{..>o5>4]wwv/uIrt|8qj3, G⻌@cc!ƇN}! ."l:;3JPU@kߥpф.tU;30TB:^*Rմvk#ɯ HGiiSքwZw(7@OpEr|D`#Dd-q=]`@}ύLy^UFlfN;ONU+4xӨby5'ByqS(RED9haT}`+~x3KI PUEv=5c<*WTEȓGO{jbxǕ֊0$&؏I2nN+?{@Ҏ?[~&TQ%ظw4oᄉ;gkz>M~\~BIZ DRw2@%=b>ׁ%&f_sASHL(EK(;HΌ,u^j +1ހݽxs-ao~7kkf:ijeʣv @<ŕQ78~Zx40dE\K^˭S+$T |\4sYL󮇀i2ԆFqDv"s:>˻y ;r(nϳBc| SBGfgVGkW !ڔ:ovh#td҄4%Ey>qq?VqH3&R}X=ʈ]Cl6 S>ljKl3}$ڻ ̏hEJzUڞlSϖYJy߃?70!F)+6_ >$?|_Y.}yB0.A`+!YؼZY 5oQxzEХt.nي:볥eg<@fM^ bi`QbJ H=c= 2@STn 2`]RʞЄJK,!q|:,鎜fJsI,cl<p_t9P3Б]+5zl%B[mR ifzw1rLI]Q'N\o;kޢ%VPc%CI%HMjEbH<Dh\)_`ȸv֘E8ٜZ}fm,,*4Pi0d zi8/״Eرe|#+LN iiR5Trt÷ؖ a@c7=4t^EV ,'MzvSCxtp, ,W]VNP qMJ>ͷidPi5N-cl` Ax4hS+[  #! WX+&):'@ǥђ9Y9e5Ng,k! ڮ 0~׸R0>nر\s2e-ts/Zoӎ!Q?y.y5%)*i8!,.ΣRey>L̖~Ɯa0A7xkz5%Ə ##/ q 5F#rlQ3'L:-D)r\~fR;o\et(WڴsccZ+WQlSy5ˢ K''ϥNG՗˦ϹG4UizόNKޜ8wQbTtgj/􆅹q߅W. aQ볓%AG"_Ս/kassZ*[ztX66Ս`~'60.[^, ˟IFe5%&?+0)db } Mb ;|~Aӽ:=g Сi . $k=ղ0^_ `Tx[봺y3ϛ0p0@&@\ZV.9P0!iUY3r!ɷ |C#`0/\ /:C38Y=WV# Yv@aƱv9z~nOk3a|V,Ժf@r\7̻}vqul[x4XJdU).$e9㽹BkQu+HE*5Q,Kzl!@Lt/t#ba!D|E[O4rኂFIZ.6?.أ.h `˜Z^t>[ p_6/f@7D!(ݑ,?f,                @Ǿ}!z.,Gh7IENDB`homebank-5.3.2/doc/images/dlg-prefs4.png0000644000175000017500000003422213604616712014726 00000000000000PNG  IHDRmMs&PLTE57M;󜙛ͽŶꎍС畔泡Ё툇˹쇏;ᡌr@CzR壞ţųͮ\󉚰͟\^`l5gdjƦ蔞ͻعѰ{ǫqqsgвܼ5zLx͙\gnZUwt\ļWzxy󽭒jmʰTizf)mxOLN餼PTkF˝[앴֚iڀiY԰K>ꯑNm$xsWr^֝;؟Cװl݄28%bqF;*(O(;@:<3o;&l4<_rs97$*pu2hϠ6e)I/m,,?U`)o71|谆*X-4nL l6Ą) rl(Z7:!mD2#`" WDRhbI~AGā>6u *o3hھS\)j#$`I V)L >_9֥ESrm+et*xڵ8['*hKO *,yzyŲ&u6hYap5VKޗsqC}1/jӡ:Jq+39 ߆/Z ڰv25vm7qp8%\k_,ѷ5S`I%o755`"܍!![C{J q({gjqR4k; N`Tr^&HdKn;0۷f.Ϡf&Y!FVI; na\o_~dHAk@ML: Kd AbH \%^SM^&`jTbp;GMm<2W4}8fڵk!cg2Lݟ+ӝ S!4wʐo8$Pa@cj9Yv{`rUH22dӮhx)lk;'6mfզMGLΉ`r~+R4\)drݰ aapGڀ}TJN#*nI P!Ľd9ПfJ/f]یq8ZMElHԞ'SӮh'(+@[H p\%4e5@m&)We3k\!\"V2fmC u$⩱tC@̘6UAh+VnoI !SڑDP%np6 iK)'ێy~2˱Ϻ=:~8uI6Tf/Th(ҙNЃůj#d J0f[:YH[{I_[ naŠGF}H)D-ը+ijM+$6MӪ6&3#ITfU:T419郄n!~t]R5D C'цCҦ}~N.Vg#Vf~sEG!Pp;=`Y#UKP hCRN4;>i8Zq䪓ε1 sP?p(C7^S 4w~0@hyd,϶ړEv1Za.9m?#j8|Hi<2:1N)iW rL S&l+F)8}ZxҚhOB?smdQi=l$VTiσuN2s2'L5mg!E`P :|qs>lXu=j2{ڶE.w-`msQ_TmHѱDΣrK,с`v vZ`p˱0 0A_7g7RsmOuk{jjZǠsShA}sMnJۥ\N̚iƺl\xy/~Nj+M)}PP[ԟ>Յ?,٣Q =棍@ WˡjhtCV pa.i}rYƾ}~ iPXmUnE{whGe)td掠Y~eC2H$6]ݒ|l%P{"w{Zi8d"UUQQ U>Qđ68w7FɽJwA/9::٢LD#؀ /ӖE9:?]3|i iЋt(+}^'ߕ26(ֿ(Uh'Sbk6y歘΍r8K9:K=΀Y>FmmmQ huMCJ[ SςK66_ ԻՕ=2tط}۹tߊrṺfY]El^Vx]b8ZF]ʦY/Q]"\M %?P,Ի]=4V}#YT{\vW۠o~v|bX^c 36,>$nnn;իrtvrPNQt&MַD+7bݘ\"&RBS7ҧZ+sAD_ s 3667-h/j`,2+mje {G8jmIyL#+{I ==vjŊv!S2¤x#r3G#帆FMMvDנַlL?P41lpB]&C E/iApT{84B|g'09 :B2 Q#߽4Gvń`n\"Ja2oĔ z-aPᐆJ𦓐SQ'@[X"Pam|` zJKWmbcflߡC!!m-C::zT =5;qDa'7}rG7U}@$ ER``0ƀ0>Pv`>fyV6'OÿJV-5U+@UӵLfBbhD/6dt-lf*0v>9&G muYٰˁFI6Fۈ khtJ};Ƴ=nPVOt輅M' FH68}6 NV&d[ڤj@͚D3HX=Ѧ-FZA3m2l >VOsVdͰՆ? ~Niiͧ%`rwJ88Y8m+pVa5y8"z iHj[M^J$ io>_^}Nm/e6VLmMWE/[R޹©i"O*r=T?~C5ZBA7ڀ%tw#Gy'3kܽX\AtiXvpu<NÝW]PFC7M6gS+ xm+])?ڟDB 6'X`?Hp4ڷ??0qSN`揅G[B({bn0_ڿO; U?5ON܊}~%Jq{Vw?ou R]`v24T~쮔oNv>u?-dukV}35V\C`itrme.U'=m:P4{H'"sWԸr{a*{]1dսn"v[WGϾ5uo{<;HiOIBȐ Hx < !Dǹʵ8\Qsiv_8=@QK =`F'~ofO΂DəD>}HًߠEoG'Qv=>TExis5 9*gIȝnV@>m"#LVJ]xrZw f(mZZ'kI#<ᄏu^C֖ZI|v Uލ)(S4Ε$&vm_ԓD@)i7h<̓fb[IFISe=5Còӿ8o93ѹmԘJ[ >hEez;j7=nׇv9]3žR) mRY(f$rmډ=YOmdM&juId7cmrx2=igT=yydiޱ֨_Yb8 ɠHC)m䃎?(xc<Ӿ Xՙ-Yϋi 2ɖnhɾϨns~&uE_b5kħSKv=©Uf^ ڥ ?"kϬ|R C|l@Q蘕 `Vhg-YM WF_#mF$^KN [&m_ bqZ趶`+^EO౹Z ϦF40g I9$,3Dqim #cHfq3%Si*F eq6"}m_-":ḇ¶9Ss8m\#ChX!N1QTË᫲A9W TƗ'8q/}A,~zq/Bцf~]t\Pj$ˆ{&brǜRo]VT:C=6 LyIh3z$m/ ]b;|ꠙRBSJ$yl0LR\;[8Њ`it JSFK +ڜbȱ+"kpj7/m4{V}=,};@L#2A(dCxX,F݋EK0GŀrҨ`0biTp7ol6уIJPqXz/O/n yGKr f=a> 8lmw~rL-'܏n6yͥ&LLL rpdoo6vn5ai"ii<fxhة∛@|6*`˽l]#7mD(R|P$X);[2tT ui)ݵOIk˃u: zz=m?ڴɥVәR:!^Ϳs$6}G~^ ͐.O`J3o|OZmvLnXxڋb>`HNxqmpHbr!, åb.er^x&r/W)h‡,$ &+("h$]K-@[Y+VR%p(#˪P$M~Fp5,M95vr*N Ek<`Gc+m=\/Mp,>hqg[S/B> $~ʪy&x-~ޅTl-0_'Y`JlWGPݝrGO-]}JUw[QZmJW =]i*#Kv#9XbaatDŽBB,si|5__ <+U n+FL* +PKL5B-y*ͩ2/xĊ߆$I6 ,s}tYQ5F7gv]J9t2~;Tףꫯ׷^}VVqwf \1w Ʌs!Lfڽqi!VIr{WBN_\E[,چp447 !N *dƨ10#J],9чf2k\g˷_ޖX02"RS;w̎x%a];98 iU7i1F {RYքp.LS2b>ZǛw}*Vth.eh>p^o66a=-%-m"x,Fd;H ~;,22 !##IoF>{s=l%])PK !F#Ka\eܼ ?G Z #{4w"p^CMN!x7C>Hv9F{P7vER^9 ^ӉCWCNɍ:&{Q{AI>|xH~3O,qMPi/Γpv{&] )uZګ]NLCKafˌ|ÄX# xK#E$ Q6sXם|`TgC`Rf2̀0CPnk Lښ?tąˡt-e^;m~]U7_Ghj<~ltar0# z yݚT]GvJ%r-~@j(lQ_ Ȭ5DwW9HHݚ)H!r-U.S|]fdDSW6T Ay4UaTߍB֩g@dζŻvAW>< h4w Jgl+@aOZګ]N|aKjV c QB$HKӮpeڒ6m Yyiwg[Kpݬ!V6C{x卣i"mUL\6K|{ڟ[YUu: \O}(6VX*Db*ER@hgt5vSx>"dv6guMB]lS]U5ro5[vpM c?9vSF\NXA  &ڱWnGMν}w<7YƱ BcyG&!X-ښv jXE;e-@;3`3*A:Pˁ59ߐ`1wh']I`Mt6ax7- ܏}N[MٴC>9nfh8β=Mq9ic<ƅ=.u^cy;b{ kJа'.KC Dt.m$~; "B۟&뒠+E&:® ŦZU{Y̽*AF_ ,, C189ށ 吠/D`_4`q Ш,L{Rld%/ cJ^Ō͌ˢ1"NFsw@UK*k~U+"5 75XM:ma|U"Sí@L b3B¦g BմMtYe涾q)TEyUYXIѢE\N)MQb֮\Cb=kIcw`q 0Ce-'ٱ*).VʜhJrtodbaY/ :r&,qn*댃ve1mW^}_-9W^ ҷ |FE:b$lR{t 8%zJ]ZֶnIkpҮ5uz} 6C{ӝqA_Pgq963(!8ܦ ڴ=F=l$(tVO8:1]du;& Z͸mh;?rIBp%+L=_qW7h"YD$5ASC}ќilYN"b/{;uJ !ȝ~ik+Nϱo^GoZ,O (e$(Q$! G`HH "ьYRb @XRj#3:S#ps$m8!\=3=?'wNo:q^ڶ@1[Cad'vΉƤ*@/yjpC$%gڍ%`$5?? z6iSb'bVҙ%iMmHrxkl1^lM>Jޖ}?:vK'Y{؏ 8TytԶpvs{l픆1u [s^0/U}X265Pۚ3ww؎16  jrxAmkoF=55%" VI߮8'kI)ik6;'5nbA WMdjBm9հ }#ۼ+p'RQjUċoK*Ze+>e`+ZF{z=jY{B\)k0/4ثΌ44..4zڽNzwbpY Mܞ2!#v4Ҩ:vv&-}u84̐8|Fv~8hO)0;|<>ߛ$nL5‘9!dǁ,ʐۭX+̥cSV 0qxIv/@ue nƊډĬo6Cm 6~7Ki#~.h`-յ0cnykc2#tAm("{3HRRΟ=B5#1@XT^I[WR]ͯ ƕIrmEcr2RhS^#WD˕BkjkbIQqJՙ .Z[zE4M nߣycHQԢ()Oҥ5ښ.)b-0pmةqrBrT؛gQm0`Sx͒gJ h/ݚAS)jMiw3t:x"C.W6ޣmj"ǧ@X:@mkoevU-ͅp. 6 j{GDPЈ @m9P 9!Z`kk^WD[Lũ$%jsSd]QT6z5-kӇ@-L΅J]Nu\&^?NS<h㦅DQB.K RZfۿ:/EHwyRh7X&O{W}};Fj}Ȼvc|@sf^Zྯ7o6o>a DE& ҟ迨\1^,7 ވ7FsIJ`1 pvcZ`,XX lZ`X Bm Jڈ^Q.)9~['jL^Z}k P{MWs_/MPjۓv jQ@`;.9A5i{^쿢C,Mj^,x+Bm*> NE:!ziڦJDhU1T_A! |P;h|&Gk w6c}W{h/FDiu\GN֪QmXX&gDɠ>'QD&P@V6#Q(PB*jI妨yG{<ߩXs =MxCj OKMS8,kSF-#]JtSYzwm)̮ i3ܗB!,y/t6ߨ~'XWȽ3) gZTꉠ6Q5t)&S{G6оY(` ۞2i-1/6M)7ŲէY}0C;ύd[ W9`FZ/6}&>) y$xvcpUۤ6VһHi8T{gU%'ϙ '$GBmjۍu{WҦR}G Cjo/.OX:es=uIy;9 0`ؠGXaD;zZv8oA, $-q HlM5 q"! A]ߎ%NڅZ<ڮXE6qjQ5'הh'lՠmH\,@_)Ua{3=v}G&#\w͚RrP46pVYB1IQbhW-XQ<1d!CBٗC,hfU xWGcn!ھ}@{DS-72/ŋ.Kً6`U<"O̪CsN9Ydw¡hfUEJЇ%UEqK=LcHkhWgD h;,nC*x}V}PztF8Z]骵K9SRf8R< TϨΤ6(/¼E3K,mo(Ny7M~)/^>'ɔ.\4HWm?V=׆U뎾rY%JJ8gf!W6M&*'K{ɝ5Ui;\2Å_cmDž2'8pXDqa^! G\ܪq8SϞmGѠmD޺V4'ډՀfDvY8.bZ1axa+Bx'}=hD7KH#Oe`l(\(R 7IENDB`homebank-5.3.2/doc/images/1.png0000644000175000017500000000034613604617042013114 00000000000000PNG  IHDR ex6PLTELiqyUHyUHyUHyUHyUHyUHyUH{XL|ZNU6tRNS/b8]XIDATxmI0E)SH1/ BWQ-+p{9 4~|[zIENDB`homebank-5.3.2/doc/images/46fiscyear.png0000644000175000017500000000432213604617136014735 00000000000000PNG  IHDR/5bPLTEû9/67Jc:Ty>`?QjHk٧&-LFEF0HnTFYnd'KYE?7KzUHR\[`CduXELh|lQd䔹̮p~α%*0'1>125F*-:e4>K<=<7IqHSZdGSZQFT4uX||eYРdIJŭȋΕ̎Ӭ3)<:8BG<5<>T5TBYbWRYfkq`W~aJ^E{hRr|^`ÍUݱvz~욽mܳǭɉКҒ׽۞7&4&CY0>bWA+DIbkL,JqxjagA[xsvw~xsmQnOƠ|]kb^ڒӖ[}̆תī}ĹϹӺʿͿ̟ʿϻҰ%?JNNG2cMKuGBsP0G-wj`}zucvSΞǨȺƽܵQXWZIDATxP[I $@{)-R(Zh"m\v~3B:KRIssLogw˾2`ƌ3?z>T1uJ3xm𔄨R`aKtPFD0Q<%s-֟ ݐRB:mWP[5!Y | O4< fh~Z6:68n1<|mmc=Ci))a@̪" [¥K܇[Pgfx Lx =\? W["8Z`~~oJo;ߴzr-TLj?b6%o2eb1E;тiZ6:ؽhTC4(,R@NX*CnHR eהY|@rxhR Ǭ}Χ漺 acM-tbd躵}#7-w_i+Xlwg9G':P6e(̨TedA 8B-kR}~uxJ敦yAHSHr ǙֵwBҲ>~P=nQ >ąš+hlq6zS#֖ġ*CuJGJ@ #Ȗߙ0rPuDJ2er؃I'#:NOŠ+%}]֭}l?c!(/-Π0Tz +M-ۇx)G޻=OY$Zώ&7O`)fYM =uv*@߄eއf̜_Mp#-fIXO] tB&ǟZX1\w>{tbdDdp> aX M~ЀPs^ 1Vd6H Wrֈ4 0k8ZJ rqtYi+gTSa BIENDB`homebank-5.3.2/doc/images/6.png0000644000175000017500000000055213604617042013120 00000000000000PNG  IHDR exPLTELiqyUHyUHyUHyUHyUHyUHyUH~]Qh^ogrjxq|?FtRNS/b8]IDATeG0~lO:N ?. IY 2IʌI &ep@q5xЏǺ^r`C X& b8./j.;L76; .QIENDB`homebank-5.3.2/doc/images/win-carcost1.png0000644000175000017500000010600013604616712015263 00000000000000PNG  IHDRh8PLTE~yUHۗ໤֡ԩ멛·ʴ򕤻ËƵδڽ嶥ŮМɨƈneӻ՛ϪƤ硣Ϲˮت۪Ѵɜʦν׾ްֹ铋񬤞׹ȶԥܯòШǚɺ˰ʠ¹ѷ㹥Ʋ|慃㕅㸗˦ب࿪nqozĒ޿г}˓޾QeyǥǮzuh_gl}غ`n~Գw27:~βpvֽnŊyaSPQٙeJ"TIDATx @SGOC!!(DiZFUF":%=ܚm3/LFgtl]w?ڡj?I 4*R[Ql.02WQhjjoo#0 gJں/nU={峱]N>hG3=#0îSܞgo=|C.URSuOgѕ UdHP*W7R1&'$4r# eE^J(c5R6R%5UOúIxVቔc#Aab_RŌz\xq+I:RA15:TlNvc|;shAtHL;meo5Qabx h'?lD(w:j9fԿΑv摹vkJ1s&J5B1!"8K8C(q>[ 5ɗTnnqP"x䈗ӳъN  LH'c̢LLD0aU}`t&R&G&8Gt&I(4Pp#L Gc3O& ~(M MxF(&Ue0V"PvtP{:6愄UUfC V#S wpX[0Cx.Cq†!o_C`psHErH\nq [-sUu6gȚGAacDozuEŦ7~gI1 .I{+#S!bGq|zbugw}b+˔1ԌlMAP=_tbCAbw&3PLRw{)z["] ǎs$7ie( €b Ňbj V~s$KBbH [#3#v]-OFbޟ+> ǭCH1KxS r(BC)_}_萏 {J< 6qb͌lq:ɩd#dan+DJ W2šr˾EiCAş i;7C ҳ!B.~bpJzʚ=N-HQ\o݄~(ƌZenudbc+mHh[tC@ٔHP؎E$6Z($~ʵޟ47ʷD; xR f(Niָq6S2&d,oǷ$~KBI`߬(78!"(2\7\o4.@. Ii%#@P44n!s2G3:GYM#Eaf9*-i$uOş)C:%ݙP՞aWsARU xv_BQ>t?ޣS՝ j>0t!«1 ApjHH(MR5SX{i$vەVtw;;~? /%GU[$"N;n")DQ%P-æN4[ٓ|p 8ְB1!8+v!g"ƅ.fwl~B̞bܖm%utl1Ff $2\ 8qhPzH &Pl?0Ai0î%Oȅ{LH&Bma'ElY}(Ln%,v)l܊77k;)b[W-n ;@3CB1%ƲE>鈁&KR̨!I>L15,k4u)ot)hbp$^F$IoдoQ?5].C+ ph7!ɒ8tVʃ֍899B{G܅@o9b*''gz^0 ,LL,"3}Wӧ\46x{UBRxMcs+XF^ۢV&IIỴ>1Nw z $C=^U^&Codz\ Gkɕ]Gۏs[OՃdS3sk/O]1#=$ph7CtA1L`L"o  ~"3ko:uWo\7#(nԋn: φ*gcx52 O.w}B ]{KWBkb AA9پ^r͇nݮ/ӾNY&S]z⢅BR~ZE!@!ڶo>hd;O$+?tSrZ.~-(sM*7nÃMSO)NPX}S7[n%zWWQdA p+2X ւfhёE ~lcR̽R(0t؇0 zo^JmoKXIE! vjb}[ڌ'ok1GGfp@kn;^VzvѣBSGz1DЧp=D?b 1~^(HNrkƁ/Mqm&t>WA㏡ 'otYlf tGrAPBmyS55_Z[v g " jAj-'ύ},GPdӄ\`huY>س}SXSs2@!MWe~YV GCA_T;esb"׈1_U18R_"sKwkC-臢Kd7KOw.5ۑno\immqd0@*ܸF^0kΝA f`, >PS&S+=ks G M)_oqݢ,FU0z}z!K 3ܭnylꃢ{W\CqMzRdᯝK|-;:Jfy}:u ,1@ZITHuPuL8X ,n!V#@IBATmf)htE~Xx3JG vH K.&FIBA;k *}š7\D%G;|FrCu2BM mQ~<>!&{?7Goj kP ~+w">.%>k?#nhP QS"sἉl=#ѡ΍*2AF`i SӭBK8!n,qx,X74 Pl '3q_qTnRٹJHPUJڝUefFX(Qb{9KGTU2XT$^U%`٩rBNFb|@cx IMk~#,$U/,뢳&53DnZy]3:ߍIj_.!"28vvviFO^}_{-c՗~EA RBYQ"5籉uo׽܂B5t%[YQ1u}3'pu'pRG^HsF'>K;B]W+U{`ꠈb´P3I(0bk~Z(NlܚĂ(k*g*evyWA7oȣJې_J+^H\R׽r+=j~ޚdnWˊ-fE49k:ݼ.7`;BeziƲ P0n;wSЪ@h08SJ#``(`ˀ\}gpPhp|2ENښB7@CҌJm:{X(h#E/ll4)*eCIPeP /H(*PL*!\a%>}1a3PobrW?S,B2eUc[a6gp")MlH(,a5J+d|#!^ "˱A hC1/@+9,V lZ OtvH&s豽U{ې_@TWHӽ }vg"U 0(|_iԾ`biKIFv"ز J|+ CYg4V\ٮFkv@lY?^fp(`v[ OyQċLp(adtY8\IZ)v3R|WrBI/gZꁢs%Lpl(LS 3 f6}-ir^O_lBfSaBQO(|%MBL~KԵruE{P=%fF_Tlb"Yl}]ş`W(i4*NHgoDZBmQu/S8EFWVGש""1[v!CPFk I&]uή}5}#5jBN^ȭ++B:%g (L3j׍3:5r3MYZYWHz`" hLT ⏠~(L|=u|[  Ec]sZi[ѴiE]TxDj2 +dN1iÛRWʫ$; ZW$DW%/AB dC Eƿ]]ʲ|Oa: \ q3saw|>ǫWE8L@1U _ PE]a3V(7ѡq%Mً5UܬCk PbEk/:V"ˆjY @ nrEGQS66>r (uy? _U)In:Oˉ?wGC 7hK:;Wg8EzZwuɹqayxPD +hPHZԅꜪV 쀯:(99yk"5΅jGo*0)@uh(KZH==E BVWUºp!e<=.]h1CIMfHVR>/7Km``a%AŖ[Bp&XE}R2/| BjF%}7+fS*5ۗϡK+6`q%E=.&p%BFq TH 9"۰JrwfFrJZ; ?W,'jCl6Q+#>0C1y6hLezA1K4C`2zQc(f}L(8z' = (n h4QP1Cgff !?gj f `I"rܹʫ3tt(VE-[︠`#y^k--nenV-^ k  b;,T8-p(Bp` 1 o;c^<ʊ>__݁}ݎ%{,}ͯC;C{3xWh@7F=vl#W)~sSv$v-iRwGKSGżN ۝H1+*Y~k-M]R[/.Jmmm tRoW[]LOB$3-)/\\4} en^s<+s}<B1IQzKߣ^ɖҟ,k縡?DP1AaA}iw:{,o%$x uvL.r=_F]5.O{Q!PpgJ[И L^ZkA>Dr"+{W3ݚ~aWPP,~{Sի{kJ׽k|N c~7h[`؛Xy=O7_ZZtW-yI&tf0+z㯿u 7mѫſr{Ϥ7E9R4 Қ+.6BPX=reOҊmW!TɾEWf6ۯ~GXT 7񋛏 WI^mZ(Be)R6HJ (ƕ_@o'$ɽ۫)__ͅLJ5rJ,GBYP Ql?FS,ڙ|(YDD"TSlp}cC .aHr+rz_ SkΘyq~ )< ֜|T^~sglF)昚05C1ΫR0aO1Lfb2 c&tWn+™ynnȻYQ@y5+`f[O/ ^K݊-^ w)td>nz !jVxƵ^^ű'-"1 N g{Jȧʂ7~Us4٧j?Yrͺօ'Rɬ,-ӧGs4(zSKDdR.@΁( Ek{< K<Ƞ `bt M^ |֖a1$Y,eO70])((Ʀr-'bjȂ,Lg> {& PR) `Iϫ9&c%7=jL4Q6k֘PwGgb(>9Y둵=P>3f;gf苤b(0b&119qwfcsцFc:>NVU1Ę$6Y&@le (,*Z}R Zm[}/}D}ZC89盙0oBMm@*(F!mF uAi048" %^ct Nt pA x?M ʠA t¡:viR[2·xeWʖWod(„r^(P5 xה&Mr؄P'p~{>{ة|`M:C" avrZ{82[ ʒl%bY:CJo$U\q'VYODp0N,s- vн4 )Bz ՅV?5RxHYR7d3fQ]u"t{qPtu],Uj(&QFn~3P;&@U VմvCOm O}$0gcbwDAǑH۲؀$x "\. E\Jjjhg)1pF`Zmmd>V֬1 UFt(jx+ZȾ&?gs28UN84R` 6p19kPŽ@O8;0i˷"!Ff}ޱp<01W'j9v:gh:ZH$Apkg)6R,HnKȹ%xB -u3 ' .:f;' S|tnq ƋF4j6 $A] P₟;͖CQ'Yqvg 4P}ŭH(u.s EѮzgmqQo0mQS;'%LOQ'T P\m+ݞhjK2%(=nHN>vkP͓}+OYf|iL>RL=g-7.Iq1̰{ 9;OOǽ\!s>=9BX Px!ung˅h^Lq3/Z-Ycs~&"&C@G:oup:-.q)Mm?y~|6z}J3E66;o1oc>,6L웸U?YCp?m>v gM2js}=jn SQwdFuW@T,>s!!ve4fϷĠݫe#nxW!1RRU 窿zC-Gxz(%f$;no OҲ" \_.t׽…$? R}@D%"2IVFᓺ+_ؐUq(ڧvV+BGP28߼wIپ!_j9#h*=}i?dT(t)?5= nDnjlلwl8i!IŨo]} j-L=X];37v ˣ1(^FF,HEm$./R6ȟs|NF[z7SP'h",5h!]&,a b]]ְmSz"+6d zbPJKŸO7qY[97 Ӊ2LG1L]G艶[PI%7 A9^TP1cr3"Sd 23͛tgskM8C8-8}ft;A*}m ϱGiIiF96) (# Bf#氉/NE6o]H4@c.fy ]L'䰮HL  8dyrFI:l` QǍx(qJhyfӒMy7|戲.̩ĺyV7G! ,dI%lWd,rtN7(rs pA˹Ӈ(c˝U6sH;X!'6h>l "E~!Ĭ\P\+pgp+2˘bDIςb (.Gc7"`$Iiy/>([߉,;2Q.=9%YT&V\;hei}bg4RɜW~_TsuNKh\p)`jEsZrs$Rt `FR:"4sЈC;9BIiǏOhmh(~}ߑ) xpS+8-ǭh8AC-#A qbOtʢ&Ģ )mhB/n]s?ږns μO*Ώi:sQ(۴x5*BAS>(p2HzoI#B5CAsP(#/W0|4J}OڛňmB5}PS σbH{tq萅G@ACPa3PL _%%@=;qD26zgHx$wu-Q:KR̭RܱL,Kw(=;G ْbXONw%ń,4V Y<3W F܊w߾G.]$YIR|̖M@ LO8(}N5ࡏ.p;̂qSvn2 ²!r dxTdNn\v*,|iXeBTe~N&~Z]cLGz <RȦǚo!q;mIE ?XdJ4m^Hc(c EeS0onbgN_߇!L>nv<1*F+ fOtEz*~(br鮶Ç`kZ~g[y85] CNi dd:фj6ivcPK%e!r=E_n/ c082EUGAu mkQ`dž;'* M6!ߋt0H:&Cn̘#,xlr;HK,E"Z~&0"(Bey[$ q?g;};C"=*7^\x+Q "f)FѱݐߞVٍ8Sʇ& vM}ѝ{9e~oo:r[FTTc[ '?xeVa#6}~|E n?(n#OƃÅ~fD`f=z(`,9Oʦ ,jEMֳwA})桑0>P]Nl v lHb_r"u(Gb||q qB[׬ &z۝VXl| 1IG̋ P>lm )1M2S NuWzX 5S찟0~9%8-)z6-:}UR_Q~w%%+bICDkg΅_$-B GBGS @ك"ašUV<'9-ԙE|_'۔FPhY [UP($' ~r9!2 TKiS;hJl~\Ow%L) r\F/$1( W^Ds@D+|?'@8C_cL+z#@@ $teSâ3j9m?ԾP̍uYk{[V^Gk6ĠgDpr(j;7Q }3w(L"~ELs `;E௵, ˿'VH3gBa7 ݀K<3 (7moOvc'Uf<"6;ȗ w415|^QcܿRAy7";K9Kz+v>%x"'l"Tw_Xx*PjBA]a+vJ<`x 0vP~9 S( `"Ğ?eVm2GPV172T-6 uwMĥPcG (taFs@Y'Xk"Yaz ?*# d5r(fd^n}}6bZeE)4 4kmσ>GqdQ"6XBah{;C>z`iuE?\ap1{;BPLPh7L¹qǿu.Z5vmlW! CQq?¶6ɯ)-< 8mLT0VyjO[mZhmRd x0NG*d> t[LhC_!OOp#UB?$OO 6 }!#bΡlހ/ua^P(>3[v-xPA(nT/BZu Ƕ,衖&/ Lo/ O94RX@P)ŽHˌˍnGM?0msM8 quS(ߢ$d\@s d؛u9O1ӹ8xn(~ۛjsė½FY>*IK; j}$; KVT#(}0(>(j"FᎃrM.;u:f&>Dn:0  4 C ہhnfl)Z? {:aEiL5#BP̱Y̮^,oԎAX8ORɂ AR^lޓI>vZݒE8%Wt/^qqYL Ɍ97e%KҤdP@% c"*99 @?1W 6k+:цj#l v!jqh=J/9D. G%$:D?x] e$.:E|QwTt<ކ5B%y"BjLwAal߇zFþ]TF̱/(ED")P?y84Jf.^UWCPTKRAb((tG( )NԠ K%^!󮍤N{ oLr"au-#! 끎"H%LJ*(TPxۡ/ U$_!B} 9TEA`8KOꔡ@oQYq y3!R?2iT)+]nkϮ'I2o5{9Ү> h8f 0!y0YC64MKk;<lD" Ud\}[yX"Pu$ڙ(i|V6=!/{tnWZmCD~\1bRІk[$KE.HӁPBG11#xX{OWbg[f_p[ EED|ο+}dTd?LBlb19sZҞ+){ЙIp_- d`:[yKSyd ŇRgf8B {P@9OOGaуWǪzU#8ŸBdCq/{uOsArd ŹpEvKiIa|0R@'4/y}S| YQ/>]}"$ I $rp t`=?-ȑ@"X  R A%pT{DDCq>ԡ1wzK (ᝈ "'ιB@al`IGCU]vX;h,̉Ta4]V;kA% AL3 pX+,=6nw+P {zWRRpobKa)*tY%a(alڵsݤ0~NRgB16!-HzY=i UX[;PƦ PNvk`EsKi@P0ÂA1`',)T>)"\E(P$:Ӆ""vt6w}fIsmXD"\ # ldc} 37_[smX)/P5y3]}PxDD]ӌɎa >}fBM%GhA;*E"vᱳCZ.ևc_d-57W:E^zRd­ X/?`Ls/.\ _ =-Y{π>n\b\f]| 5Gtm}YHO@@Zl&L;}5ZK3 QEx'k Y{_Ե~mF4j,hcL$A $PBy!$0QDRTZQXRmꭶZUۧm'aHp'hrr>{8gp޵*L0rzxu$*ՠpw;TІ𭽱P Eԩ6$6bYF8GOՠ(PNTG8TG\&JZ @&jDUQ-')^M&Zy#)Q g޽Y;x{gtuNh 3RiIZwK!w?-:EZo0YG%7l Vl?71>Nړȸ=#] %ܞ Q =7Y)36/{H 6Ag޳%s({3G|Q׳x 3R)#3Yh6aU8Nals?ެހ_oZm^T߈$굨a@9DK:<ݳS=ŧγ` P'X*fgLʠ3Hff%6(0g "3G$^Wو ܉ȧ@#Rr $ HH6$m JP$_߬/dN9;Ow R3N]y4Ѿe͆km1bg-z?Jw4s"-i\K6)!vpQ"n  eA\}%c3}6Sljn}Ҭq͂'#JQf{r?:^|+q4?WpG=(,Dzv~+ߔ!C-8t0{b 0SO`œ3qvԱE[h.^S%(~q&Γ@]v54e9f6`lDZyn ?ÃBcS-a8SX@GC3оЎʚ ,H`'7'@7PcBo0 )3y0g=6<ؠwNoIzPA H% -hsC֋&H)hhx+w1P=(Ѓv#ԠqMJ\{14xvDLbV@Z\3BP9kܷgt|)c(PCLpp"og0й6[uN戱8^N{{{ENZa~;/B0Njbq0KOo )zP<'(`7C@ L2LD;\e⡞{-KIJ߂؂(ֹ1oruh,-] q@R('tRc/7&9g`\U3Y OK)UjavXt~*⥔}a[v6h-#spe;=?(_ܺ+VU( Gyh Db`[('(j|ǯnFq I0r7>(9AXU5Wp E[BFϢ>, s~LZ!-g b:/ 1CdKHE~KjP\MJtH( Vwz*(h S{%L3@ @HoăP eR v"7 M7G适6_z׫%7KWqʪ]SI  '^=n+w >^` lv̅:%{~ךK;\*է -,5Ũ3yR/$-p8TxUv ?AϻreG^xS|(w9+;ey&p6czQ gGϛ3Pg%WzU(ɿDJ N Oewђ:b3m:w5gd%oy9 Zr73nM`l7~3ЦEZYnF+Ar)_ f5,A . Ɇ)J9/B%> Af.NG&ΌbgՊBe8]/ֺR v—9u@ѪlQ^HJ \р3Zj= Tlk.f y_U3 +8 ~Df+|W@ ɭI$詠TpӤ Sh:*٥ލGۨ >|5R<4C5 0P6T>jhhԃmLeӠ 4 @BClg QDs?K҃BǀDDçG!³f`\PlG ^vPG*QTUs_!`h#<.SOOoЃB =(x>Pq7LwQM 9v~ؠxsD.C @A5 amilWLafh?r\IL(@<`QR(AdC T~Ϻ0gv*1% |9.H0|EX)wp~'~SK$l{g8Aksj"Mœb@5OPQU)g5|L0ZBWZRX W S<'({;ϫưpŗD]r1c$D IAγ4l@uVʺ{.$x BɆ C1kY<9ןkȀ؏ h &r36\WGĶJp]ij $d# -3Bփ⩠,}GnU-jZz&̕NEwm%|7n0 !@uL`wV[ `-9T $ sJ.o3~+h`r7SWS} ӕfݦC*t}.V[aF8|O4 ܃>f!ߏ]sl(l׆3{єI,H?ԃ@ M)#JsC͠s:&fsH6CASy劚dSlَ3ة7^  u(|Š 62l Wt{_Ł7E8:~:DW-W?)쫂/&-ԈʷZ^ ^&SҬHO3=ĘݓRQ|]áM kC~, tr:sQKIRVtNBWڠaԢr)\\D'V o(h}jW3zfnqa,(qi9{wn9/6[؁[YCMSJsĤ?:yOE$aFE,O"O02Ѝ3feLr ScddV49٨8>w$"dh9#h~6MדZ'Ԡ+bAzD ΣaF{pʾ,fUyr@ɈzfۋAP/X}k=vMzۇ'ˤ)^ƇW-./NDoIzPA ÑJ?U\o/^c;)JD '>24Dx ^x`KϼOC =(^jP>r6rIv0h) YLGgF!#n"{nᮨG-4Ǧ7\o63h;/ tl^[l!H֥/^Kq!ʍ[cp xPn*Q;7 Gw: W\AKCm~+8 @vܺhь)KBAV~:hF5ڲbOdOІĪD~\IMqO-ou+UWG> RPOd ck9 Ɇ&18銖c@q}gߵ@;.q~g ?*Ώ>6tNsO`= rwALP-9nG } ^ ahe +Ya̫뷯(lxE(ӣ$Dkl$G8zqYr9ݭS0K){3i<$R™t6 8=H%8Ѥ@UwY0hRDe(K&j@q| ! NŲTj"3~g 3RkPܒaԹ&oZ1KK6rhd3fd;jT Sa )T zCP@Z\lfifzqKJsZquٖ%UUNk=nmծђy,c 6(f5GpP\&nw|6bQdPK gx=7*_@4AA#Lt>.#aH8T|uD 7x"e! >kHHH46]L8aM7d(t"+eCyNÄְ?I L@G!F!ids,Lz(l3Lg(lD>@Ix 'C-@9`5Iay @"HhHWg+2)tëNhP%(LW0}(#4#А a0dGǼ;l%7_Ѓ93P¬%%mGǐB.ͲM.~tȭ4[3k]*5)LwY%v)y-hݑۭKDsu@>哆V$m&|…X'h-)F@M/bU;Bmg p8~O)>A>S^vP V!׭۳6-QCȬKNɀGպ㑊~%:QGV8VB7TZ~DZy l\9MKT?r9QR欆vBk."F -̭G Ęg4 :Z/5$>hB$6)%R]HS`lV >@O^zP w,v>dwRƫ?qɠc@h r?9ǂD+6E[wei*6-t )U*x $g & -c]ԷAe@.nYk )V,lOQ  km ogRHڠp[b~#$/{%@{důN), 6`[`cV"C=I6*3Pgn{+GKȂϡwv;Ux /(5ȧ@r;| Uq C-bC.X\ط  1S]qй(Fo g!Fdh0ycy@5 ͝$\ } r&):t:?8 p0[LhЈk81P<6wD::P 8XOOF?E2ĽW%Nr*Q!*;upaǬHTxBd6 N7Mb4{(ɆfT_vVdh(l{lqxly-;[u,{*tv7,k}6BhӍ=%mS, ~"(`Do{(k5\"Jvs̘1dEf*nϢ:ۤ؛OY$N}ǕNǵ2 >U~n>J gM KGwY'i Ѵ񃒛%~`nQb)_]PugvqhIĮ %9`QBMyY64lF*i1%9䃳1:Mz| tvVLa+Ǚ]pBUeyI_ZvPpg6$Ѓ/ O4@?փBQ % ϔ60|Z.0 U؎0dHsO%@C3  _vB?}=(ЃBgipRGjRqi@yyLjx^ygOC %잿X>\XȽ"l( ٰTcn5eX\l/ `UZҚ=l%%Rs]f8ձbUo~"D *0YɣdMƛ7% D:Ƨ&_7ފ{q 47;=Jj> Ўn"1jG`} (J'2o@ K`/lA m @ lipZ<MBN%W/HcM$y6G om-frb҃{d1j, ct#)XGygKM0.2 ƕSpKF>jB1iwݫ.&51P>7e&tO~?@td-2x=-vmpQ HW-Ü16 |N>g f//>Nj.Uq(=n76g#ݔ/OהQALhSp]#$Z0CDR\W}qHyVDO񫚠FoS3W Og 5m&F8xv`?+F n\8TmP 8 7 DKD<l@JT ́%Ҽ"AIB@ 8=b5((ZڳmA E܉6(%2:(0ywAn9uʃJD+(o+贛?GGo ňSLi ah"2(Mކ>sO)~]~Fy7{%=˷@gXm- 61[X9\jҐlk=Zb¦'".22@aEl4}d5 _'mS5-[4 SUp;u.3\>bRwʮV':Q4&Z*h 1)xQ/Z"ǬZر=Ws^-Z/Y o7_1EC?9 t_S5b$@(,[\Y8`Z%7!j3P31ĺюу_kYpq# /]# 6n }>>uw8ld>\  ǂ:֯hI1SsK LVp_!KR#-@2Sh#ޏa2v)VeXy#Ɇ 5(눖{bG6qhCUթKPUG \:P>Y!Agwkj{&o~@ YU Q>q*Qqp%H6ogFDvyGۂr(|%Hi)Fm˭Ήb~)8[..m-G(MhH6k9Üeq:tchQN,r# G38*$A"diFrO@@qMKu7.7HMC ylr+!ux% )QE% HÀD7!P0CB:ۭ~1AATJSqP) 0A5P-z݇/\}54IXtx},uFD:OWi>p_{ĕτ$(!F%5 I$A^J ʫ" P TP7GZJۮUvDs7ޙ27~|b榓\^{^?TGz!=xڂWLK %DP {IҩdcPԁѰG3:Z<Ɇ6~-m\^&D>v?0щHU,Y>0s (,b:^ D".| v@ *V,П;O#V]׫)(HPA" ]_ЎPm'I ?Q6>"B5P·P->G9t ѵ׏v=ʙW*6@D%.O\b[: rq_'_YRqo@W#rD56uB#!È.̍T^ }?0ΒA, YRsA4&%=492.a :L4yK|1Ewڏ'N((_%Q :%gҾg_OBpyvm)?"k꼰LhIy5w^ҟ[gR)['ZB8Du$.@86ZlE" ć6iSHm]T.n*TsIiG_xM]ܪLXB1!D;<&0p[5)F9A^])|V3Tїdd O!9Ւ'pmS1.$El׿&8}1+ >ōҘRm% ed@ApSG{̫CQA΃@nk,g Q

~SU02^߷;dT LKAS~5_ ]ǣrqM)8ZB DoHX7*Z EC% "b6k]|$KI7ބ3<qP@ʠ莦=FX W| H $AA1||~_>8ShRzu$#Jơڂ1\8Ht+`|R颭`f (FRNj_6S@PF];sKu?WQqg(y3]d^ A ްJ;n]XMB*4X>XpQ5v!Bq C8(0A-)ITpMʐ3\+}rEeBgDKl6ڀlbS[ywU&@s?1D)x>H6J^t;#~v뢨72|Jbۻ>N]ejӋ!JN& L,]]U`zT`)j J(^_k kTh:l3P:敤lYo0A pV (}cꑊ5ڣg=pPD8Kce6TmA:*쁠PGn \5ʲ1($pg@P<4E uodvvQ(Q9$cGPwFd[8Kdw {rY:?wp%xh7 : {9]9A-܅a@L < $ƪI}}u'jk"Z q_H¯ =|>)Bh3Qju2i=lЌXr&0j 8DPsm E?‹%Bh_6ZDyAY"OX@aPPPUiGi>:ngVfƜ(Y\좬0xڲ !wq}?#1l?~{xH`şN! w](@=h }gpVF @D[NTw|<g =P)mSb/,bCHD iFIewPO+~I8:ym]9`d6A@tP'U5-.,r.6S-o@P;:WhW;{$@ኮ.+a䷉ȃ-п̚ozՏ#.q;@:Ƣ%ᱬ>?έvA2#:M D%S9@ cPGEK M xdv. $r1E@@DF|qI@P;9&<( (/.syd ټQ$/[;TMJZhHGѦA3v)mr8\\(jJAI;a>p!@۪mm]43PBooWGMAST0eugyX T[pL켼;g;{{}f߅nyA^m˟>͐O+> _Љ-OfOJ'SP4 Ʋӝ< #8g[ Z1NmJ\$kT~R)ZT.qB/eLY˱R|ޗRߥO :12x|yU39(Sa?z"&Dz%V$5Z Y,+"Ɉ˂NDFFP`P0R,b9HfSt q@׫Lx~[k+ʽމ~ RZމځ Mw~ JMfxK@Op u νt 8W]TA`ߝdLډY#@%_?4mj/]ç.ϫ.G@?IW߭ eQܥ V PLK`YQ_(PKʎ(R|Tؑ(uCr[|ݐZ ?hh8rۛ|u큄-AQd_"CQ! ^.D^:C1 yj(%$7 HJC&KFG Hw$^G| w*.xza #3@.ǵ^x#ۑEnݦˏvTh];\^hx'F`/$ڨ~/˵W.Ǜv,۝;'yff nqR*tI2@n:ffU Á|k.4Lf ,6zH~>nq fWI uOw;b,skcH qwhY#x llm||޾,01i"!WZ|cnWD3<Ĝkn\vb0+K-QULWA c֏K~a{I%LL"=䉙sboČTDyLDE,{ٻ TI<  K.A: ߉ @bw"_/\0=.DDuk֢9 IZ,֚E@Tjч o+>q<+ڏ!yk@F|9;s:M8^rǟyDLك*T=Te@S]U=_툰8"ɜɬ-."57?ʴj2 nN'Nfo<_kmN2?Oo \8o sF(od}_zH;]Ì4Cξb>Ϗ8ql`׻Wߥj]p$7|legmoCk]ӄgnRe⊆rL:bRԹ9331|ΦmLSH4aV4R QBH-M%7ӱ. ~E)k\@}ls 4oT?Xш/=F6?ekBͱ?,پ/nm 8poy] _5.[o=Ko /{]7r 1_=|CoO}`{{4|ߣ3V>O}7n4_(a7.D5]wq#ípްoOYL, E10`)(bc 1xb&hΟ]@&՞#!ёeH0$J@w"tfz \@AHs@\%P6$`"#A'y3ڸCNk|OF:ˁ 'ؘ $;#ˣplfr0ID-ŗ<-V*V⋈F֐5HA6X)12W52ST"Sh"y>Q,(QI= `JdػꉔF[Dd"CXM^PT*Y.%(D<ֵ[S6wFR$Wv6'TtV9IHJ(kh&!1$1zݑ44}Rd;aZQif3wo+ZkY_*J@TǀHcl.z 5B#m6%0?-XW{E?AL]5=0k%k<@vY!$_wCڵAלhZKy'e4S"D @:Vۓ爫@Ҷ cV>.}Đquba4Ժ U@OjtDj$ɜXGGp~ M (cxkY] qaϕ7b/Xy D%QWdf D` }<"&B˅ED ћ7}n޼JS7aňpe !L j2z"sσFy ?p!p}٧IGIqh#k'))ԙCdSs^gF Ҋ0ɌZsaQk̰Dj,lC۽*7_*+1A^j`) H:"dDRb23R8h=:+*NiQ5bHV:/ -8$@ne@JX♵ҶNʡhwbXhw}*qޑº"=S,=DqD o uξ}FY=ÇϏSCNDHul|ꪇo׍3+u-g.x!dfDz-68cR1{9BL>6̦$3-lj B {ף+૧ uu'~Gg93!:8Fc{vnvvpP#^Amx<7ʢڙ PJإ Md;{p?2* 'xXs:JE'!E & !x.;2<  0X1`$3 OM1L!*lT񙪺@211G`|ki( tYDDdUS?Y (ȩ7r rfs9Lgשe%py3;c6Gd:vƂ=$T!u Y'~o"-< fY?ox]/tX~Ho_?XbIENDB`homebank-5.3.2/doc/images/use-vehiclecost3.png0000644000175000017500000005471113604616712016151 00000000000000PNG  IHDRtLPLTE5~n~ߵMͺ7﬜Ƴ=͸ܝ¨DZɦޓ״㳤㺗ܲg͙ݑ˸ۦάķ׻ĵȜңѝґ̾øѪผӡH꺦ęۣĥYԴȟٿͣ՟F䡫ӦϬūgwԪzrŨwi蒀β168߳ƌ齝UXf둷|חvѺf^ws~k]krli~X슥Ѣ}ƭb슺TOPw|\{Lc։ҫbЪ^qBVIDATx PWI?/w 5yK01ɰJBa*WSHh--,F@eE.e^aKїߪk}+Kg;u;DvIrs}sΓ;gI&dI&dI&;L$Rx84! p?d2D&Z"wYick!!g"3S$)iqL~lOx੖Sd2G&n}͑2FíjFCЇ&jDH2WΤy}Cķ}^zon}]|u-+pYD7T2,"LJX֭߹ykɝOل뱸U,SRiT=MFU$TΤt>w;?"yioCpX2A%D5 L3p&sG׵?x[_'<>}g,{gD#^^^sId_q&PT^L7wFWj-/?dV<(|¯@73W׿7=gҢydϾ4:eQX_@ՋH:>+q&-J9uYߺp8WCJ"}^w/R$^ME=y.2ҋ<=oO\@;L[OHzU6!ji(h"-CGfHT(e$>qM%oG9ϕ'stɇC {9ݼL+ gq֍ˢaL2WRU~YdH0z]k ޞ3i V7P `gg+E@uA`@&VV&~xv# !%2]uԳ@dzݪ}b8Vqx:-8U sӤz@ZJ!{twRp;\ot*>xXmջ[L1 d|m4886 ޖ]-Uv KyM1eapl8Wbv|p?$2\5~v: _ӂM^BԞqК^͏{ %G#@KTvn˯&f('zUMx yp7W40 4ֲaU)#w`0p?D'h|<(/5# a3W'xWA@r-G'9hcKTj8[(µc5B$⏱C~pBBOJvV"#LprLT(3qQ~By5:hjir}t-T d=pY 'xJ6?SWU) .`k㻿^g̑sKL cرdKBUSЄ8zj3;'d*5Ja\9G9;nj%jRCP*B:y Mqhٓ4xfR7X~bj%l8iR5 ZEY,~[SȻ|*@PC|4pP _˪PruheұĔ-8PKr=a4s)_8V^ Kl@cI6"dZit?':L2$lZ*m$"*+E`!){l]D;8DKF/iHe9)>c DȺW-:,RVb^\׽{ VSA}]jFNէdht)$|TT\m+_,w tdҕE¥gҥXƂMI(`|x sܷ܏:mϞ3i&^Yt2Aػ>4sxrei&~Kbtt]z8W5ӵ2Q*C>L2$L2$L2i g%E̝@ČS(y}9Bքm =KO8r  (d6IaI "я sT1$2ʑ/t\'1+*o=b;\c6ӒJlaE~g42Kp?\m.U lqh6;8o*F#hc}]-HA;nAI=2P%lIJbI;``tOj|>]Eo++:Y]wnJ~iHLúIsNd@'+bvLs1k$DȲV_>|%Zʩ,dFn[MƠ:PCunuCi{p.=JHBVf!&PHamKQlE;Pc0S6!}cvX/9&Ig2M!3H+ 4d䩆;WyN 8>SR{K۩r@EnԁTp=e`-+%|b߾}ӽϠAɂPy@c@0 5z03U}PWLIrv6;#7"{"̔fKB8}zt{IJyM^KJ6鼂w>r6P'# V&rwd7RN )S,]{`>@Zwv!@l 1}>(FPT#A7W= n++܀%5)?]yCk)WY@BmAZ8Z#JS$+fm׽o W%5U6wA PRԔXx۠%m,!Y􋑣JA}W}mH6ca76-( b¦ʦ{Dffu uC79MQju, l-"-h'4J [y86P63҇e$nf_sR3$Ok7Xk,! 8nD9QӦWP'\ DDr? O 1E"E*)',VnbdfD…59 @s[d Cښj:85ZʫCǴYAvz9[EmOx+]EY[@dncgvS^an@ s qlMk-fc|GYO@urژ[lfQu̗y[AН^c-6Y{(ĺk`OT%ceOIMWJ-Һ, @SisRU%@G9;VtG^ 30[q0|)mEV y }' "(,,SgG8K6F V>%0MCMުe*X }gP2(Ŋu9mOL)dpņʢ\+~|,Z+=aMdN[3=LPkm䄈uZGıM{:/P8WdV#VQ=S<tN1n@G@TOvoVL@!Nzhw%Ct~o[: (ҵ7yCW@[5k+-2dH?9+r'wN}@PYz!ܜ}Yrgnm9<>p :DYJBt4v]ba5{&PYāή5A,z0 Mo4r d2X, 2-߄.7g;sǨ<3ȱyss/:6n `XZbZdyttlȞDʲH!Z=ʍp {̂F28kъdh<$g ̖* ƴYҡY"-l-Dm(1Thv@x T9,>O 388,Lgo-*h,Xiu`H&slk@1 П=7 \.I>=\cn<=Q7e6^.K8&U B^]xz SWYȼЏRٱ%T6Yvv"㊷k/~p,|ۆ%06`>&=Ԝ@:K$8~aʝܘ" f4û;ngvlL`'0ow 9 "{li7٢ XkwV9 ®;w*ފr3*ģp (ζB5[̶ƻ]]}bhPQRsʼUzưm}7_Fq⏹dmſv0]ɾNؒy's.NkdoxgTo凍3lj~\>{uYd׃P>LNDJnUC3;}m ]*#u;*>9{zӒv8z82wӅ~6uG-;B,<~Y){vKxۚdiQ-m%8+onKv)Jc>+zMtDw6mw#QG5U9-M@,ܾw"QN;'PBmeRsAfvf5@xtآ|4~_MdT(Nz^Rt <VmGn|ҽ hPEQ)r~)iFe3ſۀGuɋ]wnۮNh;0<\VklxC4 뒻t)!ݵo-Hhz& qbB]gE2@P.ۮDc~m뉳gv"ܿnt NϧFQ!~_y«3*{6XޠoZ۞Ut@T.EC]Î՜ p ꛹}ыԸdko.qqDzS7n _soSɓ~:mOqϭkMMsᆵj|y6 F!nz!Dަ+z>k85nfNioLb/Q4E/+2{ߙhǨ^;D KvՓCX-) q411Q<-|h!@gV*%΀w;?,  Gfx.Թ9ɦI+,O @6M 76?p$™p`x~8'mjә0]p (@؅=^6qPYgvZP\QҮP)Ϋt_kLG8J<{ U֘P,/>L{f LR 4RVƥim/{= ^5$Q㇫ ha9-s0dِ]sm@7ScE B'׷b(p1|ە?#u촴ad7l )oS #{0/hHq#j{g.}Z)ry}ZVu];\0ᏢX)-3{tgVWw`:)Q ՟&]s*|| B.0ܸ3=M؄y HUs$[y,a)'ߍPA1k!1̴_5}b:*-le iZ V+ Z%cvv:;hhF`sl>8v?k(\cƵ[Q`7mڣX+b渁-'eC-Gda/$$Qp6{ K!] \nk,\!KBrkR,S$(ЫjE0.ڳ+Y`;+1LoŞXI93꘱rRIB얣n۸R]s*!o-1qy ^I1y۷vi`Z0ɊfYTQ>18om)g~`Z!EoPZJqbot={\$g{++ړP7iqKR_O U6Woor W} o>?F|Wur_[QZtR]̟^\g\`c}!c MMn wgVD[詹.`@ SopкBa͡[2_C' qH7}V/'d C^JOӸD2(U@ x C@0o ۵0m.&2@(^kQl\.BPVG2_){ R{h2fg|鵭1c-ޑ\|a|>*&C7]diFT\ișC@ k 'b3 c phxZzIn8u:Őw7hC ΣzdztPGboI,öx7TXC7,c8lDCaTHQ,12kV"Yƌι] *g`FPGE`ے Zid2am@Cl2zdDys]Jy ; #i]BVP\cB?MB^$W:kZ{g΂/$wzH^;u{Z7mV g>.f̰$3M\~?/UUȃΊ4xBe1lVa!:4k+K (`0{x`fjΖ즊ar wi-\.- W¢aOXZP|w*2`Lc2p3 &x׫Rr=724 TsyG(mX^~ܞNJ;'~_A!z(o>'ɬ=InGs]/32v3,ư`Fގ!>nE`@xkbSMј4%(^̋o+cgNo,yroȹP -8+/2 i kj[" x.a::ր3; b1 Z|L'SE0}P)kWS=)Lv9(=؟ #VmBLV)dI\غ |;G<?Ix NMfLZ\~"e8_32Lc+dzq^M&Q7@^0'-8Ft0( |,ƆGK얯T{yH76ƻc|vlW؏PeԶErjrI48ўi+J:QSc)]]DlN)$*!wl{@I_hjb|>V_E%3ERkjXמQ!" gTdR#2# iK8wTMZQWƬ^- Xw\殎NMd^{mW OWmX`QBi@[|45VlX$Q_fcWxm*gRWÝ= pvޚ|TS0bŏ%IMgl`*t& h@o}n2U36YflT ! dVNC#" c3y,̊hl @b`pT-`2 a\0s 淀])5Ԡ]GEv-RsUk L1)\ bmX p6XL43*P%PL{U1\:p,ICF!p#b 蝰9(dY>wtC:045c70t0/a:<zz={ ޚGЫ+P޲Ge=Qu|a:t;(Őz2b = a]\zaYQ C\%t@ .Y20@|DjU YHbd/V a.XUM[@ LDDB\)z,%r"`*^Pwmyi`q˪C=&4KmbE1버kfIu2qsL\@NCf3J|$0N8V^HAHM*\Q秞 0KK?py''?P+ CU˕AqđC>g׮bӀ$os~Cy?:C&t)@"N"E$%zWP !4CbR \ ,X RL"l|—{ j?CTSK>wZlDJ` fA311bJ*<,y&Tx߳d\Mˣ 8Cwuq,x5゠piƇD1]`? >[tw畬ɍr ] ^VܭLR˹9Cb/D#UCu`w W1ZѱwV@LK';Lµ)V 1vZXdbˈ.W;٤DK|7I xaBgm$ Z9Bn"(H97/Wgsr7pE t6x#"@czVG!եph*h$HN56 ԀFѷ5h^!d!DF0ɨ]AN*dJeJ7cJ#"L"T;Omba?owܿ%>֪.g's]]=_vv/&xQ}Z\jln"QY!y 8/<_"J_| j:G>-&85EUOt-ʲa5lbri~!PpO>I}~rTVn[?I}zZy"^B?j * GHU pT(7OR}6Q!5I$zݡe=}X<';T-kjc*jf<}u n45%Q,>_:곣LZ3N\~JsGǨUPMUuСU =ݩ$p @5Jpۑa#jGON|ñ,ˎ>O3C(rӖSO ziݒz /vdrl QYw(# :y(8l?wLI5p#D e]CuT/^:tV Mwup촉v4 <@ݡ>ޑ, [Dϰ~Mv5p6E>p~!?zr≹ɠ@R֣tLF6 @5yr5t9X{uO:tjGOO SHd Աj1_A`,4DX?}rAC /\ݐx'Ӭ!U ը.t-8<&oe^D]ͭ7tȡq7 $a'uy^^ m~j}N.=~3whjq LOsM gtM:\9 ?< ,; u[}a <X.9B΃8|Ѝ/AVэs`] k`8Ԙ3 u †d`5t\1z< }a1ڐiG'C 0:t|#adJOm5Cb@dRM108VIB\2 *0).o bBq5(kک`J"(BE?A=25]BG16!u\N VjQ !fo^AR+T Y0_d U\ǯejx jgv+ 匜GHEs3P̠_`twS7I%C !n=C:OɬFƦK3:C 2=5lBdnE%b]C~z'Zu) xo~WG=byJDE7Zg:]'YHeZ۳qU K @h$釀 =Cdb59MXɀmmrC$͟wTD1>wZ5_;* NJr&;P: Wx$\p)+´*@GQ)⑇IE10䒜FhtTb=҅5+yA򗨼Rߥ210Q/mG&ޭpNX+&;P@'!)p˃#AE1.f|I(lTBiuExu.qvbg^e_)vpJ1DM1DA4-_M{?<9)bu,Ũ,k\o@׮Bej[W8x eܾ!)^β`rgV1>D&? -_9n-w8bCt]V@*=J`Fɒ95+ 7PCC [b6f+h&lK\ ?j8FMěaq.!l&c d,*B Q vGJ'-:z CtgbH,K;>4b,w H[6:04dN1DS )躀 0:t!oTP-`| iH1f%2bH?ͷdsq#ҢA aZ2WP E #Bl 45Ci,a #M+f_S1B?a6MnA"=73}:kۏbH(ZywXbwBGf9]"N^E1$n05fy;_ 0 &6b9r2CjB^*Gvm}e3=9c|FC9:HnZxGb .&iW5 bȔNj5dtP Ym+(@Bl7ޞěd!"E=h$JB.Ő}Ccrr-1Lr- >4'P a;ZNGc*Wˬ:))pOXV A:S@'So@W1g\N CDMUC<8ٹa]z7<}-0b'?\@L|6׶65WWK1U `Dþ AI1d]1\6FG*X4LP2/(܊T!_1b ^&?!GN](9 @S1Dlq"Z`H ŪU]!EI#H A=YDt"gE!HadP >}>B A9~ ́zD  ʀ!TQ;Cީ9ݑO`MbA o|bHm{*@ =Q4c[#M ?2IfoH14 ֙\ضbdB!.f@c->Q]1Q)U{ e:!c_{/&ajj]C8Yh,F1A@8teܸC2ʝ\.E}E+̃0XN'V+Ŧb5qWwt0|Xk>Zqx` '1( <=Rd;( H *BjH_0]"IvW;RW8Ati%tcFmw+L_@pT!1xah@m<3.Lֈ!N5lTnE&u'e{E9#Ep!Qؠ/E^ 2^6B :=YQu8OXFW;xo!Z ot .hςR "zZB+\Oq'(pXrJ> 9Lb>: AOq,J}FTP٭T(\BOou{{w72 6{PXV-ڳ`+ʨ$6xuQ;PI-0pqx0H+ oW]=]q˙#u<+_:;}G?qwg  2F9tCot|Hom+FC?Y5xQ4-a On!!}t]`:>l` ȨT>'#2 'ْ0ZC A(4PyȊ!Tӣ"$8(! "KAPb匛Mb`eJOc {bE'"H1dŐ^H18ZC;6HB l.P1$bH|b8|c(ȇ/54.?k 9:s.Bt!@=SI[$w g ܽ%~)݌эma`!eKjڅCH^*Qz(0w_nK}-*V#R4Wٙy'QT!9?`?[2V 1)5)Lib2T{ 笔B;U0Яfk%"b o4ZiHWӃq3tn 5x #HZ.T14 bȈPhլCd _Zna15hP͈!TwOPݗ[X T̃BHnPnaSڄf=/9D4T` <4 4V@(E`0%J4%1$u10,V AHCTKb!JuRRA%\C}PWH$pR[r QξůƏ`4^G !Ѽm@ !%i@ۚ[#[<v"b1Dq1$| ċ!ow.!>|Ox1dk'6=q(>m*=S ”/Dg 1Tz<㠋1dg\do">HG<w֋6)H s )G ga`"u(+D]?n(x !2t ==o7BQ }8q![:whz'%':b ʮRxW@Ph]ؑs!C~>[ugZu {{7Bi!]3i$GLRqT6CCV!me'$j1f͙lԺD?FM!x:WZxI.~LX1(Tf=+d$%bٕy #>qcشp6h)0vhrPK&\.TM3e%d #әɰXlpeb_Y32PB(>ڈ -R @n@+Ј[ <]E~jsA_J bH\b4͆Ő0" e`Yip>"5kjuX!A d1_6~p_ IENDB`homebank-5.3.2/doc/images/key_r.png0000644000175000017500000000060713604617136014071 00000000000000PNG  IHDR(-SPLTELiq^^^cccgggkkkrrr(tRNS03IDAT(;2a>;Pe#bL)S%xn @|mJ-CQf&VsD$Vj'0CqUGSK K8]|&/6;6IENDB`homebank-5.3.2/doc/images/win-trendtime2.png0000644000175000017500000004160413604616712015631 00000000000000PNG  IHDR*PLTE'*.yUH%(,Gv򉏗޿Jw»M5䯽Oz𣢣抏䟳ѦU~tЅ*.4[ofٍǿꍘb|æϹ̼ҵgǷƪٟͷuԾݾnĻܿVZ_ŬմԵ4.-)6H{\Mΰ󖘙!%)׽9͢ĜpJdvowG71psy/AZCDNx@<`a+ }? `d!d0\#MFxqsXyҌD_2"ZiV/(pm*P׋m,sM ?O P"B[@9^Ft[Wʩ{Rر<8 `UJ`_2rx`I$v*! b0gЩgžUmˏݍYpV`BDй6BGW< eNM^)4bTX]x&IIIJ L-d.˓wo-\~(TTl( ~i"v`÷Zrݏ]H*)zԯ(dzA(VZZ.,m\F{KSp|wK…Y?Ԍw?y#Q M(\hݦu"TPҴ+g4آˌQ5˚`0 ՏJmM|Swr1}ݿqq/i8taX!1 5[͎ 1!OK8051"# -###`[x{bYa }}$Gx9lH=ޔYj<=?`űlMژF.J =,]Y[ '"@j6|K/aߓwo#  KFαaT"?Q54qAiF$cP+Fuh}d`^kkbʍ"ݮV;dPdm:HjϬGF.`zEᑯZjXc')0#,q27bm̤֋*m e*4k#23e$Ϊwͫg?`zkv}ó[d=.. HK-щRcf=e_LK 6I+V: SWS˄ ٯx=M"T3\<5ӷ,&x-t0ֿه.V77e {Q@"`xbbz$LbH]N,Q4خQ20 kB3' ?ItXe@'(6Ĕ0yQU'Ub! :;02o\2QY,ԑ6\(WCɗ+zmrD!PÎyf t]rtA{hP}j,grXgr,g$"`)c@_>*ef+* M]c9c8@-gØ6)*f;%ᅵU"6h|nhaI(C<P45 Pq|g5ci:ORػ!dWn)dI󄞳cq _0`ċ) ]+t[(Ap1ZCO,vF1HIj'"(T>}<-*VP׷SYzaU#S6"-`+;* h1*ǎE5| :.tou.}@Qrx(:1ހ;qɗ}[oL{;x 7*4 DxhP#૟JoLCP˗}QA>)Ih\ŎW -yq#g9sRJb>kA,;,/EL]rD9=#zMPVGU_B-HM \a "Gbav gdR|$q"n+ n|}վpYul%4 K&6J}rntQ[s6*8}S*^DiHP0+[ M,>vĎ}|CXE䊈 ; P֊r@t!C 1ClR3NV͗*&ʱd2%#4 雽^Q9t@PlGlfzp!* +eg c=4b3@\ B0&XҴ@\abD FQ˚P'@sFŻN{L%aZ<6 %["Q?@CQVTArǝ&jh P/& "He"XAȊCMb.Bdx )N9Sqa>R `H,@s?kczG9V{k[XGZ[wA J>&VvzFnM.Ы6{LĐ HSϲ8Gҝէ)>xAU,8m/yF~6k^h'`0Q}Wi:rBӕ-Gpkg?p8Udrm``q-X2) #JO \i1>@&Q_44#Cy˽ikA16_rZ0no:؂zg+|ߥ9@/T0M\:h{{pm[@T3;&,&VPe\ؗ;_+G(P鳒v+}Ns@W Iotİۍ? *쌗38aJWRelq]&39bAcA0eлHqdS=(`30^sJĩd&8}tT̫}{8L0e!1o5:mļ0a@c&ocJ}̗K>q AmUʼ'['7~L|xqQҥ2t\r7InG ͖*I3̂cܬـ_'1ao_S9e4ڡ8/POd_8.X qW}XNe>nkaܓgn&H6U }/=ŏ_Ksz3;cEx{ A^0 W_t{A~ćvoO,}Ỗ߬E|1x7#PbP2k] w*Tp=`? \|/ k9fx,>?He_%=Dī$> Gz{=_z蒽/R<+wP?EE ^.{I×v(㻭i ~(Çv,z﹍fG<D+*CVZ+xG^ɿܩ~qfI7&&jBk[/=@9^4]yo~z;o^D>$  @)#D[#q̇v/e~U~Mo6}7wIzt_C~}/>μ?o6_q muh-^In֏5hlB3g4JpXD =!4mٛf,"f[=7Fbc2nYf7G!yu+3<+2fdx1K,0ĪL hDEgLn8R?*ҽ qxp-t/:g~k1ܤzH*W>jxT0 ;\A<4p.|[pS_@-bqt(.CK H8`̍]k@/9a7hܔ|zA\Xu`(A<,˜tϩcsܡ%ԑ!PvDkH 'u'OTq'g3s;eX "\=U g̮Sz614}  dlL BH$&``Bo fC4{b=9E$rSvIRp{=f2d()<`Ȍ G6WΜw@'k#(=1 eVYv&V"|p|@NC >  ,*?"7ΟYo7 2 3}>)gUtb?@Rk@;PF A~0O &F hOńEZWY*x~ p@9;0Vr&9qTnnE+u\\ QD&Pz0Gˉ !=v*&dX qj ջ~]\`TR@ R}eKêhDd mBmw 3" /P"0lwБ8rp'c)d2ORH(<-%ИL`idz`z &:qn[B_Q`X޻-Bvz)+G,JOG E&W=?Z]i+XNU``_+xJR $ JٯaS  ʮ1;9YZP@vl ã H]#X%3 wX8@@E>"7x^<`tFb<5^#҅E։L]GvoC(| uױLDP|-:Rl*O !@mA8NH5EQ-MH*N(Y NU8S@Fx̾ho6Jn6)X2 RK& .*4'&5$pRƪtdDvrO,NJ+%`]U)U %pX2 M`9</;sY ~ɊAԄm`cdbba6JBgq==w޶ e;v yBmY!8d۲ӹޜP??I5ǹC M` j!!@>&HYGZi4h%Fx\Mכ#3lK`F5U y%+AX<(zz6lcylJ XOOeFp!K8 _6N(1{W_6I!KғpbS7Ոt]iwיNFe!4WB.aLqN3.STU5f1WWe{lc@@dO [Aq{iݧRљQ5 G"B%2)꼥FXݥd fssa5<@T:uRyAujžҟU.7`3R/w3jXt_wzgJ#MH{ 0sqsk,l+@ϙCm:8jC=<>QM  BvD ꁧ55b@.M@YE\e2E9?h/+07_b*Y "u}XnLLb@ǀ@  #yG՘e;~ suz@",= lZ0@%y}]x&XyR$ E3;hg,"QllcI Ϧآ$$mhK$kT0 )  tEtG~gVo}vylO'E=<߁t RH5PAG}[#R"K&a|F$0`m9|d' DPtǣbx#aҥla/j,s yٹZ NBJC8T 6_MG@W7|mA ~JmJπB'j${ `f %uUʗs= 4JWfyGe`!p:Ea9Ph\tY_i@ Wx[!ofJLPlY8$"l, BQ;I``$(HmmCZ@R1XV%X*oYV}Zvp9\B`a,'1tmyH*H `::ZkFB c Iе!tmliITS'~X%zN>\L 읍0`D@ki,f3='"= =Cuq]\ )r/w/sfx4ADH@HvHzT8E=fէ<%]| Ves,{@Rr,8[OIÆޝ%< Hi^It@?yy( #u9r!(%8/EuWvP[eF4bZoۺ:BAUXMw%4? 30N=t,P{pG+U+ m%{c(%4A x={z;YC e@ M>0>gCRڼdX?<=ܗHAcj3qmnt4B.鷑)fɑ'B 19PY5#L/Ƚ,*=$FD0 AFe)b8R,\IP oU!' !`vHI{ K8+b0$ X I9ID| 4X3R4" `旿tITbPjۺZrhǒekh@͉'7pLhR q|fI?*y\Wɔo [TP1bAC2"Q4+Eؓ*hdu$gYްܚj- 獐h JH ޳}i)>1tN2Mp*{?)Jx -߷5_U07&hĐJXlWtQL _@3;FV jeC==@&Nut(hVK[A`knʕ+ay-/11@z"OmB8(X{v\RP~ DX(cԐ" valPw/*L3ȓj1C‡ޯX狎o|\z@C351$tk'Og8ZE}H!!@@ex4{xϏZi~%({ݻwC@enuM蓃~~0n*ߐa=ⷎo_/>~:ɇ[ïTFPNs4( J9^<{ ޓS]_}yp׮'pߔoOb)g(~lo=~z/7m \# Mp1A O޵گyςW/yѽ?8 IP eC;3B!a/IB~C&݆|FHޢбm#_\ ~c8HK|Wg8LFr%߰t麝q'}7zƌ[9mebYp+GH9Zf"JG;VyN%. ihϦ~#moi(ٔ!V hяbM&c""FVU! ԯyƌ(t/I(wGQ[b }Wk[csgc{I)H{m-ev3*8zg^yIb^>m¼z+zVJYMM7uapT_;k^9tcϡÊ>p<@a^ss" `ֿ-+kA]iЃ>. ya)d!|,D{_{t_= *dEVr@J:ŪNLZqג-韜X]۷ѳ$;뚱5نx vׅ<0__]paO~[phs@xYL&ad, ^$C2 GQ4-EzC$[H<ƿK)GM__ IX(sG`a7}Lz_/s h,7_MOϑjpsC!0)/;޿|EC?ֳ__@ A% ߲r$@@"]IkSh,`bG#JZ_=91ji,B_l`\-LU95 ;__r@h@@*X!`x +kPx#-bf`k{E*Qr0I%1${zPDmxli80bݯ_#,Z{G]8@PeD;RNFĚsV !%+V؋ Aٻvv ;b =l ( SdhO< * c 4xPA6)d<('CK[4' ҌOz],Fm9k1׌ke:q 3~G]fV9IW  TPD);w'!cK.GJ}h&s@$yp͛7Fbg B cLՓ4B2܈,ߘ\쀘<cޞ18rk+p-NgsIV)"x5qY,7OrIRCk'M5,.݅\O2|ڳ tVz߭R rV919q55,:Yws$$03.GE4m tU(L6Wj<UHcVeH> 6tv|vlX1y Odl!Ɇ:C7:sʻ:ZJn34e]$ .&Ь= ~r߭]':T1REs3j,bmmBoFR(D%[ 1V}e[(e? Ej0ɺ0:h. RZ%sbHQb @ PfdRМd.2̀C()lNz+0ʱ2rNNXn&!rF`A,"<"nkH 0%wתa օ,9N V,jaoSH*+U 7fo2JL)>zC`q>틖ymhd=J;W r"`Fϋߠ[ ;C{'m=@$a" l0t _? щ( tgkaW] D'aQeWLGcǒ\ݹ!eE;Cp< _SB>% An#&^Ndq>>r sM}HW L<1#Ɯ0nxq(^R\m]6lJhNCiԡ NBg|aKU,{-7o6{צ뫍s1Q F^8`6CF9zI!SB ,Rk'a 4xo[ s7\@Y8=H؝2' LA[^9ܸ}|`Btu]bCM@z2) (Uް`cˆ mB&rZv*=l:3I8r`Q_ &H`'`ںU8cb*Lݕ!bJ%'aKű7L)HY8$ba1m2|p~BG5}=wmE_Bdt#O@u}8uMϹsJ& ?+t7[s-nOAFz[Wy M V,|b= mq>S 0MQ{@K%^ڊi&=Cl?+ LzT"nt]mAJGKܦhf`: 04(|y[m$tPBjhHY<,wRV L}}ds'#uh@5MtօS[RRc0: ɕgYR +@E|(7PRKU)@iQ'm,ؐ/ j"$a(#R;Ό  +⽭(|,(| %r9aQrWJR ūsaQ*4E JRӴՍutfA}΃)pxbdfz`l 䆷uRuV*kW /WR[7'}@*Hn٭P.]pjVirn5 !hZ`AKHhB"HR pgC125L}A*@Edb=~Hftsh <:pI? 'FfTt摋;l'1)C BUl(jL\*O4gtxNDxb^B: ϼ y0NTx`tt9W*w+>k$Fci%0vwLP.pϿ ȋ+οm? Vz ֫$IV |4sGd/=N: PL\; - Z0J|BƒZ >'ܸ%[ Z@R{22fhK[Ag~Cd{ND8d RGqKz\8m0hO{7in_|0 :Ml۹_Ex0:.pD lEƛbxӅgsa۸^;8'˦ h?o4{;ہ~=$\Ts[_My~b禷=dyWx|MzWBqMP aJ ;OE*󃓦"QsO@d]U=χv/rc'眗F_=c~l|*QpyQ*@yt> =9t!ђ董g{f ^Il Q{u,i93-a ,n 'ƎѢH~=N| 1J 2RMy. D̆Z 5Dd[ ts@R2q*@ =҄9% 7 U +kL9@/4xBvimJ1xsrBthޖy`3rX4 E1S9xURo1)8x00 z0GMTZzYuHЙ8*KEnÍϋۤIڥ2`Q q숆j9F7'y%'EӨÍ(iF4Df-ep7 5Kc}\h7ܤ=P {8]|1n>0`߉[ǥу e$%e%;sA74Iq3o1>Hwvncvʼtr+z4A;|؁Jά _.?ƬQ/:H!'&:QPϋ+_}\Bt?#_|kte+mW޾>pO^,-=|9\daIϏ,UgqR; :=BNgc`fXSPD_>]#~μ'Ԩ-XtKs Jj @v< v<Pg L+^{c+HM vTtgmX Yӟz+Ž-M$yIwV7 \* _:?^:Ws\͈9^_RxsW,LjWzj`{#Iwv W4.u ~N~?LzOh>r3IǶoؾD?԰SR&߯׆RgHƜ௘#K<A5|2mdq.n]ѹ-N'^9WP.;\[ܟ|(@@JZ |~@p"#uދصmJ+ۚ{NzcצrJ^17oom%GN~yüʎO_CG=jWO8n6 ,hEvĔ/.ї|;%y̫径+,4,KWk 8o` 72tuNJ_u&֯J vWכZSYOcgz[^[ d^{3AdUuu[Ok>DG% EV ᵆe+nli&"#9ݑdS^Pdttmf%]Dֱ-M[<Џq-躭Au i<)n0m'nbtZH{-tӺ!%n5k(ruytgTZ؂<_tP(?M75AL9L:ʣy~8uAáq097ppy&[<,̫>FA8S 1!@C<Xfh Cfn >b37m)b30)rb31S= gd["]l5zl5 6s,8/9IENDB`homebank-5.3.2/doc/images/pm-cash.png0000644000175000017500000000041613604617136014306 00000000000000PNG  IHDR(-SWPLTELiq^X^Z_[`\b^b^d`fbfbgbjfiejelgoktoyt}x|ȆʉˊՖ(etRNS3cIDATxڕ90 7,GhBLcid7Cx2Bwl*V#LX/"9XcFoveG2&d  sIENDB`homebank-5.3.2/doc/images/tip-listsearch.png0000644000175000017500000001146413604616712015715 00000000000000PNG  IHDR2EPLTE(/캶ﵴH?ٞ=63D1۟.K8AF3:NŰϑп`ͷ<کꙻXXY冱䏜un+R߄y{|ոƠµ6ݏܐͼEEEۃܥܩ{onp⥓dϹҊWᣂs峙֚ѤƐ̭翢ʿvsuΨ΀дǜՉiaᏨvѻ*/0`uKLL|՛򗀏dzɳ|qͩ𚏚PRSeydj⹰fdcæԽعDt~ߠݱ9=?ز޲vyR=IDATx PSƯπ{v^lI'*f) e+WBi$*h,,d/JY* (T@vF౨HU2.}},l-0$;q{ /B<ih/䈊;N:`d4/=R M .LnleUլ}"iM2A)L)Xe>hxqՌUCPBL(I"ik9wӣŧ.9ߩY,Sw=svkVbב ?cPd̸GdAGSoiJi\6,I߮DQUPVWHVEúUPPw dXu9$i^km!%گB#0 Ew45uX-Lf hiC'Ϯ ݀k@ te%J#Ko:)ۖ,P__#4cM@1wp,| >`epZLzJ)Owp2/33d?_,@:10dۀ'"۩D̑!BuLU'a|^$V R[g?y`E[LTCu)k-3#8)x|K3{)C*?5wƣ m#HB"!E+lnEż3P=3<elyۯ8;oK#MHw8~``N@4pWΜ/K\EsDJJ `q6lش|:4mPi݆u҆qk^wLuC4ϡɶC8~p>Ŋ`z:nI`5! Q$*.بM+`Ttd8* VD miE;PבlGE]s[R>p&'8nH:4\KhsM8dk gzs;M43;wƏmzo>'YxA-"nJ!?~+qssnOtҚ3OWF2z61ZzILCܕP}+̜i=a2 L${< !j~R>q%;M]Nч bܱ3ߺl_kgӲ5IOxk~'NC =՜ߓedpO@|*hB RiV &i.0)a "oQ-&ɦ[am6Xxew|n=]C\ӶpWc KKY˜LS`4%?|+fHoۖb| k>#z65s4p Gv<3`Z4T /XL$2b@E <S+U{트/p=͊޹ f ,]},z %T D ==bĈ!{X18 s1M\q/%ք^`ݥ-iB"Mrwx;{uqAL;!AUff9 EaA2E?˂fe~=0w}z{x~%/Zs3[L#?'ڕ xwi36ĘjnڶnW?ΗN>9J@)m=TZ\`°noǐbqH7ж籰XG} *jB#~JzWV<> [Qlga/McR ;>{_?#|ή')aHvkx:jtpQѽxfC*}إ;Ok?:2sǞ*'(%q  Cv֌M b ]bBED vtyg‰t"ð["cR?P $g)FJ2KT~)[jo ! X,'c(F(d+r(HE$S'9!\FCSbg5EA1@Fi5ư\&A 53wнE"-QTwsIENDB`homebank-5.3.2/doc/images/win-budget1.png0000644000175000017500000006350213604616712015110 00000000000000PNG  IHDR*PLTE5~yUH2䙵Y󱲲蘘䪖@妦κҾ׼ω޳뉐غLog裇暒鑏娊䵰񁏼dz횾ɕȄՋƪɮ崠귔ǸDz仾뱂\毮⿳ŗ޻ѼóժTϰƭџᬥۯ{ΣʹرŐȴ28:zŠ䎆mldkssyȠرsm‚tzAɯʙ\ZUX֓zҌcގӛ넿wsaqziŜݢlU\p][Ąʕҩz^T,ywbӅЁuۻ?1\k'dIDATx \׾3"!$TB"hs@00HB`  / x|nvWZ,j\+zܻw$@ DQ~Z3kZ[ ߵ.f4hR͞)ss^ ˟Du}ϻõUZ{^ ˟&05ylm͟*yMQ迠X6|9Q6<\|{+pIgO d ̠P\d9)b*ed^(XM AA:uR{]]qV$-_`; BQl.F:xF|%; xQ^x)œ.]zx~~vӶKi#|W`>6R`) G uu JF (k +᯼h gbl#]o~qfcfFm,-rm _V>I ,xS:.VCC+qzj=0õ۔S6b;O;6B9Oc_G͢X@ۗ.>L@v'^e?Iѓѭ\o@ `#h$'mdfT}6cLTԙ@[3*…F(E\ihACѵ\\dkhrrzEUD (WE_AE`m_@9[42U6Z&E/caoFu=.p_{O r3G1,H)RV_gvٳ/*wIo ,`6 qna)~Tl*+myJ:[}*y̕Hdk\5&|#yjf9ѤҧɗG`(Xm=pf}*U2ˢ"뺢"KY%u賋fl6ecY1o[XL+Xl3,uE\{%{ .ʭM|f7[#CŃTKz1T5_@ߠgۃxiTGyy]PbYgu5T*ՠ E@̩:x! fL0y,-eE|D6bX,I,xdmiOq,z`C_.\h U0P5#PE;@gi '@ 3ؚoIoW5# *Lٽ4`D׌X̙rMf44H.={y4|R̓5F#OhO;gИHzOj&[u ?Iå_(B^Io%\  7I6[j%'vx{M>!|$d2lfM]ce$:R**)D-\@/^@ )TFl%F:v;69h 5[ sO}K#l5Bƛ\褴Y4KU,m軲tSV1^kԋ;TX u en|VʟOΒHg"AEIK,).g(-Mw{rr$[QT*.d% 7` JeV03rVIFĬʱ%Eey _F2n_jdm'%d) )LAlqoJr|Nr0tdBP.Hs*a[Yj- Ҿ>dFLX(MU#:Xp Fb;^(͎)fs3pL`c0QiW˞\Qs /KٔbV4x;-VH %Ȥ<$U#";r"OLF~^( A"RG=ZDwdߑeGs?*tV= 9mo׶4XKϰP`VuYT,α*-EɀUM'*p8PH 5ƱvQ#@yHY%g\,ɤI* r66EF82AM"]fV[ۘ5rͦܳMR`T 2L.-K j2B3."X;f9 jfKȥ@#~2}3Uo E`#Ńq* #$ٟЌ0 `=-$.nQ`gE?ḄU[ه<,0Er/p#G6(au4+FYƞ$~o0 }HcBa7F1/H1(βM@/Ҕx,3;T|P;K5FJrꡢAEǶwHeQ+E "ا+:![zI˲" (<"Dm}` ;+c`Euc,YZ.Och4fY2'y\ ( K9H\>UWXy.lo9V95zn .C='(%٬9"p{ɞЬ >9Ènf-LzXޝ iu 54"p U+6ey;_͒7J8xן/rDzkնtiq S{Е4S_6u%HQI21˞!'P9ǷpxiFN*ƣ޶j\1UL-L4eS44j1)QPVEWvIbLhSfZQە^RPx+lؐpԜ "VWFV *~Qj;ԞuKf\+s5#P#o(, pk{X*Y5E koA5[P}#(nI7 @Кnw(><+ JU8)] U# c0̽౷sb915!6_MX1^!TR(H8P7+ ϩďDxrcE"l,9 U՟oD+@ uOQ^A墊4r#Tk#^ hO;^WՒ'=Ho/=||^ Q^ k>Uv>izT\o~r%o`~pc3,k?(*n!r/rᦍYxkB b)/"#Jwn=N{\Ew{p'Eƌ=♰Ȫ6LT#pBX? [ 8x#d%{|"TO l:"ΤybawJJˋg|s|~Ռϗw(ll8(`ərTPͪZ'SP&ˣ9ttLƐ;Z|+]A""q*_勸r@dw/('atgK&nãM͔ a 쁲b^P-9Cē=@sr;ᩉWxLb_-M"O8v4 @fM2Jb1_GΉ4gaS.  C1|`^hMq\YLMl&25(+KWolubhmf?XWkJН` b 1`Re ACw`\%!5z\bac yqeb0>w`jJ#Fv0I*%}; rVlbDxB秩{."Fs :w6|~TmPp﹓M .lQ1 0 E钉8O@DYD2".K\Ŧ1O\1eɋ;q9\ޘCs%x R2l˵%dNMubAAsR/koqѡOsL8?#QC``p:hRDe{ QNm,on&Jo3H$'%$ uM@Dde\f]" -Ia>"ҠIV$[G;,;(³4: <6i06%E0 BJkB SꛒX3:7iYHS""$#䪤J)a0d6&!#@A Ex Q- Xˬ#zq`( ֤'{>']g#Di48[ZN)p)+1&E@*L(_#&Gn5 F wI JiHMV'S9DG(?M#lVP@<oJMYDQ (p:%un"/qM>ҺiW^ Vȏɉ#r>i/ u̡l~|M x:БmCwXbܦ#,؎AkI3 ;+1ܧ,Q,x\eΗD5Y@~pM*Mֲ$i%Q/s^\Ώ/mTuF`v:2BR! /ͷ uNkP" ؠ4RV*9/ >?,gsCJ&;%8F Z2Htv|ظ*܆H#E @Pe\ cb4[ aC=}{4]2Ȭ+99+^ !Ӹ]b3ƅJ:T\jri\{=L 'ɦ̠ Z479\-})M7DL52M*0#SC-e"jKvuE2YeYTY$s`n+k/HlIP.%H`khCFaQm >^uZ'ٿdj?ގ @Kw+Q%m|g᎐x"1,#e5!C]./y){x0w'1&l\GD91ͻ3xL&گ,}34`Uu`RO!6xF5;) zHak@L3^TMQ>=!F2gbYMd`i 3L:ۚ %p/5uy/y[il]޾NliZF5\?b|[fu` ha=Oh/nX`í孵Vx':pvd<k"=IK =:%qNy{Z|!pgś.k9Qzǡq-G[J`!bL/z<3]xIzWKY挽nw |}uNSu^u;䡻|RK{mq>Cw1a8BAhˁCiv9T>Ъ-Toܿ鵇q{e`ps%fӾg+"E;K~G6)٣WıSx|r ?/5:V1`aZ3#zuW[)Ti>zs\u-x{Dx3%~kJBzn:8cz]Lci-|a?|O-9}X~xG<.6]:w<u3ȇO~| T׸*-UZ#pӻb ڇ*4nLXt.f6|ocMTEz/wLs;rgU[[ "CP6;8hup;QVnjxƐWO ~v-nn_Ǯ hb7ZJB{]q ?cǞ{|1qt@6W6fS<D/ĈA)~i;]p]G [Z`ÿ8pcDžxh]]; 9*J Wi|ՑMyde0r] @kPoS]&„|c8egsV1&VT?P}e^?= gGne:2;]q2w45O,:pR7@TWս4FvH@i?(DY|xcJXU$pCΪw8Tޛ`yJX+4PWڄf .rBU+7q(RJQP`}7Pʄ`35U;&g[4`MwEzJX?.'6P+JɁPN!CJ vt^9Y0t5[ Tp0]n!#S[MMY/1510w#8_ȇDB?d ~U :4+mJ׸vȱ%E1G ij2G@W}]7on`Djn;k?xjFaD#{m>" m '{v)!ڎGI % dVD8n*=AtC:m~ɶڛh{kD߶+-{N@Xp_4  pf;{>~7P:.7mC9ʢzj7߈F6zϮZa,HW%}ǻg]yE48oWyc{ b.pº^d? ?=sov߼qqȲon\S;WxlDFC7f!݄dDhuھ??]:Nj7/n]AXp@ưP)o9$5ny_s菚o@p= 4>勮HU=h&ӍR"8o=C>c}Ph(s4hoFYOMH@oڶ $Z" b[7%$o)@pt}pZxPsUh@ r&0;twoo^G_u@. ^:}s6v`jg /Cv:\\,@Zt۳ں{u?Tz{:#A[UcnjrV7|}`$ bjlW8EOJݩAGqWk;ߛT) {5Y{wez0Ow6acU-ooOQ;hR0:\8,շi IoYߕD9A$A3KA^za' JIە C`%&ϡVEE~iᖻ{?frr;+&X `xjvmq5eu!tҝC^fpJg˯U0yy UD聧ozHrOc/o} V~r~| hp65a7 =4@uz"qPvk0<@2gLJm^w`z7+9y``&u2>O "\ "1+? 38ADjP$oopO VxOp>Vz(/q%CC#p>kRȯh D%#X~ [W>AD~M P'WW%<3s Enq?ڪ%P-KWgE:pW=Tqcu` =Ppa1l(/}.E{%}2'@?oM72F&|Wk,aJ΁ś+>ap48v1EXśuT>;[ܱo.֕9D 1P 0c_)+P?NEF Ѹ\m.Q] uwwZʈu[> ݴf{NAP tt2v#N~yֳƠCGXk[59bTjB5i@M3\b̉a8Ud1EI TKZ ;V^xɳaSN 2@o?Ή`G8:E;5k_DB^H- J<&&<AsByV z "QQz<- TXsΝ1~tޡ%`6&77Bce'{^$|*@5~&\n&G@8_KBPiCrۥ?;3ԺcJz^y?(^\ce6O/j?K+YХ\0u۸7ƛ獃lf+5M.HO;H~o5Q&Q9\QBL cK:5<.6:ZP-q"r@\Q0M!4QuH\ZduwQ.;r` R )(u(%Bc Eէ@t f %(? ?w^IE_`͓2 M!8ۏ~rFm轂+IEI~۱ل*PP wĝX.}Z tFu9c?H_n㏄}wWP-}qCd[ىņR:>W3WGǛs{ O-Z[gʓO=6ғxJ˖6벓'RP ug~DXQgy@BtDN%؅YhƐXƐ$zղ!B<W~h$7[eOtg@cMm 㻛oܘ{ ޮQ-xg'ZcL-~FuoЮ=yN"9]߫h=GUd&e>IH>|n1e_.s~X_v}K\]:Z{@$P|ʬ\lyhV˭H껦+3 ZуSO?0qK|e@gytLLjۭN ?1M?]sɓUmp}mG EӒC8aB!ʑӚ1}IP(9!|ჷ:/up I H?NhM rͭӷ,*s]F6+2N=UQ%o',cojuyPk*8 5c"xR=m|Ei{sIMQ7A)䆖o*hdP% 00dp ~o.BR2&Fy?u@6MocFG7 ]SEBd#,g``R };NN`eOS,LFYgpEL:e8PXZy &}G u.W}RVAZCp ZU_J\TB^K$~ljDtAl2eKlс. `J_B?M  7ǁ8P @|(q>ǁ8P @|(q>ǁ8P @|/Bq/;"RqhTτFPY*7/H3yk9q 55Hy̷p29$@W {<(`ǿYF_3Ik`i$1lP@giV)H{ 0BaUk{2b`;H3[j_ 罢77QLu)˶V>e7L+P9\f>ghkfgm״Ȉ]cْ"H| Y(۔<٧o:e[ S~ʯh,z M}~Lϴ.^T~SI =t6ǖ_SlI= 7:0z;L}<fkO6KٴI  *5 ʿ̦[@iTt> ȵQk0@۟o[=U4wJ@#7MzS@+@i# 7%lJzf ;d[cQeVP4mM@X6ws{H"vUzͺ{=d˝4aKPn \|D[Ta\ =6֟m*EM@ffok= @,&%%9|X"gHtP, 6%Kx,MK4~N6GgJyARY/G}M:t wƏCzS'kŰif:ED&/s ; A^u+>[##^u!  mnGAe_¼vp\@cƻ'p<@H(A)'Blw7xK0>߻NDO@H>+@PP |< fӆ @h֠&ݦڦ'nɸC`"I̅%";HV@Er AOfDD8 Z(xE-ڎW:j՜3g>vթλ!WkrOzuzyT}Me3GMqt6Z-dR41RHu;@:ǨH.1k-Ov`ӆ/M?]م8LAB#plBVJQUqڄX}eA=lTlyiv>)fvQ;ULΪ ec)X౔Vx(}-(v>6vĽ^@LۓUb}y`z# W\;p1MUA= @9?( Ц۷:3wŮhs witiF{ 5^kt_4s)Jߝ2K*.TXX _H'+Ei6C͓^2ӕHpAzC#jLQZzψ0ۧɥ1߉~(z5髡%v OmIKL U)GnOoֶB^ߗ?V'&ǎP4MU4y=J`Gc),,Vsy$o4_Εމ>$R5ufDƝ<>ICyWA:jbX}/VTe(17,w^১9kR|j8fU3ieҙ)}Hxl|?T^P4xd>o}/7bd<ilփXxtbu^]Gzn|X9`5jaOȚP]Hq HR\t&LPxBO' Ks};y;tPQS^|` .%urjGp~ܠ4 \&?+.U Ke3~XT֦25C'&n<4laEP?yx`Q o=i ?ʷ>++ג&ϒ_(0B?H'|Po?4օ}Q]E8lMby70'ɓh^hѥY,(NP4I?d#qfWh87xevXa+ 8k|Y>Zr#9,\"Vmy>o`vh!f;8mC%y%s ִŞ )|>|6E9GVrRHkm~/ B*|6f0Cȩ/MkfS)*x c<<5\@emxqs!8}\lسr9@L >HqC/J#I~Dq}6@)b#].#J\f8|AHͤTcIEB@%xt5 B`q g (IGt+G8r\Gbr5;rb׵7dɠ8٤`SNբS1g[F{L0lkES'?>bvAHO5ͅ5e( V2#y7O%YC]0++''[ʥ*JCp7l-L ]6Է$+ʈ?']ʙ,.:u7R9[ޗʼͻQ{` ?p &̅< Z}| pZ4ǻy5JF-IC͆zv}@t;S#اmh=T< *,)p[,qO8$=+y9r.Q@?BWO(=+So. AICuM<ȆM]ϋSU40'C"}T)}TF@Q.۾Dg-NR=_/]\ !oGT $!ڻB^$i,fEo7ļHhd1[Wwl4BwT4/4Xê# ٝm B5CdT8;mjE[u[uEz-(BEz8JC9uN!BɖfVw%[\ +՛%D y6$ xΟAȥeI2r!Es Gg- WT%v 5?fqOk هoudV[3wv?j=(*Py#SfkdX.ٌ#o])[s+"۳Cƫϟ1Pxx`&P>3ADg&KiH U9@$=RM,?ň iN /o=h)D<}*JCA"`%D?{ų'H;BpM'A0gE&FnMy(Vk],UrcU;K1OF?pq畋_?f-Ck<{,Aȅh\Hv 5'EQl}%IF„T)ќ:VEYΛ_1|'/LBWinF3W욐c`DP8cpC""p BQI%Q7kF.?1AV`:yi ,`ͺg\!(tD(Gd , >!m8#y@~7"Kv\) 0F_3w%{5뜽qV,b6!~c‚bHzAtS1!3`݊9q%'-0/n. с8{#9%C䴜J(_b;(+ugCܵGZ?f "j^O>Jx8'! GYŐ66x-p+qADg?@@r'RgXPQo*To.K0_mΞF)B z m!DC\`sΎȯ=pn ~9% A>?!O腦RH (?ݝ"K(XC,?m&uw(A+:tCp l]tv +Pn\niF!y'mpM' Αօz ovpg_格-1_>˂!qV@Lr ({榿R +tː[wWvi6}цtx?y 8a†.@$  ?+|{ 7>E_h;L9+AHYҪC0`)uigmhH(in™c;AH) )TCIp߼+&p F oGVt!`CZfq=,,.͵n60#\GZw>XV`+!k=+,@1bG4"F įGdu=|> 3 Ro()$b #umC HV].MH>C,؂b|zx{dCփbLlAl`N c](Km;:XIpIQ"s‹Ç8+GCun|@= C JppBZ8 rWhARh,16.bA1j.hbg )3!Jp~b7~3i}d ϼSwk_p&:5xd9:S+ 2bխLrI/}{<ҭPSNxI5+?~w!/'q _X/1*ݣkɎ<7âkK.7u1JN;Kml4q%IDU@Ȍ} Ekc~x%Ȧ|'W5o_2Aˢg*@$jw ւK33."{A1U 9HKG3Snz5tvƷ%0tFSvgg/nŐ@`8CABV}b,-IBڷ#V1$qWD2TRo}g7`Jʃc E$^M߶?|sFuo9eU3 ڐjqKT A@'jºFYlK/7Yhl->T}(vKGV "댰wTO2Ī>r:ɨآ0ItƴZ,SxȧC9NM;aP.#;-j6x޺8g<)@MMM0P3J۾Q2Mz2/6xK6]wؾ` SpVe(ȆMG~'Qwy~Y~sW4c\zYY|e.no }!fsY^!v|[ xb ) 9PhZLɼld: \T 2pgR5QC*jI2n-նEU JɳsQCTAi!ARM z[ ڍ|@泪ZMبv:Nx$^7uT:|$iN*]hrϪxdG O[1 P3(Vl౲W`ݒ/Vێu*~cjUmdQT}>޸ lDr8ffÐbH||Cؼ Ԉb[ CHH}*UXŐ kWIaiߌ'!&$ .+" 8bȏ.rqT~*xfw[+|,AD)mQȿ*?W)@* oz5 "CCP$ 0!7+E*ʢICEç$_1r{saCޭ+ ֤5b}I y&Xt*l r %!GN=?V? WaIč^wkS,AD[ wh1w* X78/ DEgȽ}?u>yB2#>*L/D1SiV17¨.68M#p1 B-R Ur&ITZ)TAݍʫ2 CC4$ fwMѨwC lݜ <ܦpGS+͔7xGx+e5kX.@aʑP5Jhw%ti׉FѸ'3ɽʈbW/dOu1DA+ƒ@M?qA1%Lult,E^p CT^pOqD'!^@CrC}Fe3?Z*: ACyt:%17DkKp}fCKu~].ۣ L:~ %Drʬ2z4L$pct^3D|6j`CZP (SD|/@(oz L XS$uz3jXT"ޡÕ2!e0!|f7\R( X:J̯ =Q a5&#ݝ˿"SOF~:&@Jnҡ4 "o@s1_[DB& 8^*IT%hjz.X?.R ? pUYrϛ'U߈AJo+9as Bx$o&9 ߉(po߅)ZvNxv ӎkޫbQsq`,~C<A1s`Os* ~E䜌Wsµ;svImdX=BFϸ f얏nQm~v0a'ߛN IzZwz瑻t[p( p2c1"@!xnb֋DЁgʅ>B0!: lxԊ Goo-;rGs8A VIU]o}C1|V#AfB,`l`L4B:sk;(?8PW!H >sC Cm))17UпCV7!A'W*P*ި֞P2  "!Dx>mXĠĐAN֔02> P0'1Ġ%+a{(b]01M+A{vguCjKPzx k:/Κpr=nx+u:|aO5цU5b*;ʗ헆22U>t|Bli0aqTr /W(1kvbE8<ˡJHõdT1ȯR7 FF w:֚&DmCCw!JQX76sOʶmm?{{b[k' [ƋS?]81$ [13"vjcz5s壦}\Q!~C4yR.y <?|U٭<._Kԓ}WK3xIENDB`homebank-5.3.2/doc/images/dlg-prefs8.png0000644000175000017500000003233613604616712014736 00000000000000PNG  IHDRmMs&PLTE57M浤Ȭ.46´Pķވݛ멹ºⱠv[ۼxvxȳڧɓ<䞍x̓ж^\j摜ȝȡͺØh|oճᑦʍõ͸AŹlѾƫlktsvʼym~hS~{ҬEқ뎈sn0v#DmQ|xk|jgcu4ߚi]Gν⾘vK˨SSa}[l\[Z|ӯWWWU޵Os̠q纙wEEIؾܸ}|[(IlמD<խVoMTdvCӘ{(L1IDATx @wp"M `s H p%"W9p -r A9hՂRuzjzhkmm@@Qߖ8#f%%ςAW>1xyS<+3c6#+Y16_O #P{z)z.,#:̰$@V x<̶dAi <^8C<~(GNBnDX8ȶz/WG{ǺG9vgfq-b,IT3G *&prJR誴@{#~'p"mČ7"ȑ%[-\+B8xQ!t d{gmf4s坘`0Н>ea|x{bdva 71 9{KϖvUKSg7u8j˴x[ۢY|j4D.lKg}Oow8yn8T`^h=jiQLLѬPuhffZ[-sô3k}k>!Thbl` g&;{~LTG,=EM"DJK|2R9!k3&{4yeٓ#>C|a\%K 5:{_h[qy)s?z_{MtXmhjZCo.[2o.{4}{eϬ=]eYm266HM#SnѶmk~nDF"cڷ""i?suzivVj߯.f; >P[ӓ&V+!SnS"#z Ts䧏ڟ# 󴟾?ZqfLXǍq Z=$#F*M}M!;Р=M[|ho;OXe˖-<6д? F~lo c^8-y{=r ڒ$imIN#ϼ6L{ř׾ ~fڴQM6VHe[P0%2hǽ7eڟW?g5#ƉDښIqoeVc[k.]݉Xxm;;Gkgmjʕן@RytԦX{m{k >]>Ͽn[i0NVyN֨l6O_哯n J_ :Pr|\tӵOb,2+םz|mA|:8}/ V?Om>V{ᛲGmI5~qބbo 7$ !#L "$tZ!fI{ŵy"ziy=Y.ٲáJm8ϗ&ʴs&f?ְv]Kήe]u3vi^9/\yP{⌷Mbf.ah+L3DZpKKpsIN2|ڼyR۠jzn nPx8o 7ζϩm&ԨDR(\2-!\d)0 Dj> +|tLWmzꩂg֭Qף\}Kҭˣ6={G^^PU{ :Zz􋷦J@$(ND“ON$(iD%ob[QQSMR|04;o&zzr*=%fcX&m[&XOv敇!Oxd s 0t&Kxt+xRٖfc2۽<ʽh3TFfORJ]SI{=[;= L.K,v=i}/ >(J1Q왺{VkI7ovvy9 zi[_fh[CEW<oqWكע_a}oNJR׶zm<(XbPéY]](w \7ZW[a_ʭ=WtZ-wo%?}yS~x엷4і}|+:jO0%7{kdD{CeUm7%"*nғ{N k7o,.¿ӼQ<}epΓ;.obbЀ?+dڵƕ1 a$`(qDzgDeҎ@p~k[`G(#ǭ*÷ͼ!FSf c|DUa9n%9'h6ܝ |dp慵TM*z IjtޟXAv!>P"#x< U'I$Ѡk)V/M;łg^`Ud!Z2=eE4f\ k[4Z͋ig藜N0-RQR%EKi3$>:*82?&D-=eTşA[##$N{Bm1'DQkScb=.~8Z*hH'M#q)V{Se,~dmFyBwF瘣k̬p#xt˽",}dz_{x{4SJž=i8ڝdܕ3#rU-k£Gk&Zwq+=_/R %7`=&QHX+cGb>ryS`vOGTYѵo]b`cJ6qdS"x*ݪnjb{D]_ 3tRǡxvbJi7u;Qfuaӗu/ec7Z];V2*)! KQ>v!pQRv$Ge!Vƞm3*&4's,DAa=JRymfl_k{}LW{22wIoO0. {{l% 4M?Y՝^AB[^;[ cjغ1)ǣ}dK*tWemM~\lt͹ddШx,*qyjd#mFH3n&~d%C۰xQz}#ydTKݺ/jSשN n.EG~/EJk-8Ysٕ' QCW7Q&{%+:-ё8)U'떟̼LeJ=vw\ͧD^[ȩ6G[X[H5H`/fOFl]Q^KkL;65FQ7栊ɓd&ۮ~z+R[nj:߷萴{Y\f-nsj#Du׭|6^$}eڛH,z;غI 2~kJI?teA^qVO^@V"j,"m6&AuJc># QNlCt$ l0aFht Ɓ%(:| a*̅JEpQ^Bf?hVvt<6# fe6T9N NH(Hi5kcnxqe^5%gJ|޻E]eOնt"Г]{vYLލ|(y6be#1uLu=`BzyRP{tlZx:fa m+r+k|'NxqKhݥJ5KW8Dɲݗ8 0(8 4=Y붑KXDs0=g~fj)3RMmxffz5!#3/L5 qxE}7xKeY) "eFщ&*v}#>ZRTux@Ig'3!('n6*Vjc3NԟX 1o%\K@X4:s j>*j:3/>}HwH> 6J̵(v\ƌVYp!+6vWqͩ*uf FER\c6<:ˣQگH Z,0@ILLvWzg;ryݒRC6ћ1ӞQ[~ۓtmx r'gYE ɍ(dV&B'?MWlW_P/9ǚ?0XcwƣuJi3<ٜ5svSX0(x܋ (Jr]nlAoYj,zT*;Ac]";_=a#ql87ƺ#Н#x3w+U?2xؒ\^DD$JYi_G!wDC4\wZ10 »u crk9eD)e_+3`R@V|ʶcR49dU8|9T6&ޡXj.s8awFwzh۱S)-׭pb7[5כz9ICWNޅ N%[}̤y%Wm%)^N%qoHٗ'DΆiAɺC;mMpc#a>QhX Wd-Ԙr"A{]B;)kCar_;XJ? ,&l^Z W)qh)GS֓l]`SU&_O]_UwqvrAuǞXwZcڽSXb1 ۈu[?`- 5%pB+}Wԍ3j 5oA5Es6<DA{ZWNr޹#--9nSAOtkG^s/;8wO]h=I5q PsFlmVsqMNWDx͌$)פ>N>`mY w`ՍV.1b[j7iRj2ÕI چom3Hhq0Q)6;X6ݎHz:6Eݩ7$YV#АV-W+U*MэJmL5Cw- JŶJq^[)e)gS{ VkEՍ2o;CGۘ$Ϣj 2JTWS oQ$݌n&!a<3|9b${/<=`GSMO m Xp5MsuUO+'NW'[#-qLPJ+5. "Mv[|$+V~MH h 0>Wh8wxq݌\L{''pQunSMuÒ 1,?m@~FisW<`'Y f߫EPKw(ࡑpezʕtbJHT!\Q.yE9"JD'NոvB;D|a#t)ߴN[$,WSb$:Vfnő $i[k{L1X?0RnkT5/vjgܻ5 )358G(W|G$D$#~?h ,wvs5 S;$>oK2Ki/Z,<ބ@ ܟ>ڿi=NВPJ\x# `Վ?_bFTW\+ ,zz3r,Q=_CU[qP2%s pEczt>w V& x]xӴ#+**̭&!ɣ'NX@ 6U^jOs_?ߌP{"Ӧ|>Ǩ[P{ߏ?Ai }jO6W [NfbBA׾hِ4toFg ~!mʯ7v1՝#Z$HЙ&i^L/ Pv^7Pdֶ!J<p*߇RA[g\P=#XChJغtu(կǮS(g@ytY{ v֜I9 @%1$/(þO*Qt )Yxn]=HFeZTأ3I[*HKɯ ]g\D}ϸHȼuU zƽV'L^m5章aH`)py[<ƌ {:<7hWg4X0X+*YD,}U?&dVŽ?u"lyLc-w|M޷,6(yXkY}_8YOEٜ9O8R(oކW%7olq-W\~~pd̵lךYܺu뀥e 7^¡" oG lq^K6fN%)JJ´8۫ |%LjtT8uud= Z90Sd7~`1$3rڬOOH SqĵJ {FtUn` trz]l7WbCMQWSWBPSR{gٻ_繱iv%ubmNt(ӯM4^Ym)DāCWYn?Z06-uXX%=R 5dÁunhRbP,NLұXwaDXպ>w;:*'L㓟Qz N e7"mllR&sEdcI 2plo3,Ԩx@0U&.Tp ^6 ü!ev89GFKIyʟ'63j8yQmj`&sNIͧ! ba8 'J9_5RXۺŽ:v=žqV*VI=.Iu ¤UҒ/q[sio=AAX%D2B6$3KH0i[8cxE 5W\R&- U3cwv,p;dKy¤HĠXpI,A]{Y_bvDbo'G^E=qSOSdo8?qghov~ܺM-شG9!}wDL*wփ[ 6ֵmf=lL+mW~యcS}#? ٰR}lT1otl~OIuPƖn%~=$!{?,myov"$[$u79Ϯ=;gQ&XƑLsQi_7jGJ[R^e8 s B%9o"ss:0wCҸ|֮]뙙g w݋80TTl^f1-ȍ [#-YCe^*% 'v uŦOR{3]{bmacmmEt2-Ł`j;ڀHLl.ݨ``5q{ xfuuh ыdy}h0/2dʴSFu[q )B6k!aT vmCO%ĝ@6-6bGTq ixAC}kkP^Nb<%~a|+uX2 'JN9w6# b~i/.b=-#֩.+WpBx&"!rnee%}`t''I_v9tzlbD*sLI[Z8ҽK5zvm`R'd":&ά =^b]ec8?/ ]I[yv۽uAo SM zDFz/T 6zE /'[ a#sNnɐR5{qI7B}MŸ{7953`!">> ;©ͻ3_aΜwdyTW8$؃e;>wڞo`9H\mp VR5 W5olαw^6A#|]fN|TX>g))CFE/W[1SM ꎎ*KA;^{ ]6%kbhoO|~):|s?q筕+W…6zlO6<PRKEUQ농 cSZ)T{%h?ehknJ8;ϤʹP|9aA(֙S,h mYm'4lqwQ9j9cO FQX0hضC4lkSVsm)rtt V@/S]@Tv&(k#+i鑉*c5jk 7X$SqL<9dBV"0qA"7A&j¨ ]j;HVCG@缐L2D;%xk˪wR Lp,w̙Zm<Huj۠UےAΘA>w\mӷ ͡MUS\Άd+tBIhoiqwFnNl[lt}N~&N@oPQh;_Ys6 w+ɱq~nn#6 zgܺ͌=^큈pjCb7tBu%{Aqɪ⎀ܦMD;PjxWB[y.:egsXr{Mn&'kNõR%;흡;a19C=v^cf?lוmۄk%1nNFVGLݴۓyP |OjG ⎁9Ii9U@% 0>PN{_2i:tɴu[a 5'/ܐ,0Lt vweYL{C?Q_{ڵ'qk['9; )UM2A9KqkAH׍n' &dqWC'S(>\ۼ|+F.nR ke񨍁HV0Ȫ _fp}ʸtKS}#_>ۗŘJ푀Z ǫ g3݌q,bǿ}}0A&u_rRwȹd֞O|CVT]2+j#fP?" 3!nW<#SNT#]gs#ܝOY˾/59NyrZm-y(˭CV<7|rNv\DoMRs8 j"`Q)7zk8(/ v6#ew*Q>a8>p:@\W@Es( T~ҽ;H T^X[?S@ j)>Q3~ǣߖkV+ ]Ef}[\/Ώ_<+z笱Ys}2u2)RmMUc:ea{9k.s8PƽړQإ寿|6;Y5~PM1$`Tv-9 jOJ $33c{8;wZQ"AwET ;];+@f#;Q`'J˹];—wi3>/Ѓa_j㘠-峖;P{)ڒF6J~̗ K!ѹ\AȬ.e)Qtḭ 7߹s#ވd%Att`Hǩb8S 6ԆPjCm a6ԆPjCm 6ԆPjCm a6ԆPjCm 6ԆPjCm a6ԆPjCm 6 ԆPjCm 6ԆPjCm 6 ԆPjCm 6ԆPjCm 6 ԆPjCm 6ԆPjCm 6 ԆPjCm 6ԆPjCm 6ԆPjCm 6ԆP{kjOm¡!Muf^Oc!||M.>>ė 8;&,H^`ٰjh&mU"Q.J 8,%uA[ws(K]p,^2,@/wY|(s/H~gYZ5LmL[~U]K.i̜-( e@^%-8K#ڸʍ/9Xc?zD{K2) ʢޜr)eThFkh{nT*;:zY=$04uW:Vǻ+С>6'^p8ށWǙ vfm\Խꦹ&-~~m\sKkL(܂%౏j2Ms7T6'oIvx6i7'T4]pvh]`1[S"7Ukh cpǑ}NiZ{JIhk&ɦ@ڤ٢. =WvGv`8ky04z5): k*{W=5u7 W0Y}h+2+w`DU:dn+Vd Ci-.r,>V'7' ΊNm\0By3LsI}\eg%gO]p8$NV-s'e .8;U.2[' .8;?}>>* zO.zt//If.ltYd_pVtH> i/}h@!kYIENDB`homebank-5.3.2/doc/images/dlg-xferselection.png0000644000175000017500000003533513604616712016403 00000000000000PNG  IHDR1PLTEyUH̼򮧤óogͽʧҤןҞ橚ҽúܷпýœޗƶĮƿķ˳Ⱥ޺祤ݳѴ˱↙ԵϾɶxӡ⏻ԢպpqԪâΩ­̹Ȣ|\OӶfzΟߴƠq吓٤ۗݮ<ݠwбݦ~jbd׿Ax{ͮްQ\zgڎenF~Sw‚gRLRɏG IDATxP V:(5Q/7d$yFXB $GCE FCID8)`n4#蜶n-y:~՞޼n=oj/JG'>xeą5{<{+ş'k7:)g:%~KLJ\+$dCp ε~W6G/[y؟q>Àa*(|8Ҝf󭄆Ϫlޝ>ug3urf ?`''O?ϴ>+|8/]p0O|u|3Sk0Î wnLI v/*6 ~vs/44R蚉' 3ʉs-C^J9m` g`n9l[ʄc05-,*5|QZcZ2R*;0U!MI;Z o,>i\)-d +z c&F-h3`Mj7kïe RdWd`z1v,-aVC8g?fWVYx4 Lp@M-i؍2F 3H#XW6+sfaEz9!W":pSȡnɮ֪͝5< 2 6ֳ;_gS%Lhtƍ1C #j f7% &LKl:vz V #E2P+葼yTYQqDl* ^Pӻeh"j{KuG^^Br(Cψ_hq:MLn!aȀh5ftu)_ANyw\:Z)J96s].*}wd FH~X>=F?ܳȁNI1wAXr`g7Xް5u5"G@U;8 `CƠ!:tGi 2%=l1vTS~{~{$D)cMLk(a[l:~7.E Β1  ]vp!e"%"D >$ wjN+Q<B&V`.Ȏ6QXeeX+ölc hr=Xa] no :{KT3EF ~{WC7yK$|2VMϒa>7_Q+Vf'῁hydOJqb$ޅ~I;3VڔXlb{*>bWVR !`xOG?2CTT)][*  |M%VƘ&TL9b1G\qG='Niir]K{Y6SgDRsA&@:(r~&R Tϕlv9e]-H.lR)XUysm=nY<{F˻|VoûÏ \_.^"|Źxy| ;σ3?I˃"|ZCCFV?"*aybQgB@,*!"Y)PH$q۟}r>! 9U ,PI$?cI3Οpg_9&}Qt7BEboʅ:GU_6&]V6|ٞRSeɛi6*mEsgX޻8|REcaìݏM?4d1޸{ngzeđfޡ2cbO1%8aLZlD0b-6]?K8VHlu ܗbhe!Ȉ̉_>A$"2i`I5Rxp7SbSWD$TT[.@P I`N.J2ҳ^~jt4؈bK1S|"pHl*9A+&HKӅbN⋋y\}N֑# ѡܮo?2>|:'|E8qN݅$_+'&}_tۮ[8>7$`P.Qs6-uƢkQg7}# tɴhc#صUWwlG#SO:t̹A#Y? &uYݻC/鉮]_R:0q{}^!wy|v:SxOݬ6 dUQ~v9&<F$ R%(Qa<  bǢ:d *zx=,g samִ%\?彷ow/3;|(jɧF+T1C'Y"nS#NkonqòdAUobc.~ Ͻ;ew 6?{鮦Uvgn%wY7"uc=O=닦F48(;!!A+z Q)JH=mzޭ_;M]|Bws|3dOyQ^O6F^1X\Slz֎m!C1תV?ʡHgM*jV1x+}Q@=yR~[^t0}j{nn"}>},Oʃ++]"73$aI /+3$ r>߄U]M2$!%!iSK;c{-57~)7# JZ ?ʓ'oP+ s?x;_b>-TIY $* rq>IG/99n-=p`,?3d M/3=Iv~˟񝢩^2%Lh{ ITxhPe`Go2M[~,F. j"- )- ɓ|`Ճ$GHrcmܳ==<'{N>-`z D+Pn[TʭD$` m'-FW] ~yL5AĞË%Jy<N ۛ-~vs\yƢU{$LA|X >34w~۷Ξ+={/1 )yX/ || @>| @>| @>| @>||A>lU`CWM1xsn4 `:IeBaؚ{8b?TT) J_ #b~CN𣆎6x 3{{_h :FGO#B+. 'w:V5yքՖq3%,,~"v&P<]E)Sڣ0)R.KuVSH e:}8$65oRC_xhC6/ 74\Ո5iX‹GuK ͆ C(,{/">0Rd}}FQҭ4uB3N KXRЭ+5Cƕ۹֐sD±n{95uCNf߆}ͧA5nk Yڐ.Ļ;1_ev5 6GIjb<އ2> eiGGSu4>6,cXSV}aAXQEoW5O;S-:A0|:;A0p P 1vLFGnqSژFry*m<@mXiozkk}:_ t6#0prˤ}۫LGrfľ<v.N&\0~[#C-{0A li4{|L6Gv<+Zۙ#8pH .UaO+(&b0+PL\A>6ã3"W @NcsPV38Sx,pGTYx"l/E{dq4Z+V'iS/c ϋBϕuI%i+1e*rX k|UR~{YvYeeuI=$[[vpWW8lW`LA>6S p| D8m>q8`xB\`_m0:`h<2:-Nmu2Xɖ+6k9g97ul2?7sf~5E';w2ű-\v"8?-jtG[\AVPA񲦑'OFY0ݳ쉚@G<; 3_H'hBo} n?X3Ǜ?1^M L]ǕnmӇ ),pN[Z@y+xOEYIcK'f}n"M4{/ÿ4 :Ihĕ($nEK FlvmL>}MZ_MЗ{}3 Vۛ1|w~p&`I1fS\a:G#]rmG Q+Na4*2?' xQ-ѽkT<[qwa/>&<ɋL Am%0N!@ק˩LjyӯiRXZ,%ELCoi–.M'+6?!2}!W^ܶx8<̟xg'Oj߯0<,!VyA n\ 7R̐Ŷr{5z(ٚ{2ȃ;2Ǽ΋rmVۧ{R6^_PBtp/B?;t>,!y Z?,Ii5Mܠg}sy[|f[/nPf#ժz=] %7Yro4?>UOKE3&C:#L֑|9э>‰ڌ3h"ڼ81I)n уn(#ྋRq](1yo߂1f6Ԯޏ6?/yciKҫ.Vg~ص]-UL :O/o]k/$u(akءe>-S-/¤osS ,]C淝DY,v?i͹S~w۶u+Ome;BX]#۽]x/p&I`iikV F as_K6Ɂ趝$FWw)Z>w:ݩ>|cɯa kXְ5a kX~φooa/;_pS,߹o-v9=h̓oC>vg>tph|h6~j O| wIaׯ`mwU={[ ~?>vt^@oe{H32$xxu}̕@ }U:Z7# t$ :u%v,UT }5T*γT!vX$ I"%9[B۫taԢ/J6^#(~Rޡ񜗲3NP rp\fP3uIR~MѦG2>T(ڋ{0:oխ,D2%h:fe'h{YEe'wY0ԭHA,y4D{tt^ߺ)kV=0sSw64Y a=Q*s9NcIڊ%x2 1tǿn akGeoӏS3 G;~47FihUhd6bH&M;v4Z݉5 ogn(^vap4FhD,@M%g?@)X__l!1 B%H8+Q)JXXIO)pj{7=;t8Lw_@(›o޾7E(*FPQ'g? @ʁA1[h6 :CTDM ea6Vqr+bGA[jc2q[6XBXL 8vQ\gS3T`͞P#:@qBL[ np8qHF=g7t8qҦoXʖD՛༯b} <0#Z0\ΟVAˇ__pIƇEK[V;[|eRxu$Spg1-E,ZP‚_䃃w|OS'`%`û~ {_OHNxkLֆ* D4!4+*DG&9᫨ϰ  ? Щ&F8 > ڧ_!$+Kam7K̳X%D[iFft6To4 /XguvK9\%sƈ D*m%W+쓤aSueC9jw?GEah1džPpB0ia̞aH`50P٠lOJx~c!x4;|a+Q,IDAT ࡅ|7:a5`8A˘"&ThSȞ6slLt(aFE!5B H@Tr0:UٙQ>؞Q}E^u h A4/"|ݍj)ƝJ3/!Sh:/y?j.r%_tjIO31qw "EKCq$_1/cF Ɲ:K;1ÛkC,#>2t5_FCV)pjUeF>WuS 9c||T'dZzaLqs^!NpZ y\;qNfVl:bsP,]ߠLʇ#_oF?X:Br_ *-OVv㬭X8^=U:R-mΝAOu0|ʽT4 FN3]!hǏop[[30y: pK^U6 L2w,~mM~.YTtz`].gm)nZQg{C~55Hf|[/.4Ӳd4ٯ졶U:Pt]ߑ'z&EɅWpK79\sl8kh)[!}0xuh͘ ?z}rdP; v@ bˀb0MQ5"D!G=FGL 0܏z4c xMP,< MܰuA > (w=é@$Ҙ\X;&H}AGi0dGx Z3M*f.hrL j c«xQ9MU7HX1=BX:\6yP\ 熊{w5a-~-ZH!K/!;`>C[DhT-bIҖZPZjp*.7ӗwПa${{BW)ɐU3FgΒO=@.ydd.٣d9j 'ĖkFg ĈpW|w1e_u܌9? .S論~5()?| K>oW>Ȭ6ouxb+APHdB+ 㧯{v~8v|d |0}~;N޻3=7λzL. mͱ_~Ud$G;2Љ<9 WcJK/Jk2e2gŬ #[&_vu !.oP kt.1M>Qn ^/cǟ|A}Lgb}ЯzF}LiǗxSf`rG.RH7 ^ Z^q]-P)l8U(z)h`YzR8y坊R7/ x[K6 mtty~< >')4ޮdV; *NEÎ- ERe;S|-=O#૸ǿg ߁p!P39yl}ԐuOpۇȩ5Z | p?_YS r|s DȖ;g7JztM^qmqSA(%38n%O'%:F$ʷ77~ ŋC~sE_-3*LJ'b}RY6}<9ŊRƊ&q?7^gE5~=(坒_IJly͆X2rي&| =7 pO /_z(ܗ@I1fGYéV  i^yCYI}6K~fI(` J  QBõO(b0ȊT24 AU#լAMgQDLjbaV4GF(wFQL!P*$vxqkTg0DS֭dBkW)>JWmU;.r[uB6f&w[$]Mҵdۆ5.ҫYItzܬ=ܾ l)=d)F /9wC ) Gxt7(0@H!:yioDZT˯tؑw~7¼bYxn.ḋwJ·8m#n2=o45R(ĎkS/+ Q\֤$5|E|(E/v$HXMOk#SܩO7e_LISH=Rty=:/B}!p(|ܐu!&|273?:xZ3 TB /^Ha'Zv-X݀Dx]P#SB;vkhl-yѦv)~Õ0#ǒ9nD996 _t>Cl'_xWmՌ7炙G̚|(zևnJ怐N]׷d$\j}2vOxX~QWM\˞/KMT[#ЅUe{f{$.[ŔS7s:/dUlז3mK_/'e]ܴi3s 1)hNÓ9ƹZmMAlWM){K}*QRS2Gueڰ>te9x2<2’E f‚0 p|:3%Xf*vGH N>6`LxzzXB؇;=`rb94pȌ񒀑g3$A2},l1glAe_[n|̇-kN{趆CχMر7YmӜWx˺\J껠*d_@\V,JeYqY瞺XlY'3mnm߰>zGF?۵~)F$stpuQa+NjKW_dz0\9F{#3<%|s¡Zm (^^hMc zio/XtQ 0om1R*ٞga`_Te/gsvų{O%g%WoKOTe(ue&sxi|f` ya ޛ#7w}VanMZ`DE@Cz9?g&$Eiet-S4>fZsGD!Ӹ+MŒ3M^l`ؾRxQM\_CchjuU\- $ôXlo{ܵJ +eit++c$贌0a,RjW[ŁĴhJX:cuf R tc".3sbܻ*tzUBkK{󴚢FU/ uiФGng8`Q>r]/j;:w.)WQ'?mu{C~ߢc-xWLV>F]^O趡?ٮ:ZTEU8=nsG3: -L5.pZ-seŽ8ϿYOs⻆ǬQvLJ; Ϲ}73stslfg]3elWltQ.[OW44w$]+ߩ,þT.=pǑPl7;69/4,"fc}Ý2}!{$<\q ^|~#'3׊>_Vf2 -`/`u2_k뭰9wܭp4;m.Yt] 緤|1ߞ:6*_c4'D̥2U5gLoiMg2k^Qs)EORjTC!s:UAj]nkV-.:|!wώ]oiȭG^`Gf}S.W64'Mhg %"$%gCQ(9vJ`-: <8RIL=n0~CLY>x5&D%s`ȓIfϋN:Ts JC=^fv)%"-2uBߗUOcp+??u3|M ?(Bw)-LPX\򧇽xЗ>H{_DEg|<gaB/ y|(ʇ@(C|ȤL)ԏX) @ #|\'o.F. 7LjDr/$N #N"b% 2H `# HrⰂibAL CN` CN9,$ʧ|:Pԕς'|:= ۊ*ֳGuoI1taP>=otj=1-Wo'5f|Xkį5nto?0. Nli- /?jGR֫03,YWV9hϣYH+֥ۖ3W'җBǖ̋JM>8g4~)'ذC)9͊iy4{Kƌ P>ǢfO u-U)k4R$ͼ^)m,xO5n^>Ώ"(E4) ?8<839GBSX>8PH ?`sę!p0Sc"1p_|1LXYFg!F0'}!(B9p[嬯IENDB`homebank-5.3.2/doc/images/pm-transfer.png0000644000175000017500000000110313604617136015206 00000000000000PNG  IHDR(-S PLTELiqzA[q9u1oXBY_bh]ZmkkM;v:t0HQCLA;vMN_^MWTTNH e(h)a#@}ODGSTJ[dml1szx>w5!R39CW~kԒu}Χӯճud7tRNS<Qf ,!!PRaee HfhL": ՘̗ 15|9xoy$Rnq^6``*jb a0*(m F;'=O1k x(W\;IENDB`homebank-5.3.2/doc/images/pm-ccard.png0000644000175000017500000000066413604617136014451 00000000000000PNG  IHDR(-SPLTELiq((')((ꌌ'''"""##"aɌ~҇֒ڔۘܜ޲@@tRNS03QIDATxڝW@ufwQ'!Ds?&RC(=|Wr-sܰB`xVt]W^.Gd@x? y -N;=|[Hrڵf;C<$\ .HQJ몪:/  {6F&IENDB`homebank-5.3.2/doc/images/win-trendtime1.png0000644000175000017500000005644713604616712015643 00000000000000PNG  IHDR*PLTE5~yUH3c1˵Ϲ옔¾۽տ̑qg񺢏࢓ܩvʉЧվ9בΧѹƵƲӱêɤɑ@ݏ鮉˻ʹ߱㙢ͨ﯎̪÷ϥϝ屢Ś籓ٺҶ巯†8ڥӞrsyĘM£jfm-35yְɰ㩘_X\}g{ΑyjҾϵlvߡt^pyPٸ@DFhbW^sˎxy^ozhhtѕRqçhT YIDATx\SWޘ! U@iyX!B!=d ,jYkkv}ܛ`;r|syEeN  PfT id.j-Y1Q`YjR 5*I@,+` ā*ɿ^{eBI@rk s"$U5*s" /j;"ee92VU4[ Ct$X%#Ѫ`syy9.PF@ $,a LB_9s&7mAh/+x% FK%#4)"z7|Pk:S5h FGY+E龊2jGeTƁBL%?)sW'`GK?ZHN"[QƎ8* ~K{x噫[ϣoqϗ?$8>釀 /8-?D-UrZoden槄'Ԫ++++/ktiv~t/Az;5=ǟL];_@JUMo3յ7mHV6ko5_x+jM8G' t&h+VG++4a얱L[17sx'|2<#+@}Z吮ؖ^nQ}317n%Mh05[[5>{ΟϺu9o=^n 0p;ˊR*F*E0ʠ s;{Q..`f[_j^kj{{Tm7 h  2M1PQtCJҬ@L[̘ :h_@ R@Cx1X …E_-g(*eAٳVV/k:_gxvo>Yg40}$ A@rC>zX4@4- Bߡn x8N=஭)F{V|g̙_k=~9Qy%p.X; "e5 2y,>j_@mӝ?܁Q6gș±=OJJIogYG~0&7 U]y V/^Zxl3S;.RlmmӭB󖟃 y_*h\~g١CNVKW0DRS#UE텎Hf Q5%J`:عF.jG'U?k+E ITFMѽ~[ ](- 4'# gGRh R_)BG0pTnwCG%;2I)t%KxMxPFXbVҋ(v$*dM)h" ܳcdeJ)n `j~|K() $*Rq"QRR|{,5b$ikQ-4ez&4d8Ot 8" S 1pK 0k;}Kmug6QHXvtrS%z,U 9 OF(  EΤQ@iɊv 5&W L PŲ[2𭨲rS|h4`nr9^;\u^"}~6>^W Ʉvi 07Wq>|WlMMxi0J ) w/͋!aH!2|YZ}ml}z)-Q7ϗ0J6jvF}MM8 YBr+8YcLJ('0г<^6yĂj\4ϲ0*%*j"̛]ش\j?[6C@h[JoH5 FY޴62vȊyl뛑.](`IՐhk 0͝"UWۄ p5>q>@6E>gx'x}XǦ5=6wklZ_ ?5a>l6Y{ mɉJN_UP$O;LJ>Yp6~3Z A`mJbG i?b $,gL¢"I~C5Iqz4rb t*H(KM4e_y%ux7[Tl`@L@@ M! b%{348Kؗ nme)p,]yEPՄC^@HG ݃Q$ q6E =*@@@L""Ob`pOօ_D8>BX) 􉯮כ<H ln ]F>%% .͵2aX)xe_9 "'_.c]{iS-T42<yF^>.DB=ބLЍ* q СZi>ɐ*^Xb"#3LR)V5]@)GRJ5ea1AQv \D"(ɑ4LmH"(-!п}aRӒ҅/%Y7I!HAWNW_A$Ha93*2he*\>k}hؾ>gn_Ae ۨ C6}= !HI \Ӝ4H-L 1Mjaͼ}< Tk 0~TYk氼n-6r⽽K N4Ln+n/y;g6ZthE= AtϏ 0ӷ~A댁\f[Ž0W\1Ft..H.8G$,DM xz*gmCdZb[9Ƚf926*c4@ p:>SڝawlYZwzfgCnwlZE|ĝw:{k r*WC+۫!NUQf`i럭~C@jPX؇1p[ξC=pj;F"ԫS׏`!EK&k{B+o:{ava &'=rOw殲b'Hhظ3 w`ʷnr)5xMS0j |CFo #Ns38ad 1/Ty[,P, N"XY9$صo>4cQqD!qEV3!KfMv2qxYTrS0w  &_Mr ;( Su4/ i8X`/ * qi'S:c zö(x?FPGl hb @1f "M@`:$hװa5Y3W=bp@oXiJL{iM+9HG="Qtmr K0IKƨخzZ[}I s2 Q6#f/3槽4(1O-vn2Bmu|ړ͒ntc@PI5"`X{\UZ.;G3 ĔobD-Wo&HXF;uj,@>U*%b9!{뱋 cA1_+ts$ @D'C!ƴ!([>,RJdS\rۂ`DRuX11 ]wϓfw+@gb$RIhHʑ).InHNF:9v4NY~xۺs27YP,խT&`C!YH]TY6 TY%\KP3&` Xm*HhlLZ~P5+ќ/EN$MܼD8x X0آC$ < l  PCЛLKv6Аvl /oo)lBIͣ ?O \) 10WWY6l͉6v Odu .0f`01` څNF(q*+<:{'(3y;给 8Pb.n56m2kFtzԖ0:\de?۞x,5¬?A2~ >vk&#PP5$OAw^e]3";sF?aTzfOiCdn2@!&ZT̶N`Dg}|CJkpIFWw%2 ſdmLmhhvBxr?Ng Rx,$7aZt0wd$Әkzto2gn 8]nȑHhF0P\p$ T֒% D AREĕrEj ~jD"U9xy2 jw"^ v@F1 GPTV[@R"[j(S"- =p!$ν[զfT_To f$%$r+⊬gp$o$rUg0^eTJpKQMAiM~eo|V\}(1DLQ TTR7ښmV< b- mީ&@W-l5)8h*,a]i.1EA;0p yB9f{MH[rv5"ڬM__o:)SH-Bdd A&*J?PF^AF?.ةoOWpO"(FI0"Ql˵I48b[nPqr ;Y6UeA$O{#v)4; LudK G^'Ly|;W5x%vvG:IfdRڏ݅ednBBfCN`%2BE9E'K0Y [ꌞ.w#r |1?R4 <]Q+^W=X8̌%sjc{cc0?bhMorW)^댸&? Ȉsx5O=Ed0*q Vl3uj(-+}'ˣ8]]搼"U|(I5/D_qE{b @S?ޛ;[^ԶKlӠ 5Ole,Ϗqf7Ee,7PN05PQ=52TjAE6')>#W𼯶eD3%-~柰WWzE/ +C_0Pr'OxԍufoLiϡ쭦"RS@->}̩*E Npsg6|__3Pن} l>O}qW L54)8zԷz4<RzZU'FEGw5YEzُ]mHx!}_}v‡{v >< })ؾ/>s|x/zZg(6=q5L[2j I&ۣe*ÙvՇv L/ݻ)>CW~w}_v 9<}\zjUS(rz5gT5iLEE$w05 k_]gm!k_ _|~w/gߡ`UkI2 4H}Rj? fu֗Y1_cUWkPNm)H!dlhQ?R_ׇ|R7 G_`?~ن9 ҹ ԦLF.= >a?> @/p۠?ˆ B>>J*t>ݟ}Uǧ 2Q\KNN h6|]ͯvvAHa7>٧u6b0_Z2 60FFi= 6G!1Аlχ%PPۨ%p8jkHTT*`%S׮Phk| }1 `{oIY}ҥ m/]|(ز W| JDWu?UWg.HdT\8cQPP9 QJ!JQF IKԕER*5'ܕ(wu )QV dQ,m,xwvoh&5sAҠ :. bצJF} /?|& g D HR5%4b rc;$3{#+3"1]PR0;vN& "Dǂ ~G` QL"a_o <@̌h㍁tØR[][7[#6 !w: 2qʣ Ve%%yJDNaNq PXgZ"^ p_i\g^nĘu[N` 0b>U^*rX k0:}| 78*U% AR%IȰD(ȁd7@&O yw$$`v.x,˽k>/׽'> 0J"vpwY`ÀP8V"@zZ\5Uȫv-iożܭeƸB~'>6ld\$~kMw{,[X"մoґE061OlzKuY ps0E呛`dn:]^i|]%u%Yzdt;o^QI=?eeF;{5tXzf(qI|3rRb8abE0Du lxqhxkSr@ͮ6rh{0 p?^tգFsпr@>R'#{ |% }]!8  8KHHRPŪ@Ղ\ѩmYWYاJhNbs1 +bIsI4Q @PP 0;X@2)t.(/| x`jOa֭FCnBlPIO7K<+2 á{ 0Qdndf]l߼yS.`pf4ڑx2JvEYDc5!la#>vW%p c' p~!r{1C,p{KNeeq-yMN7\?qe@fL-Jk!:槃Ιi>", X;$ۥ}e_ײ}%lOڌrٻ*G[ C6GC6%FZe%AށweO,䑃ܹs.rئ?M#,5{txض|@Ô F!M@І"ewZb]vhatS%1dE#]T-T@(Dj7!{2dD?I8) u@]S#CpBx]I.MA c88`NgҸkSU7019t4+gd 2ZEκQ]gHh~ p*Ѱ@-=WUԔzs%˨ǞRxJkiޣ1dat %|~lZXK|gyxISڝ_J3-Kq2?G5ŪzHyue뷮" h#ORPuM3&/%~J2)]9$B\%y X0~\V)CgP 07#??uW,,hH@e~K,vhB%>[XYF-ކ-VP jo<_8rzmBn }KE`!VNNђ@ A u%(C1 ;@>I(ax/ Wp[O'bc6TL`0}Aa~fPIJK %VۻC+ O Dg0/4b;0*!4nt^ ɟlvm. \ Û1y@ ۬-N $pђB0̰rMp:9sMj7l6dx˞H;sws!- ?YnϧA;"+Mr1,# H`&t r#{P}?3m,.!S [)Vc2A@ĩ@׌E=xܩsCԂ=ǂ6ĉ9=b;v}hKH^HKjLNKt-M=>kP}CVPSR'(U`sO]0Gfc/d)?G&2 @C.O"QG!vk1v!`HWGy Bl#qBHM5Z ;hZ!< N2I'[S0L$*d@cdE$e!ݷ<()¢lDFqDI4V+"2%+$c~!HM~~9$SWWi)Uq<~㎂lPy& $V+ X8W>XjyUULaxEw|[My^ Q+\]V 6*9 Xjt旨PE =2]Q*j`gƫ;?ˑ_IX0rKHVs@Q@h yMq#PK$PՄCP ƩEK!hM!NCZ @2+8a<߸ז} lu_`g=(W6#ԖCmQ7|D͘:7X@(L`b"ށyPD1KkHIrR}Ksy7P6@# Ud,6*^5oY(Zdz/3C0̕ܥa.Zuk]M20pH\03 Au:#

^u9!ҳhf5IPUEk^v$K%(Ӧ%"*+ȏ .hKNOov|kB"ЦqΝ dw%3& / $ B*-^(:8 "՚6up**S%ʆJ YAFҦ 5tnq[dl`Q`H) n3A#P:-3 r#j:5:&j:e{UP2 Wiw '&ʩ`KqKn<}y&jj  /7 0Ve5?"gHӴ(8F {~Y!0-z1^z)N˗{,E-[V_f~u`j sNkds6/(MwJhEOr(߽0ݧ)iy!|w[;~n_Cn0=rJj_P1[4V{*m. ov+ȳgz!]Bvz庘;: Ffx4ڌ YΡ>\fی<`% 3阩`)}S$.`  kA‰4@lsv_Ofw~5X@נ &–6漵vž05>/>0eJ< ܓnQ**\d.*+uY]prϭ|Y _n G5Zklمa`Z_2c&`ddynB5!󩅞xy=D2aaނ#D,_XDŽNŒuiLHtL87 ?7A)(H΀ t0l0&J̣ԂE˗ u2Modx"M,u ڈ~Й3Ϡ t.`5Ɉ3 cjP2S_CPS)F/kOќ@GA\"IJЩ''NżkLk,~0+9т5&i^AeW ij2Q<+JL3 F>*0@7G"C^BG|َcB:ɵO)f9:㮘6 |lAJvP^7q$e !"#,e*/%do9&2iQ` ,XeCPhp`Y[dX+Lz͙2f^lNXtj}j &!24˦ӵB⹆aS<}z@81?X) +zrPmKV#m:x_|2K(l_PBE"A W/=3 D Iq+oP]D-PMK.G-ě'klhOv4?BwR`8.De PJMWkܶK>" )AX,[}п4&p"Zn-Xu`zh['߆u.!c'".o0$U2a)y#*ltd̒qJ+f֯99q HBUQ[1;]-f7liZ'BC =4a=y0v{v͢ʡΖD y;н觜^ 1QoFJi@ *]hd^fPlvވH9@IVSgG?? R[ȿ +/brY.z]tZ &i8Q?*Sj t/Df |sR[> Ђ0'nC۴72)joWjޒM6-JUvx"?OvOޢ\IfM~!DzW|||?a˿{.E j<6h؍xKVyv'W"6 ˇwl^&y4FR^KyiWټX{N$6$f^Cr)ϓ =p;;SZ 3&V*Oۍ.B3Ik3 h?JK [pDh!xŧnax<K<#`/+8U hS5XZ_U$,j  N,La <^&Jc`Җ`BE,V|o" !^d)xp_` Ujfk,'[X65L @@a90{=:-H CFP4_3A. tY每_pK;3|{AXAl˷aբp&Â4Y0:HuGU'~<|TL>NmR\{EN^(GZbgдde7 mBV6FxO8G3_B]XU`'yۘFNj n2ͶN3`#=:O3S낂

 @?|O4 (zz@/;7*$|L 2ݧ?|q A۾TUeeAcj gp8t[ĉ{Tw9|ug4>.^С (A0n+-il[Z +h -y:3G][)ʕDEb7AC./=#E&Mɲx SG&*P>8+Λ CiÆ303t.5" @Y]Y]]YGw0eefߣ.!1 j(3*c 0a-h%*"ׇ F> h./2A0@ WP$ ~â:֯z ^tm( 3y>Oͤ91d՗+XA4C?~VX1*I6 4@yUhmsaz&vV _ݕ,]UrG8lN71Mҥ L #Vڝ'FgαnGyLlRpƐg 1<񫨸p!!|Kh L'VƟ7ڒX`,K04L&YHjL.T`u0򗲌JGk\̳8( 3P27nRY0<_|`!oD8k1wu|~J@eȪ':'MLhs@B2D\$ᰍad 9 8%q^g e;Tf^09 ͣ JMeX@r}p8ciĞi}jx|qaQ&֡Cd8ʡrǕu.: n`[!?-VEψoDh @DgZ6X'0vIM`l9zyLf|)sI۸{f qcbK 1_pMv: 0IyEy (хky]E|k+0SP<Hp5|BKm #xo!ZH!"Q` $#z=|g($?2.DA40wL+BMd;1D52zub ]!-k+;w @2B3]7N0/*ecMo8D/c̽0q $֪BP` Avb}Ҽ;|a_$1{#%jFPb8[u` 6d&L;;y.(XլNueIxY7K2!&}B6(Ee'#/X5¬q :˂`HYKҡȒtv&(rqf;"Lo-ʺwԵ [hCKNS>qdVCUi@aӓRGf+GR&\@^>smivMp[ۯ!z?`yl̫kr=>B' &AiZ 2mmb_3yZB~7?QxUx/2kSB` .x g! mnƩ9 M.yB-:?<`{8 } $ya_lSزm#)‼ iY}?Wfo<<) )3\B>ov#>KSNj^bs /ͮ wO?*C6H'pm;/<r@&u[`0 Ffzo-ޕa (rq0ߺVMn h``milu䰭iȒ( v2kDO(+t HإDzaK2Plc:NصƵ=ibMAIA)5ay#zM PQ0hƐ tۯ'RkXٖ"Kc`n-n49MF+Jh4L01p!Tn MFqh (@lL@KlaƐK!6Jw`OS0-g! D@b-ssrxWbB]QB9<fK_.p1[?)eayAٲ fGe (޵QB =*Z-\ȓ`ғšvu0]0Ack]N-]Jdzd 1%4RƐuhV}913<llgҤܚ\.gQ(-r ))əF<` mo>& L= `H56u楌!OnxН n[0>Yp`KY{g%pQׅ¬ܛ8w7D}FN\dXoH>qէu#qC 4>bi@'|%21`(pN  Q\@. 7Ȇ@R8-p$</{8pyAЫ 'x7|Fk$8| at.cDPC:v")"q__,A3L3 m^KjB/f_O~Bd? %Z 'XnCKoN@1s#E @7d͟m@? c QƐ{4ܱ88Mj= LEn඾,L^w"[7"^ޡ?>elvuy) ڿ毿C}Xk:o;pS{t^w<&_5]q]M`Ng,D8Uf^@}vV8~A]m >(NQΧwwp1< 94c3Do>}a`R"1\֍s]yWJ6a'0E=>wsC]MjHPΎpxw_/Q?Y$ oUYQ1>p@δ&hԮ} k :?({KJWe 8eQfaD}&`[M /Й- .geߚ,k: lN~ pj <مE|扌:Jma k?(k愕oHO?;!f yfb 8A?*!2|Lc;Nm}Q/my_{=|7K@ &, ff71Úyf )`>HC?zcG4] PAX?%<\ fxf6?TNngn`y  0! gL[J~ d3ًǐ>`??y%"OΟ"pc3]MLMJ>ޭxr۔u9pc s< p 1x vu|eZ;_4@]S 2pjVްn"=,wD {koM dP#G AsO%(D6A"CK35zf[?q/CybRy?Mgk~Wsԙw'w H%fIEJT*W$~̙.z siO!Ib;dx !_vz D8iÅi@2eε5yB@f/2ڞU-h78{/qA~H̬BaZNJ$UM2  vtf`<T<[@üP.`CԗriUapk]Dѝs9Oh`dcl_7:HTYڑbG0A=R.K!R.LrR"H)Ia.N\ q3YDO9Ng9F f@~"%ټHS.G/Y0wxӥ>En0LAHQM]w2&Ć-Q/bC̒8 D%a_>`ξ1 x\efB6FǠw{1IENDB`homebank-5.3.2/doc/images/dlg-currencies1.png0000644000175000017500000001611113604616712015743 00000000000000PNG  IHDRʖPLTE5yUHT妺5of:ɠBӵ꫾쮰ŷп¿ʲ׬O奕ȼ{齲߭|YL砙utzпǹԭҳ~=֘󕗬|xƗy=>Wh§羟_󒠴ۧbʾ䱛Ia{Ͻuśt=QsusΫߎӱtw}虉dH9XU\תW{NfqO͵񒤽`PAH|dhjsgLVlC,0hwۿġ{Q:ӻĻW߹flWRګuLǷ'/@7bLIDATxmLSYJӀ`R @d / }MKRZ B V蒢2D d`5d]2u6$Yw63;{mі::YlI==!![ %GJq ATo:%Q}U%)q - !GhL#q lv(AB@JbH#@ZΤHv)H#B/ʠQA{PI2T$j*#8rFR gUt§j}~ P2lCR`+ [NOgR@^ 6_掁~~Y{XE9>㑑}_~-EA$3 I=G}n"<{$skG4yMVB"rYc=iHʞ]|q[[3P3h[cX@19>gy|>λkȺ@HRmMMҶE@Qv\#}etH-[ ωFQ}8ty%RHz}Ņ2Z@'Y5N7FhtZIa4<X'tDYL)#ն6 rD@ di%"IG$ӦRBAT,`d́”bx XJ #Zq'F+@*uw2@2hIkUBˈU 2Vtr 5j@BMMaRޏ20o=Eh I$,+\榜>tiݐ6$ҺzmHk $R|`)Op0$s|0dX@DxX?rZ@K@—֭GD0ws Hݬn Xy:Ցt ȁ ׻n/!74pSƮ@0Ӱ-H$ꔻ}fl-E Bƍ!Yzu:K}<ߕ]8p ac+->n9zuGV@_U^.G9@29j_-%4Pl Mܝͣ&LjtAr( (JlbhyDզus+ScՋN[< -І"0 ;'u.8*R5!ӭguAfE3fG{Xbu LSmAHHT0 U2sgU+0U@u#anc C.'O=@e1 K14Fŭ/ՋTt9X9W#IfvI&\r*D:6qyLg5Xy֐?Y4;H_eq86J@׻,e䩄֦[fuID#d= Ge>ǝq3kNI]7$IŃ=sqt7gP4nwܤr4tj 9hp{y:B eF08i;ŅP `, '?G+-Q@BK n .]2qsŰ9dOO/:'ubw[ծF݊ӾI֕*\~/Offy㠃u0O6|Xl@L0<*GޯTi@AGE'CνhQi@͛#Č) >gˆ8p B8.0TdePa8``CXC8J! ;%v[FWGT 3Hj( 'D&su Pv!jPߠz}X%91;ٮ8=13)SV?e6 (=Sܡ2~LpI3D^i ޜ0lF;.S7aCV9IT÷ݼ8X;8=Bur1_f@?:XW-wL@\d5O]<,$zo F&ȃPa ?|oMP A~x5[^Zk_]~eyr*ǿl;ɀ!ًg)m~r~ o~|dgw2ox8ye񍃘F$Bn,LyVz^c>?rk"koL_,mʒͿ5ui9zs%WLn^K;T)x=cf"J(8y|I9@H4(P@|" jS{/Qˍnw ﱛݷo0A:*Ju 79ivl]z{n^u5{I?>yv}QgӞ A;ܦ;\p!=U"}{yEk2r-YѫȖ[+5YCBƫ@ΏUN!/((b9XC~=&0M!Kޡ嚻&!+Ý" !ܭ܄mOYg'*Yiyi !2C];"(oE[_yxW D}}gnxd c}&]AzGq#^n&Ck@s51oэq8,_R%h7tT7u<q8$"%8EI$! A7|fWfۊ{E7D7g|5S jv5; M68hr!-mW=H6BUl|ٹU~X2bʑp'EU#O6>IC/Ozؕ?nXf}^16i-?ϢRRsxh mEQk2?{u+5hd^rJ \l˘}gm%(j [b;bIe ȑtcţ!j!׮L Ɋ2AH$C$ 92LkV;FcG&Y{3%v![*ިWLba2d+Q AƧ~lUwo>5Hyx s-ũY{h51 G4\ '/|ҹGG0Y,@YfmZ ŖƓH뾜ˁO53N:2<[x}!@"|׈--['k2d)x@W$HIDC%iRDXmSg4cArNC[3ɇ'T{W llؐ¥]X\v db qN-aFE=3v ^l>}%3ʎwj[܊d]2ʓ nUd]жdxg(F '=2v!'-pKRZFP980#UA7,ci\!v_:$)B^K#|G;vDYbBFgHH E^89|-T[. 2W|hsMsU>*HT$56u]aHNӖ$& sğ:K7q#v+, 6;=1м nQprgzh8ԋiG[kNӗ~+ nI ף1C-OK Dk ~Vx"DPU+>#qʸpS1 ?e =sq<tvC˧ԩ&247'81+QO! W պYlI?[>6!S6⏐v{R@+L^]]@Cړ6&9x .ٔƊB`? 6nCr7t%]}|(TBXO2a%ësp dM69@T}mbR ˲N/c̨^! 6j`g0̍iGصŐ (fDDUA=)&2qmA=Mg ^yP+d!ˣ(j."/hB<@B+.~&*M^ =jN. D.c}Dm׀xЗbHL MmNگ7ډf!_!M B#a*x,-Hџi"1˖v< dl~pof*Xv"J(5 oۡNfFN_j) g>Q@?O3݃4N߻sL@_rOG2_O >+e_7i(K4?A8 D 33#@"&>.N b;f֭oAFcCzc1i既 O|xF˘ȯH VIENDB`homebank-5.3.2/doc/images/dlg-budget2.png0000644000175000017500000006602613604616712015066 00000000000000PNG  IHDRjt&PLTE~5M57媒;óG箙Aǽ謊Ⱝ㫗⫞䭥纭⳵滷버ѫ津⸾ʥ߷̫oƜС갏صJ`ǧUz٫θŢtԼ󑒖ꥬ붘\Ōöɻﳫ|ѻXָ0wϔe;󜚜SŠOOP቙ޟݠA骸Df璢Ζs싹̸IJ˽ɀ_3ݗۑ}sηǮţqb^bomw^ݝGީnp}op9>?[&6 IDATxMhVSiH:/&{ YEyn:=" BdM!&Vbp F3{/03:?3c&fj @ @ @ dʬ lm Wˡ1CmGmF@5ŨѮ\"11ayst`Ъej8d~f+qQ&mv8? 2 Y6IbK>&$>nTíc0Lderh8 4>A[ 2/&3e;h!S*/cQ`ۦ5&p;17ɠw%N7`S[>/c[m'OrNl`gp%S.6eVGi+us}8jPk~ϝVO {M03N9Du\Eߝ{GGi}u" i<ӞK ~/GSOW6ki g oxMVy^*0F\ ]b%JX"7ABId Eǣ߹\ZjuZli;+AUIí AQw)(bE֏^upkP&zimo_ڙ'>24 {7S,[@>'Ǻ#CiBf0h8bYW>(4>>?]4>Q;qpІI2\$Shࠣ~M*19,T{1â^6vF@x>44.puvD}QmƂ_i!G@ @ =6B j gFxqL=ܷ_{ f[9MUܻ?mo(>S_"/W1/ૃ;6O4ph84 ϖ˷l*GέSEhwm w 68B5X\i EU[QlZ>$_PĖ w#ebݠ{uS}Z׈Z1I*p+sTO "ٕ>r]ŧZumk+1w~W>&Jjo?ө\l75T:[>W`Ymm ΚrhWꮐB+WY"pD dgHjA CەZی?%_3))EH pl{UuB5:Uܿ(Lj1|R} o'r Wl\/קKW>S#C˼ WYܽ {pPj uSe}sƋ|h>?]LX6ujOpTGd33}8dp.%),md#DQ{QK7ǔH9@뛘1-Di39GkN,~sPmK6W i*^9;(LI ﵢ_0w?@xґMIŨD)MpUMggt͎d!F3frdW _Iէ5/>;g` _ c {c5"15l($ax0h5cp%9WɈLg c8C*Y?}_d8Vb?MH!v]>A~*~i!  _pznUY2iaLz WDIҥR*3t)A:4\ųB7Q<]Uϑ`9 J$U2LfL%;>&%ዳ_ %Lp.@ǟN IoaP 3=օ2,|w3dag3gDC\9:rl2~+3fGRZJS5X5tA?"55\cgbH8Nھ֗ -.g)i ^*F U"Qx|ne8O@l ˼0 ]:&,&2#v;ww63DT 㶲薟u%2v*pWpL^Q¿~#.~O)5X@LVДnTz \;g? 1K3%k{>uy79?E09BsxhH-h=,lq0<欝obLj${Q&v$z{5(onDxg ^p8 "aN%n\w3y!<Ύ囁CI'u ,.93#lŭE w@qPnr lpx&|}nfErtr]5lgi$C %+JxC34ﷰ?/pW ?sڹ9g \J~9nҁ"sG.sn yӚU.8gq8z**D2mu DA}u|Dy FJTʠ\ O%j/i%8M~^&}!Khc㠩Mxi7u0kA |ŘaIpf>&X'=MA('h][8Dxݺ%4j" E\J΋Ư.&vD.#<#-aX3f [: KqNԖ)B:'n"餡޺XY3$=.:h'pE&B /fm8 9.cRrVeu>\&H@d p˧VAILwg)04&Jf0S!(OJ:K5'\CMh@(%FR )]VP]Z-g8w͢*!;Өf Сj)RWz5Yacf5J/rqYyZujHrȺTDztDp$Z)Hb*PRb.@ ~S) )p)h| HCԫ>-Di04$*<6 $+#֏!OCА̘}8 ,0e{;~bŊ:h\ܷO'+>LO{s-`ŧ!͚&AQ9mS7ٽ5M2㚦ɚ:O{D5M % [#wQ /"=+-XU%ߞ5Jw*Wp AePE 7`]U]Kצ*[tSX%AlCXH] ] v)؇c1pL \ DŽf 3ws|Zđi7&.§}vO3mu<{yggFkl?&.ٿXݳفӥIf, K=v4k7W֞   _EmN s&~ "Y5ߴؓ*p ?_c1pL8& DŽc(duɇPA]EWPFPV"[[!4lE QҒTk+C+*n Er|U-BjRK> DŽc1ᇕpuU{ׄ DŽp/ ^ʄƄcEE_yʏpGچį)W}#cKy׎3Գэi]?i[n/=\Ąc{q# i^[{O/Og6yym,Ƅc!D׏G7OѨxfNX&/۽1f"ul6L8&0>KNtn^eacsq;1\^  ?gJ&*57k+YyLJjBDKx-&~ ϐbn*1}'\]5`„cK/pL8& =5 U߀#UPTRO#hU$XTs*m݁m)߀8CBU|( *MV( U*;eV F @"PH!86$v);s)ग/')R!ޅ;>Ba1#=_n/UcFA+yBQX$7^w L<y6}Dtg6LO*` #5|p˰o$|׷v$i_]DŽΥȏAOu;MO<⓶OG{mlL|x׏5Mmܾd /< !m? jtƐKiNl#m#C8Dp1.oiZ])@v44}pKǏ #ᙢA5jJvZ[C{Dxh^@.ETpP^#UbT,X.6%K A0"u)dv)إN3ԽUpL /],L!^MLR)S?o׫͒ WoU'~?/ggOnj3|•[_(_bW? OxI" /""( \EhEBkCCvi_ ow'Wglc:8Mtp&˕5l2U0o 10,bq[4{D۴FyYdhɲ8lѢelmIVInJa^<9{|Wրqv@pܑc> FCᔯƎ7o\yZ(LbPEcu&Mܕy2~@5Ăm0Ժ Sd-J8b{ o/."0!ZA!;8iX)Iywȍ)"E1䆙O p\%U4B!Ւp#7PDڐ]vܰ=c() |ѝ/e1tU1Xs =S*6V*Z:\}k&i"\3i[|!wOL?$_P3gh@Ikl^?B0-n5 Ǯ # B8ޱ8V`<ض9Gd1#dHFIaFsxAƻ;E 4S? 7Gi,{ܠ0E"D!N /d¹s*@j Ԣ%ǭ:H p;~L֡uI FZ=rlFwܨQu.=W1LȉoՖGnۧܰf$97aoY>AO!_+B0UKliDt.V '8)l`L~'E+P>.[u{M I!j9DA?r"6cڬ9 j.Z;ك3?+]橗?sko~!x %5%jA4hü{ &fWbm+i43kY"S9 ՛y󓬊o`pX{5O W[E\+sZh,9!$ i6^?HaVi;,F.mk0U94ė D~1TB㇡"7#P^?+I4zQ-+aff =ɐazkp!K*ZjT$@8FAY?ܘ+$FQDFRz61frqƀ4p$?r29}X2x ̿pi>3抇X@@=|zf- , m_kY2I|=ZBC1'pWup9hgP;A{J5rbNLf!w dn0.MEvȅd0˄C39Q'@De.V /v6d[~3u "PZs8$"@$@8eywƕO |Pp'BnEkc!fycə I׭+9y&_}᝭{_y(~:=J^ VSڣmM\)EL%5U($Kt$?g+eߞ=uAw@Zwg,‘'3q? I5&fҔ\Ȏ$EhYNM6v8a 4L:fLuJ^pW24tz7EzV$-#Ir0;)"i)ܙUȍYai [ӓ3鰵-iEnC\"N3ܠ0})j @,ב=i$ԦTB5$Ij7y=i;phhށ?opYK9P+=SM׉8-e8j;K[~^ʋ۶m۳ſB>-efO/vZeVm ̰$ HA6?۶!LCY]2j6dRv25w)BaRFF;3"StZ-RSݕAnPzuDi.:Ke#w5Q3QY pZD(aBD%xVܠF^T,Z k;>O} ϼ*S~Oszi4 /,X*^&HLO8ٸhk~):*Y%TJr{l/Yf)-t# 3q+ NI\O u PrA%dnw%ܾn")ɦz:+)< g09[>K) 7?D pڻ[5G߀?\)zI*1g|@˻Gw~wotoƩݣvm=Zi G߀s2ᛍp#׶Ξt\;s?vׯ(Օo% v]6-첸4!!D$C$"/ Fku6 4,DiO._޻7q:sP r}w/fW^y'?}~W3?׆S{G{}; _yُ^ۗp,Xxk$?gI[tmѴpD8Boc3GwYĠNKiNǒAՔfB8r&|0D ԏǧV"̈́Ɓ)!i&wa(̈́pIJ.3&"p3.z9#7z9!҄p|+⌄ ޅZ=2ա4B}S{/t禆 I"/SCޗUn{]X?_Ep{ƘE=Η9~nm $Fb'd ozӐӊ4aQ! #Ұ &5%2c3)Uqj@dfJ8" D"J&C9jP:n(c՛9 7HI! !IlU U^DZT:k3wX/]kfܷ%^ ~ {L)oX-WY) ^9SiZm gkY~;CzFoɎpV/7h| -t'KvF~7j x!.,Ǧr[TjwT(N. _cVK (gMv8`8KMO7=Dj`EWa|!FE㣊'pD|@ssAy=-^&u`p[a=u[SUE2 "94-]^XMiv{8,Jר.ҳ%tY wD bG8nbܥC{xu&bGz(9K)͎ioqo^$7]]hgJy,Ӱ j L~J%UNnzX(_V._2vqKr7s•i*,)M@x[-eTǑ8^{"IE&钜]E6so 璤HUE^r!C9 .BSj"7-n]/ux;aQ-跒B&=J4i慈L"Ҷ'7& jC[0A@%|WRrQ%D̄;4DЋ.pG"|]e K񩗻)DHF>cr pRQ.@x evz݃׸Djc 7Wh[? FS u^IѺX8y)ʰ-ҥT5 2xJxmZQɔjIFIL4$Lg-zxJpcnkv#D9AB"zEi&S ZT eIȍBi&RhK٤ 1R B%77ɍ(dfRmܡ=UȔ0?˜2Ȝ^d,3&KlQaL.+{ `ye gEJ-SNʵ.C< d q: 9\Lx%_4dL烢B '4Eixy> !I\GL`žٱ0Ng6k 5̰PCx4۲ iY"VUB%SQو6%Mu˪MʹspGB˺Xw|ssŁqy8GDE-o~ [2.Ki9I˪9\pVāU"elٷ<³~ܛ*uɮ]|5ͧޭlTM'"g?k/{7:^~Dtx<z|"^|&RכEwNʮ=m8`3D| ،nwu}Ooݾ=EORĭ_!\$${.n' ľA`u =v' h{,P-*_ QVJp\eX%B ?e5L_<—/#5#bG燇'rvX_:?nUg *a$,c Zd [Mgsp:V73sBdW0}fm]}}l9ZN;TifW ƿck'ӕ` n1m1. Rmn ެ蘹YY+h73g.E*n1n>T+e MBݗ WF)[聀Dc4a+P!-Bcl^-pM3 F({LhMv`eέSHyk""+LKS,\-­yNRcm=Bꁄv;BɾBj@KڦbX2VH6cƘױ^© Y!aQ.=!'ɻ+GӋ4hg =&K7C܁ZBILbH"I}B2Ч2|(B#25KP_weG,hD]}/ uLZ.͸T j@1=I3<­c E5GdHZ-B^tbWrTJz$dC&脊UFB&ċ)P} rZZᑱ(9m}T$^xܛ JH= "mIoSw/]>>/}aV _٦&s놓2ien6+S: gzaHka_Maγg!+@tn.R\ri:ZOd%a"eKK0ܞj77"rh6P4"<Нsdƍ`?aLׇRq)$2:ڠy"H%)irEI"Ff;[5Np '37Hx"u )]wy|Rb<5Ls7% _$骢NQp'Y #Y'd%QhE'|軗{WEx}޾vwӅ35%$-t9M)41x ژhwv dLaEM}x,\zB3탇#FC׊Cfp\„OR(J312P]b@gfMlY  $j u'B8!s(5:`Bn2ᬈV ?dMZpV`2Ȟg/MvMEhpIpDTOurop!Ɉ&7) Q:h=]pV}# a kyCdᔁ !v(jopٕ_m?AjxoU}klh/|քˆ:N(mr^>>ux8ޙl2 #%⃇析/zÅ%͸#;FjqpׯDŽaEt sp` oe;x/ᚔS&v0ypW 7P c l (e^%֑}FIrEN.ǃ N"g"B%p #[QYSQr*3,~p[:Gb-!-e OyQ}Q 9#4 W͟uN~ _rq⽋n<\k,-% ǯ5/u^KYT1%Z]a&Y+*|+*Nqi藴JUehyk)@:GGP78ZcZ NBTG`*[AGb^]2L&)jQTucZ A'o-'S?S 7z`Lh(-Z &7U DLU1c xk)@&?r  EHYOuWj3D6;kR0Z?wϼ7Q.?us?}{nݯ=n.&hnAtѪˆ\6҈,ǨJ\Z:"TZg|![6T鐮kJ;נ3ې䵚6uX:CJ&rEX Dr\&1 %M&` Y7kC #Q˰G2# bDžqH֙'7.clm8Ax BA">{ENH+DOWA.Y:hM,ReD@GF} Zm""V\)qo`P,|:h!A/%*=B1" t R^: '$1h% IY%05}"vDD:-=N~3XT }uּJ4zYH"HQ) ..{C!R^*MXYɂƳcm*HC"Pט>Z&YĩLWN)hAMCT>:uV4LZ:)jg,OS"% `}u&YBӄmýJ2\KkW0!gNMwٸ7>t./gmxɏG6e-/IQXt{,3Am/,*PG$S&,)*}Щk y]־(>:t3'84|2^Aje rpv R*i cn3 _ß[);k*Md2-Rrp=׸E'͖تz&]NPy^o1:-"Pû :N#WIV fwh}gYE2sx4]NBrmQn+rdI@F*%i "!7{Fv0f;=,bXm<,?'X?"Udkwbi+ID6a,`hF!,QiҨΌZm"̹߽;{Ι30ll=zםrBھiɅ36p$UN@_mn!՚rW T\D]$ivh!k% BՁ:B n{.Nbc`zd8:M0]7Mmmq'k%?+qoj?URtH]jQ);DBu5q*TT EGO]$g@uo`U(VtM zL\*UAD=S]t.s8]m\4kdz-M-$b}e1"KDTctQ$DZ'CPLV˓sZ ZLP U V^R8P$gx J¯ȴ d*< 1 FB ,Z˓h@a+pPRmKպۢvB@ Uj;PD?@&P^*UIB IDATF&c9?8?qv鱹Q*>36Os`nWJ2En9*A]vJiw'^ֹ+ I5a\_"?9xot,$¥sv($a0Vm2\֠rmi~98XװMXւ-b&ڠ^WَR.ڠsku&[X? ͼO#6Fy2!3%`8;qp^`cb^m،m`l bmQ]Ev چ΀}BKq[ɀ@9b?@W)UJ~g8,Kgxn/Cc_e3( :Z8MjpUX'Xp$HB;4ptj"qڑoƘs0E9P* f)a+-e2np,D_D|2Nk.md1< " mF{g Z%wPVU~DڟDL'ñh-t{b8X5J8 \go"v|T8{ m:<+hK(mA M(,P!ˮ'V i¸ib8"A~YްbЪ^ NGPL ]x1B6r2lAds8lxe٢a.m~i s: _靽0L=&j?o{w3EJyŪ%d2i'VҠ-b VY:Tbx2ЀAB5,Z 5j@l9lqӮC5;nl|?ݺ_?%͹>^[:6R!É/t 3618]5Gkpl `d,ٴTAk:Rgoi/Nxlyl ='ѳ:z6-(:=>Ye0$>iJA:/^Q5J$Rxg eOd@KSJex9R2Ӫʀ Dϒpspjsf@Pf 45"=n3f@`>Zʀcd`L VȀH!ʀQ7?YfD\Xə2 I&-"92 *+3VWs ёg[oF?l05dmOO\EL}LSYǙ3<6YN7+6Cka(VBCMdCfqvvX]72N!`@AcԌ:⬌G6 s_{{Vp㆘\"/*%\(wkYz]R+i)d@aw[BPWjYEsTb+WHEUy8f7jTF$i=\=sYl6o"½P l^D5/PXmжpo*f@끙"D]q \؂,6_ؔ'%g0L[D8e,.= AYlo͢np%WkKF~Ei v0;y{4vu˧/Gu]%W _ '-[Knzrv^̮ȧ)5&nQ.ՖMi04Bbkg@޾}޻TRoL9}jQVI+?iX9xGLQ{3*X쥹yL_PTZk NPBjR)5h:8J)*RhF-"jSM`Ʀ DGt:aIDԩ(&f~Pg!qtAҷfhkSL:# Agl0/?؝xg[gʫ]!鮮^ _ \i/x~Ns;ŏwvDol]5Q%Kؔ&W$ͥ[E*~SzNE_/e8隣A:PaUVͥQzəPfl!7EZ`*$y5 &SQeQi0h&h.ԊsPDs +"pHmUDER>ae)*Q(P4B*^%f@3&*ҥbh&žaͥiRe3 AA3w}yӿA=|̈hB>"|cL&Lf^!eF`DݔZE˪R4^J++ې}V([@"Z(E)(G#pD | s"p.>c`v"|1փGopE^< K;p n |pG#M ? igڧo_c_=Go8+WN{x׏ vϦÃ8" >zV|gF#[# =G?}rij˓w& VA#7|8znmĭ흿j}s(mk{,GoG#pD8"1VG+F+_!?Z!\/rB]NP{{+ #av9AQ RPG# F8:8Go{@#75ᝏ;xg[F?9xg]]G8pD& G/ɑgxrs݈pD 3^zғ4jcpw뱓E#7ѣ׏M |lOwD!K<ۅcGq3K9" ǙpبDI:2 &3qD8"|"G#pD l]LVBUAZNm3e2꺣CY`CȐNĊE e@ 5ɀ82 Q#pD8"|3N1( 'O6$0 ',, $2iNB` E/T^>E2?_ N΋HX '/ Cpb|^p1 OE7_r{]wwe Nsj3! <$r& M;1Ӡ.Ip'II[J⸧Pa<*p ncSnpsB/Yr)d/xRp_הzL @,kn^ ӊ-p:Glq MdtCa~y6sm KNh|՚dmLkHseI"JBcV''AL\(z_k&9 η#q+3AL j"BTmQ/JQ+`p6F:Ah6HhY$,YC gC`:6,OT0xj9z 0lkQRl:G8ǡ۾Nֺ)Ey)82wj'fRo]9G9u}?1¡OsO*U|"2=*gBEN9+@0((Jr8xɄ&תS}j*k 8g 3lNTy\ (c| gdq'*0*4~YU!&@0Udf{pHrf#RG:΋ϳrfo II!_ƥx," BȨ'LJ:_:W'{-Oat҉5Rpn`/?nد NAn6f*x2iXq8tKm?74 %8ew9M?n/5%FV#7:3QF"^ a$臆`õW_ =nJvi}]G۽eIm);ɵb01{7<pT)!efdlK. ¨JLoѼZ1p!%U[4+yZٴpq^]dYM"M#Ƣ7 &70Z 'S{sh5aPps-'ApµV†Q\ oU5B'en*21:v.M m3@@|ynvnhVt+pob?E;_ׯ':?`|z:É9 gŇRG㤥mGƔwb.k8T4\FQHsPhE֙déM LCQ_XJy5/\<eļhʔuSֹ٦|p 㫳Fp:sqQeO Wkt,[IpXyP U>8ufx <"pX"_#W|pcռT!o8:wRDR q GaQP "+P13ZѣRC)ƣo /&DZ"O$v.CJp7AXKGrBnHmZrz,o?˟m?7} /{~V)N˖i:l7eY*-ΖV^*:ի}T)#7ˆÛj*rߩa*ŴaY:\:!%Eeq/y*v8k#0JtֳJus"`䘋]RnWFth&$aN3yJ=J0FpEMYFܹ?pS,Xy xļ5i݁Yxu 2U*ܮR2 jh WDBCWUdڂp``ЦuѸ?vS W3b0ܔ*ʥw;*;ZI0\Gg >p>?y{-_mV}v?=C]ө9r+`ZfcMNih?W 縄+ 2%InRRL~qSSSMv^{pfP}&m 7aS'Z ,.>zcf:)`Tltf:Rd~È˚<A03ؽZ+(W\^LmrnyW.p $nc.}(,VXZ\ mv&4^Lmr%&!8ɥwQtS1F!^1mѦl mL;y}w|J?Irs`] ~_BA/N`P'zs!ƶ7Dϰ J[LB?=5yÿ`?/W/ *eP  ?f4+hZ@(h'/z 1H'Q  7hڌ6O<,M9GZmMfyp 4-YIyc81 bL_`4Mc S| 0k X)<-  ؆iu 'S[h$1.cGпY(Lmcr MTښo!zm6l! ^0\ʩbq[3WU\]LEEMv#߃3dVcqgl^!揍j?T7 "` 4Q\{ըpN&?2hbݾ*g)dynu͊c8ҞIUUF.f:})Ģf54/U_@D~Lp:;tx+`kfO r5fُP}6(!,w;OUbBNL03y?|Q ߧ?16҈+g` N|zUN,k[ @1q$;_9=Wn`/1y;{G~6k+;gVIu%E6[HR1/F͍FbėXDm$ Z%j; v`)tARYׁR~0.eYvϹ/Үc9>>mmf{uPa"Y^[ț o_n˴ QͲC-n[ZyI\ԫK[F$ǔޕҙ1T=?i%ńI۶o' ݧQ4 ~gEUBj ZyD%i=LСRlj>ȠMHC+ 1+qă"uqf:=WsI1z/a. Wf1ˤscmnD[YǢ:Mև.qez5"ak1\߫57g/?o_g?y>gbg{кpz /*!oP[dm4V}85omCQ=hq+˙p !WWXNׇS2>Ib[\Óp_ 3j0јktDKQZۧMh. >\@&`.{^3܈Cӓa>\U_l><)//]O~Y*cx2W݃fבvvWD"z@7'eʩ#\y-2ir6vNDQp:%cZY:HD4҄sYP@C,KNC.&#Mir2h>p*o|/ӹrIDATp0 ,x6pAzZ) t6"  I8(jcE}7.qFF rY`" np"COzd$)|owpǣiيSQ7̗G:' fS H19SZ~-[U9 YJ6S)^X YB&Ы>Mcv u>,p!d6ID#rKOD^m@f)Ȳ7Q-V8P/+G{/Y1\zі rD!:B&(>Y,a'M҄?zD âEaVN6 \񔆺 +=gpmd@𕓳cP}0jvd‰ 6+km$l87JANݨB uzuV;7~?op?C??FsZi.ZoDzjmͯ+MvVߔmvjmn_;6fX>@կ>p0%E@U)˨}<4ײX@xmht`j ?ZRhe 3tk3_ϊC­UTu)4aFg)@N&U6 -]klS 'TF*bPZU* 'Rķ~'ТȪ,Ζpr沉Exg@ttgRÚh c G 1\ ? [ncDe$bԷSsN;Ͻ6.5 PD_G3#X:FAQ_`R{s!ǿ>C7>Ns"~ o1pL8&#w|Fg(Ws7#w1\;5Ň}ث7=A7dg)XX/L8&  eba XX{ES~ ks8Vzĝ~g#,tM~Vc ;Nb±Ґ2JUyٹftg\% J_y e5lի9&+ oF-8$ݺ%A@8yfZL8V>N+zѫյW\Q(S̭07c±Ґp W 'ި@G@8yY2w0a±ҕpIl8:s &kTY7I&+ ^`\~S&Y C4&k/^ J7UnC+)#֮MS*r*(HE۹(3))bNIh!r"T\: RJ9H4 kVQ'| y?Ƀ&_'ʦv].prTԁr,, ey1/!e~`c6SBF"?6C2F*$)k G oQ8V(\S82ov'op)M7/R ͺH΋9~ϻYwR 00ɋ|q x]n}7酿/Gwqv}rB[YZXԎavՏ-!Ei,/G^'&o>6EJ)}^P8 )FUP8nS8\Ww)28a^X)CNmNCNiTMJ: xh%IENDB`homebank-5.3.2/doc/images/pm-standingorder.png0000644000175000017500000000160213604617136016231 00000000000000PNG  IHDR(-SPLTEGpLn@rAa6_1uCCFDFILPUHEGMUKMSO\^\Xeacn*tRNS$%33:=?@FIOPU}*ORIDAT(-bQظ13m۶m۶?2Vcp7o qV+kԕᓽ^LGdQ AIܦVE$jSTR%ӝ?c B%GDD@2Y@l *Jխ?ߍé{{ektbG04_}uyk7򡂜ZƮe%ŃǺ@i!:*R @ IENDB`homebank-5.3.2/doc/images/use-import2.png0000644000175000017500000001264313604616712015150 00000000000000PNG  IHDRϺTPLTEZ5;󦗕-%|"Sʬ;ƴB哽j䫡Դ;MڗǶE`畩cff͘##ŽZ桍ỨԳĦͮ⣢›?>۬Iħ񵡔ͼi蟝ʷy|񿰖·騼(+_腙ԍˮ̽L8Ž̙_z繱ٲ͟ݹDZΚ~7~vzتMIHֳ̦4joԷxɺxH03ٻRyҘ\erŊ戴X⣥Έz~AFpeEsIie M^IDATxOZYǝ:7!Z`{ v)Lb\ ]8Z5>UASÌϛ3uԴI5u_MIt^ ŧMwx=w9?yor9k5ǚcͱo֘D7Rd~ V'a$!3>^7} fWh\~.` #߲rbUNvT="sRV X3˳LޘC:LeXLkf)%QXbc& >诽̠95yEl#(hL|Ua LaR9Da4eh8Vh$P!0ҶE*1]àX<)k#LlWq|8Üp`CXS0Ygt\v ^`VN˩}py;'*6+IJ3NogMM،iҮE %%~:5KRBWݭ NP-w{Cv:R:hgNzk+YP 0V X{t|Yz/d}1& 1IQU@+*ψ Fz~x5k1L1[li%%'<)hL#Gɝc3b|3U5 3_3k|Gz|HǃZ8~yժXآ4#l[A]bǑ^& tLp\ӂի)2Y}FW17FSL,A8I?S'(?;b5s J|O1pϊ7==  (}|5 P)UD-S1^W{ihd,B 6Ko! Eg%كk>+9YLo܊T㰟]@{[~RuxC_.4 R; 4^C06Hp蛜%Oo{0 J]VVFJEִ}kHh6ֹ#YaC9*>n{G]*vM LK풷LS?z]VsgǾ6KcN8 #[ 0:(mU74K#i9TU4{똻 XB݈U!$x>:t hK e:S =˲Nk#)hlG @w9ick]{[ZIz,(TuV{3CbXX++ɳ삻ڟķ:mJcvvvjY̫)k^?*k}S5`!H-Z{ *X]9^G]0lSHfk-}3fvm:k]:ҙ!s>еRǶjZwjNsKE4L#%j5SQUh /3=͕ onT^ x"嬀/};MBėq3BvyLPkTr1\@/_V_H ص QE06XWb Dm[ak%KjF#(rʠ;R|EbxoPd'hʠY :B+ Ò.!VG&h%뭗g[ jvfRR@ʼ`4ɓoy ^&$4y?gĶ=M2ft5sPˣyƌZv,[7|>fw6` kѼ-1X\W%T\Ҥj%]C{X+*?V=fOt9'7rVóu|4o˱SbKX /P jF-hbkm3O\Ne7~Ztڐ$~uHDޥjb7jnCv\YnA7* ԔK}|C _d1_J\ Wv6re9U@UJ0'T-أO%+%Xv;u%&kɸš\ŞP7)l3qJi&#.mtШ4]I@'9p~~tψ-wQ5,wozHI ۏ޻wdڿr: ufu`Ȕ\]^_6 魥~~1 ɭzT Ґ?=w_ex0pH@xs\aAj#+n6jtoZZx-Xݻ m5WDU'}KRVOV|U^qX{4> xVjzSs:>1_9e~W~B3Y)2wZlJVilJp`NA}9 SXNJSjilJNV[po7L Y֯kZwN̾y~@`Z͸k7U_q~s6j;W]_}K[R_s%|lC=g-2E̊V=#Ǧ^Cku}ZЯ[_,Pb2w;Ys;"5:(_ChY0_N|=]S/9$a|=' 8P̴}rpo]Vsas\Ev;Śc0rVЎ`Mi2Fk ߱|ulK^EIͧn-ʱ޺u1/鯇)+{{@΅+B+B+B+B+B+B+B+B+B+B+B+B+B+B+B+B+B+B+B+B+B+B+B+B+B+B+B+B+B*je͌6vڛcgC63Ypivr|G/urq&ZhavzϲfugyXrf1=dك3˛V'SCMK.,'kJk7[]Iiu5iZdZ "$ӓ鉭{lVZm hƈIaGC 45 @kMc0[\`j<u Z1jZ4Y_INk%Z SP1E k!u,[gѭFdNpkWtSukku;h;V/77 F!Z9o{{{V0/gg7\qḡ̙9Vr, @9IENDB`homebank-5.3.2/doc/images/web_title.png0000644000175000017500000002013513604617136014734 00000000000000PNG  IHDRgBPLTE.eUWT#K*Z,FGE+RMOMBGI8Vu;?A(a!]ǧ ƠGkX\^oӧӔ@$˔4ZӲ*XP=b`}wm_fjl379ŶBdКʩĈTxi'X˱2xܢty{™Ŗˆ_w?ф̽ԼFkpr~İUՏyp²h«@ිϤPIDATx흉[ևLH TPDAc}-If&lw׿S[W/ 'yMFSP/ }W_}W_}W_}Ǜtvo!jZJbGX|aN$//n.=G߃βK A'6[dׇ}-:C3o7eI3i!Nn+y׷ӓ|yǍ!ō~Dq=I&依βe0=Ͼݝ}QmHܕ$D=-b `Zŭ>6vkjixhn Xt:⾖%N:STkKK>ܜ|lx{kxp{mSݿ4#T|N;+$_XqD"(\&o"}noC[>nߚtٙWl .}~2q١omA/64j~eY{9؀_6iDŶ6V3@kt0]RîU a SG3nLgn7q{YJ(;h18fEn6ˀu[*-g[݌'5q9 6gzjfVx@#?`}|SXq.L&}5n}[>ʭ XTQlVU$VQ D;g/C3?p|immmi:H)\'Y>,꿌@""n*wrXOI.}]XEI__fhe뗬?h%6D(Te{pAMB^ ȠE*U 5t8kaqF+at4)x֠Z/KivlA8.%prsB?p*-rZPh C/Q}-0؞I>L )<06OĵKmՁtosuMŦfckj \=7ngiY.蹍K!<)p5Nv ;2ZsrwÙf/ hZȦ =SAMg䶖f8vhìF! \VFD&=6$ s:R<+ӎKBaC2풩T :%&zF,%VPdvaKǥ(ips[UndƱE/YrˑLY+i*Ծ/J& IC85&znZ蹭W>?ee.YlXmEܨUu7bM77]rd= &Fnʄ*sǠv"+Yt\ay`kdplm5̷}(Ő`PE1l"7*.Y& 38c<3HMV\e3h)ʊVKݶ[x;ZR?r[KM4ą`̸}X0Td4بFEmDd\~0K7.0Gh=c[j Caq5ȸlmrԯS=nh;^nj46:Qw38 ?u^][\T nNՒ0mX2kFV4r3yf%.D?#R86@!n!l.-QpN/7=5s4=%PҬ.z{綸%ׄ]QGmFUl Fl(|Xmy}Rmi*68ˌ{vC~d\tjC0jfrnÏۣDQ]LqrDMÚ. $[\ H\!?:Yb6m]pڡ#pƸw.&%kϚBvܞi\*`h5d|:prɢ;\iUYm: sCHgE{ƍ[d$_4q457uB#=/Gq҉8(p[npEIb|%Few-?A["$/ssǓh\HqGo]m Y-xRا\+ Xu>?>NgvN勹ho"~ǡ.'ףN E#[Grpm *ܢgrkP,xF__uϦ7B`BiQuNn^ñu'|exuG. n16o/+&rB7K+RsAghAo lll 7s[pp(ZP(7F`}*ʰ%ue ouUn!5 M(&n饵L |]x Rۀ9vwtG;B&ܸt8vCijEg箹'8shomvMȱ*h0pßF$rPowm&|2v+nt{ޟ22jm)Z"ܮ! ƣ(jM6)kg˶=wIQ#vΟ㛛3̰ 3®#ŒFݘ|7 Kop1얛f6 NmF16ܽ}yC^ ZhNrCg4!Oq) vMTQvĹt"nnܚn lR.:;X&n$[%>ց#8aY}sn^΍SړP#qcB+xn8088Ni-7Ÿ$fc^~G $v#߮hIdIɇnZ2p+l.7XdI*CW`s(s^c)G; Q)BPspZV_]2KbƧq{IZ2qPF"Mj*UuD38 BffKZGy131*C~fꭃXR 556D5*KV8W bIإ,jf qMFI`W)vq7ZE)gvsPY1i4FR*7S,#l*ƕހk (1 kV%$WҢ zvr'BTdF荛;0j7nAY)n")V]izԋl-7ŸQk 7Zr4(:ۦ(RnX©^u* Y޸c-Z9 7\Znfrv#"'tʰޫ(mdhFvϸ-Z`i#7 [nTu48|L;nE~dDc=4Hv,Ja҈xIU2oM r%6pwmA*+R+h~II/gQG@,ic$<_y`w޼=jqlX-F3vSM&vZ*ē^K.ڵ\`drKo;n~="m1H3>2#/6ƒ|0ií9#!9MwʧRR攚 Jáb;Ў\>kX= n$_+=NeNAuLX|vbH; (!L)}-wVl+JxPr9\SN^ᅱ=>;T^ {@yn?/Rb}j̝ њr`?R_Rh(ρ} 6wg#{_-+YF6zZsNO \BARV*-%VrR56_TSRnaU4%jwINJ%Iԥ< Zy.TJ ` `q7*n.,7 a~H:* VNjpa_:}^| 9)ߐ@xDQ78ׯ%%\sodejxa@ڃ |NT[ kyP?I;aX2Euh} F>'+X*fcik"{@ɫE`KU\_(A*JoCwG(8҉a0T!F 7d磰[s͊>ǖtf'UO8S*8W^C Ueփp-We*ni%¨+89mqA+F\Cj5^+Ts-X!0*trXQ<ێtg;z. AJnޕ䩽H1D;PS% oJ`(=bY]-tǏBDבہT@kUn97J0y..P`2rIZe Fܐ$Ņ(HT@YtܪcJz@?ݒ E(L -Rhr(܎b''fe<TZ}ոRϾKn*68 G+g;b{/V"eՊy-pn)BJZGé6Nb9҂CĠЯ*Hj ieg ?(j(\Yꩆ.W V*7ܠP{rt*ܠ= 7QʸyAh?p@{Gy &p SQZ҂{C4#_[3|ù]TbTX͞Tȧ7nMy 3igS"c G}l45Y JpަԂ%Q<㣰;Ssvp_p{h9v9\/ X/ kGv!iylXtfqY)FIT]Tϛ$Zyw .!Z($/M"n.-HA]Ֆ 3 ^ohcjY`k-';A}{mjo1uzՋG3G͙G/>9$ I|&7^-6rÉB06;ՁL-ϯZ87 vh닓ҙhD蜟|#qMDz1 9nk 61J[Od`ⷱ,/o,bT,$_MW-`S ̍KgoB'Պ&kϼbc6463rkQ0!jqnc$Í ӄzT|c2ZX /f[iR퉛9P?3BRC]"L˜# i Iٷx',͍F"37IywDE&ȕ&-Qכfwk(0MfYUt)K Z<m P> z eZҁ,;ˈܕԠg˼æn_mrI^gpP"[I/ j`̡iV!Rjr3e|і|p1CQ/%tĒ{0H3XM @-A2uzcn05[[3X hkuk \ 8*ˍn*HrQ#fܮ04]«Jvo" 5ˣd1@/ʬkT2.~nyyR2Y%1L6qFOmF<ʭVZE wԴ;^D{ XZ_Uar*WUbZLhC{qj+65WlwfkWz@%I+71;_jLY s9sZt/>fLf~~yyyu~g Zhw6v+/6 Ԗ6g9\W^4I9x^+>㟯!dsJ\]3Z8˹ʂg]7H])]<¸1À k@gWWCQko^h}jP0;3d_mCt*;gT|c0f}h߁(uff'}]0Pt@[ԋ{;r9uj鴧wZ; u#qgVPD zc '*) / 0YI+|zE yܾȸҝbZ)GqQ9з3ϰ!SJ^d񿿩jho=KEO##8 3="I2dWݯ]M(5cp௠nKBCfpTzB5 M S$O>Oxi)==団_$4b"(ڵbV\9ts !@m0@rz @~O -Q'ȮіCXWnclDQpi(źWs6'澚n?k߾yVZO# RaG&>F%1Jو1)t7pǹs׷,7t}X*+11,VUx1` >@ncVZY 11V{u3m}57cv`6 ADe7 x)i-*`X $S1?ñ0m`KֆWۼyrOWmӔվN|TvLL"aϲG~/OdMgX ~+D`!*%+UB 6J̭_ňSoL8@Ϫ`-Z},8@ EcLC8S_0-1 )L$S[[UV[[3_|` ܜhusUʣ 0cQ4_0O._eFDtO2 |_v}Qԥa- X6*j Xk| YuS4n|MDfYUJW? L /byYLJ!)a'._/ZZ[kSYtt$,;CYUc) U|z%<,PK(O /Q \V8#Yt|q` GQOh_B7J&w4hX C)7H}[}癚9Eu)~ O*w%,J]WpR &>A) TtDn?lCEݞHP酢6QbTug|~@Q@Э3+8ʐY4G5Ξ}#yXyzhlc38z"^#uGw[ps\x|9r#WHu:aP.eCW.t7uc"ᛲѫ*." !bAP 0Tq$H7Q Tuh`D4P7orlj{&c+.~p,C~Ÿc?}Zy!E':•bDv> 6Y8~loi3U!-"<*D:!"kiB4U]ӡ|6YB8&`@TS),5l=-ۛ$D3:SydȩW䱡S R ~}t탣WU7I `Il3 y6Sgh<6ΙG9ЎӡDC#. rdCߒ٬ԄXy^Y+!oj- }){< e}ߛX{Un˨2œ\GryX CМ)2q5*;=&ǽ2B^+:b7xX#9^nf-@-w?1y7ў&8XYgh1pDD))[Fo2onHψ?e9fRSbY[Z8)K#M=49=T404:Jyzy`|5,isD=zD#? /\w#÷C)@Y 0ge`Ѭ {x˘-rFinBPU @(n sYg JcmȖ-~}A>lBgg7Ta%+6D:\"Uo F]Tip*Cm^ЛգnPՖY52 CdA ɯ[K$6ϵ^_B#AQeuu*5]1@fHHZ_ԅC-#ͣ7GZZ2ʆ~eTE^W|y%rw2"Oj-mvߣU{:##-_T NV谙u]AuGDžI8:>+ǿ{W篟!? lƜ4t!AQJjƔLLZ:̖iRr E"Lr NjUj#J>ۀETT" O4J> *M Sj;UWZZ(iiY mo) a%F6LbǏur7ةǃCpE?r KpL`j ,-bw\S+YL0h6'PSQ =@v%%K b(Ya6=@< 5YEM'lSkE 1"G<~E`Uhh0^`(z wsx?O> ->+/ki>{EqHf)m/ņb@i==5$P N0bssA۹0/EԩnKw8HVxYNn ْA{l.P m)6 #ޠIJ9YDa=kMQppIX`VrS:zl/Ӣ4dRgqS+-723VCa tU2RýX۹ %A5햊ƬkʜA2܅rSuj TJ}8 PnIΜB`cخ oIYjAi u䭩6! LRR!G0j/6iϷ } CVgN!-kj H!\4{w uIlQ(R5H ̩[&PѢ&[}OV?@)t@tN 0P% " *LPP0mmr 2$sskfգq'Fz vW/Spҷl%^jI`?>w/'|q9p@>X G$ځ!k{&^KZ KBPc1oeI}D^MI aXs?ڶ]ii^%}ei-?wߩ>˪wF{+y&@Kls_vwH0Si|smZ{toM@4:Ck}_>^ؖ<ƙGK^9+6Da»wrZHS|߱Yώpi}=DY7y71vWO4d130&$`'gp'/|ֻw+m?|ޟ}yoQ#R֧/mIMM{gߖ5^Kvj{} }9~zo?MeoiR)SVU t [[Z e)؅ZJYJRAh " @ n8 Ϩ_'1ѐ|͘|M _'xν( " =wkZΫ9"􃫏?=Z\գE?f f7ȢX:^(X!EH0 PeTp{<ز22}:bb@ѸD x'~q@; G5rw+?ܬq{誠:,:洃 @`R}UV0Rn0Gsʙ ܞ+#i`^qA|'!֯%"'BU׀bc7n }nMD2D)+^\~ԧB4^-/ax؋pl>/PCj2ϋ-Ѹ\p@I)OSn`3!9 |BS- {H5V]aya&6$ /ZEP3zCip3\"5 yj}<٫^1r A|+X̋ͻK*.(#^9u4qY2 ,S/`$QB(Hӧ*G(. Anj6VD(1 @^Z"/!R%^3bCr ?i ,Z AYP(Sc`8H+aDq"8Cܸ$0n8)OOtR^:3Y$+ٍ پ9z*](*w;X}C, cd'_!<$f@;u]r. C(;p.Pőu}}PUP{Dp+We!@$>KKO; +>>_tNe%V}亮zP;b]:091'h5smuw-k.zU[(-g`SOzϧ.H2cϝ 2z7:`(b[=w; ke;~Cw &TM* ƺ[vhQ Ǐ3 bELy]z2_D[A.5d!.54<xT!U'/~Ń{i7Лop{ |bs|6(3}4a߿D}vfg+xi#@UYW}GZU{@BOe[wTjOu ӽ{qMDnϣ^6'ЊxdM{([L e+Z[{V46{ #%+@CPda5! !SyƦyG%Vf6&judz}|2arw1jrx-z3N93tyf'C\y6t J2TrnJ0tyR 4j#WqҒKʍ_T[p w77fo.͖]iqj+--X p倴`;Тh0<`0b"C,~hh=_tK롙CH^<~3xwpۓw`ZB͊O﷚[u2Viۏ4Z7;%?j[{t;HeE4{*͕ƤZ:z12a`Eok*zJn ݢ}Nxۻxϼ}{ߞx] @փW:_d*(Cz$m#~Q3:Lҁ! 'goɺ֧%Im_Qb5m2en_rrx|Q# +@ %|%MkIKz? HDw,`:6uޭ˴#-_yw~kwD~]7g(:Iވ,@ ׏,D[]g?wydl+Ś\s o(xN7^nG y>~s{[oW(*.sz2RdJfkIsWB2)2["KY2P(ߧ@~UӫP b E n ,{1ͳ!z 0k"[;ӓ瘊S(Jh aZ*\1f2%'GQ+4;jSD&4וE~] [H$rW`"k}ԇq j'T r_N3n 4^ ~" %". c$lCQvȸNsNY2;Nٷ`ɰBUzFQ4@oO]>In@Fpd&PDq#ؑ lW8D4bRcgc=2Џ b!BTnsUl>{.Krg!Ϝy~L'O{{_gOW@JDe ~ȈXj\D. C@j*񬸈:xpYsl1% MIظ=JIElZscXפ֝V7 sJWNOHťĢ$$pW~Nϥ{^^<^((/wDT<mF%S1dKQt ܕΠ\{2sߞ\k߳-׈RYMvWaLK}WRvMK.LFqNc9d,5w|sC=%N7MUuC@OVE楦e@1i:-:B:9O ƍ~JI `L8N 6aSAQl/e\Љ=v6_} } 4x "[ _: DK7^75kUF&sqL)ܜkbk" 5ېHMz>4/7# @InJ L%@<a$@u*#@ddG0Nܩ co$ B@WIݰ9fk-hetvtF+x (O~~r-oa^l MᨳU%^6Y0r$ X-o5ߒKfx$B"un@6nk@ C@[ClsmVEfaI QoL9/[켰X{̙suR9EL`iῄRq$}d}f"۵gmC@nt,uAiъ25A:b[q]@dQS?f:V$ac!X40 a aH6䟦gI?NCCa (!!dP!CB>>$|d輰#> `_c’9_o쬰h*&]1np88 -%S9"2LMEF ^ە|ĐQ6Y&W7mc͂z霨 {.QDPI$Οo+<1"`O=0 Cã|p:X.to7$ ~2Љ"@){AT& A;enr0?rCFwl[;! `=) B;a?5paϗ?b'f<|ʠ/{}f[!)t,(dj=lH!.5=+xD> c w=@g[* Cx|w#1 @Mp!;:&ط>{+nq4:EY੫ /@A- ұ T4׎: M3W"`Kıi J7ձ}N2}ܜBȚB{9. f 2KE][+[N*I_kWq9v Sغ8w11Ԣ:%a`5/Y.T*1j.U}⒣jAYdRZP.6[//=hkoΝ.W)K$atoͰeRD6iBVJ"ǔm| hҫmbڐAL&k BH\"nԎ7fȩ7s?y$1!Qy9Խl.,\Y.i`d5SV.^c(_VCESM'ߴK16[`Dc[b/ήcn"}* I#`u /#HXjz?(u⎀< mI羊. ccuP [.7WpW@͡g|XZr?)]Y*8"r2!m/'/Ш8*2i DAZ EiT:Kn~^lB0~WN=_r;)*!WG kc*{wB@L&WUX]X!0$2(FAȟOwS/"P- S ތ[1:Z(K̉;cq"Ɉy-o1dLRmla;A߾4}q }Yu)Ivh,UѲC E{# FvގfɲuYzY{-l%C( _%|3T+Tu@gnYY@˱PgXEI5g~(nO9;b'G_k.i` [gvXp,U\K+Û[y e3 x~5[V6`,Mg*wsNGꝍfvzltgCofi}u '>٢Py?ו)pLv1Hqf8y0ߚ,en h^yWLH7b`|U2XDd*K_䄧@ƪ nL\_v^ib*8>u!}^U(+޵;& g+s/ ~eV@F 02[t޹=v([휫:E4螤3]`qVX-m9%' 3Z!P/B)O%m=Q&C!)Sk3&_:Fx'/t8/uYN7} Cl(q^_hi;o~6R /.疗70x7-vN{őo`j/? +oTc+.ZAД/"T$˹;;/}cuPw1?TE(h)vϤ7V=}HQGIzVt{U%_ Tu[;XxGrQj9>sNmdģmU9G V @dT'E _ D<gٸhǡ;`IX5l߷[2 ߤg7S“%B7HsX]m=}!aU[u_ g;O wQ q힖úgKod d`$L _}DXG| nS-TPd5[>j4݋Zg^A!)3Ao {$qU*`xϸxqI.q~R֧JsXھ8=}liJo|uwH5qj q@"a"&|p¡!4@xߦ~-?{ͷNqTzUu{`ߏ!{|H(Qe5yѥ26wʷ$ڴ,R+eJfkzJ6UkJޏsU7/6ohd'š,mk kjEh67h>=,V ,b,XMK9(iEזּU~- 0T.)%&a!GTuMhkնV_kłU^5;1 5Yg}}\SMZ=|ҡ Mf}QS=Swrld/ O-ݢ$,vRYuKf=wrz?cy#F7/󞻫*aVQ:\htaȩCeYw{Ѫ`}dc.sNjm,8"ioVĺExm%?nKmѷ5 :s1߽sAg@;pRs`ߣegE]}Vgչ-׾_#շ^8b{Пbc @7:X#'ݹo6W8t UB^M-cUy)'s3 ٽu6;iGW\M^M=T^ټy.hzn]T%o޿@^0Pba c~"<3?lHYI)ɚ%. 2.@ڔX_݋ d}1 @#%,G$ bJ @@@@@@@@@@@@@@@@@@@@@@@@@@@@֬[wO1?[x@om>+  IcvIENDB`homebank-5.3.2/doc/images/dlg-transaction2.png0000644000175000017500000001510413604616712016130 00000000000000PNG  IHDR'.wPLTE57btyUHƻ瀦aK=屳п󩙓ɕ˹Կóͺ򛒍˵섖ï̺>艐mdHk𓨸ǸᇈҴvR抈ɥ{m[윮ʣ޹|z~]±ͯ279ɇ·y}z}z砤͗Բmmy}b堓膫ǃ̿xڵrae×es[~sپ̫s닡]\d3{WұbG5ϧIDATxXSD REH,!Fe ag2*N\WQj]=kl 9y=3`!0U T1+D"[+&^Y=L*$D qHO](b`>i]B^A|Ss"m}!̖NAYeB4hJ)5Lx HT/rh;$ wTtttRt"Ȕ ! ^ۆ[直ץXDg^ӟ+(IkDUxxQ@̡It$tH::$ !c^PhóIS- *!O2~"@FܞAdh -Q[A9"3N$pPV{%!Bǩen%0X߲5ffc.MyQ,ضAPhS#K *\.yQYtU! aky/]4u`{X1eZ1e95bPgVF1/)_bb$/Rc.9\ }@+2X&Ud R!"Ph(R+R⦠UO6z y+-/r0 Oq}~w )TU-2~lΠ&$BGRH+E ɓ '.b_#c( B[1`Ex=NP#ʪ`1P1yT")p8 {`-QUfPp\Lĉ1QJO@gHS ˴N:BRxH#0%G B m- H!CԨ0X D+)E[_.CF|y#Lϭ!Ue1H ի*^?k,`0 YYY+4 ZT5+B[l=l[֐ pE p {kd [*!Pl~Y3$*HRPI3޻uvCho("\ߠCBOKSKZ24pWSY]|.wʖu=}LSD}c [9q 7$bwsѴ4wy(Gp߽*Sǫyt!M?:[}SCúwͭ*+xsKSU.=:iF/|H˄Nm,gƹE]Om NQt2 |m¨at/5YY}]YYxB+SA/eV [w8V΃{ ^W\4F«kPT%zUc?D352S.sc7oͧ81 n{~vl_Tw.GsL(LJvo<{jIqb΋Q:=˙kkuuhŖ_> (L74ɮ`3xDr{s- g)`7HtXHPR `bh>R[Lv6Ok@9j*"c3BWsUq1<϶Y-Np[,v'`tyQ{o(fW3t&+X/WXB!Ck-{7?za&Fh9!r!#׬]XFH@…'f3mt+嫞LK"go)֨ (>Ў|~ӣ/7L}化͍br. x~mksf~v;5HhӪbeOV?waᑎYU($h;QGj1E͆'58yocӓg_pWXtoÎߘ5|Q}Ms#˾>X;fS_f307f MO/PXBOap d_ng}/W{ΥQGt wXS,zd;Fm#OG: m F @aV{`[sxhA7} ?4{l`YFm5m;փ)N~ÎmP0:X{Ψm}jg9G-T_fз _rQGZj&?Bor_X)]|]OD{y1CNUHq '8R`|Q Tl1wb@ۦE29mPhS ͦ0qcFX_w93nX14tzYz֮OKخc f+Ϊ?Soo9vQY`nL3ܺŠyfUONV΢3>>1c3UKCg{Nސ4E8_Ƙx0>Tk~'Ի1zrwnpsT-6&I;:$>~l+S jq ŝ~\Xqbo>TcUo{i厚]?`,+)0 s̳-ڍn '(OGUVXF6GU%@ٮ*`vF 6#jy`d.38ŝ=“2@*?;@m6RcQU恂N_=b"T+d{,MK:K ݠ6B.V2S|ͻ1mhZׁ &z#P [KWs<|nZ!Pa͇ W-=)Ͻ^- xpRw=T*PZ@z= $c'5;0!M [%H<7犭^d&҂SF,b3vv6>cs^WgDCU蚨av01&6lMf&icjl Qyku<37g-~7bTl[gʱm$y"@Q-7/wJs H?MCiԗ{1R{szN0S!nizUg"@ٮ(GŃ '-^l/ߝPtk>X烿qftjc[5_/h[rKbOfh&Pt h~p,N:O# J{>'1qW;=b?s+y p2?n-R,#?_8Z69~f'_ey~p{$x]j&*GA >4XZwZ+^jivF&oY=OD<~ӵγ2޴:5CF|kç`,0+@U T*P@Ű$ U T! y1BFCGP%T*P@U T*P<_h#6T*P@U m, ENVKH 婟G"mFoQ,r^กhi@eI߿pUiG̓2" ^p^~"(ʹrv8?jSV:nx'ooluYVH(j~S2B`*CVd%|Dɴa;udRr(]*&d,+ (&5EQK*zBfven~Ԭ]VJXmcG-#XA.?olnS#-̥hHBo"]7r9-ݹϺ7VY ) pٝcz*iuQ34G8dSQ\> uAQP*mp JJsu:~ "zn wݱn?\c8@R(s%''WsFN(%Gee}Sq>~qt)]SE(?$2hsyK@Vw2bNXpH;)9\= cL=uKXcs}X| Jaw=Cd4phVQ!ʂn 8ȯ !dL.$+&[rP8 K HS\FW"Xa(]Of_J)#-0l/rq楙C8 n7Ru1ŗ#f,V72WCJ*@֡0O(` C껅:= A([QN2R@ӹQBAMN7_M|5hֹTUdn`]"p5ҥrͿ4' `ֳ>mWW둖? :^*bϻhZWpέRb4S,!% tNPB ջ)IW\@ Ȳ"885]8yN5F7 %MAPvR G%9 !ݾh4$TmL3K\ J\rŠ"9?f*D]lcҾpHPqإDNKaJj n)|/&Rx%<US%K dJإ*(ԋp,A]0d(#8- qPlW)VPT PB+D ei H!#-)MD,B!D2DKHA^KK'0 gIJ| ^%I ,*uqQbEvi*PU sKJUGb1ȸfGK3 IENDB`homebank-5.3.2/doc/images/45topsending.png0000644000175000017500000001643313604617042015303 00000000000000PNG  IHDR!j<PLTE~#«ގHv{a:ⲶEtdCXzDhBq軿4:O9W0@]볒kbzV>KA\w_H:eJWeaRQU,6AAAmvޞ.3tm9>5{;m[qyOai9S7sv4=u{_g"_BɋŌmm;[3.mf3o}sVފ8H,E#)={84%KSc]!jH]a'2X\k.?Ǻ_@ 91Ijtj+b ;o[ȕLh{j(=V"ԏɻ3~Ƈ| gy{]n]̋ ^>.|wg .VqvTEX؅!/sk{ ix͉Լ. -wIoydd?wv24͜Wl&Q%BYJVRFkx4M5[PJ")RbAMRPPrDDN$oITo`RU$NE:ť1KHFIq(!L1Ij!ePJ BAA k)+zWVpmRA #HQJcR# "R7>"?!s.g6 N|zJ|D@a_ uvOX0n|C@3ԭ? یb8~C/!Tr2`%OɹR$>auβrCXQ8 !T P4,+e:U`h:U`ĶբנYU4䙞] b{ !%~A<!Yg.tw|Qm̩0 t%#ahT% %$d$0BůuV"dTfCTօUaJ`AaF ]3QBpG~cH3HRFV Vڙe9 @R]Lr.z<5/(wd'up;k^YvQZՊf'wD/8 5 ]=1|휿X2'7˨ jjC-<ʧ@|6.o9PōvÊTOաB͍n.Cv5`tNLgXgMߍگw"F>d}ړ 1B~'i!CÎnfi7/>ھ.^:Z]rѯ]iWkPbP;39g!!RRk*80&=BWHM0<& A^?k<nB{!BK"c;+ovwwIfm$ۣLܚbZwɍO=Ǯos4:׋%MU(Z)mQChTejQi44q}! Eyq.Ŵy/$DDp8:탚۠Z| BvD|yzl"$7.` Frׅz=z:\'b”|A mDxEHN!WEUԢ{JTP jYIRfLIE+PJ>"jKQd@_גץ(ΚuklPB*V+-+t7UMOJA g BEJ?K<5pT]Tt>D $C2+?vvP[b[Lj%` J`d9!zɽ?ߚk]SiMRoe 2gsq~`cXi^jC}A%ҷohNlH7ۄ$`~*&TS`*m`"Pe2e4Ș7|bձ\s'@C#3#cxU/ѵ9zpu cێ>eժk4ORCcΜ9M&ߧid6N9"O>i8وHHGj~vʔF$BvktGH#BHGgdBs6RE p2&Pi(t\|w:Qc}=KLXᕵA1uK<7N󍤓`(r>ZB>i@$5!Bo* a "}oI2 "i[ ;hu| ml; # osqՔ)#SM(%ËImI ; mcV%ACȵ"[]mZɉq!!Fѵ2"#!I$lEy`/x7ePB̋q BG&Dx8> BįZ+!I tվQR&! Wjb4hoe0`2,&8( l*K6+iF=5[¼hnH5p=9NtiK1g5i?MX/!zFnlϦA-p$5ߕEӦu#dŻA࿦h*I2 Bįip$7 OV GhЄmJBzТO%$v {JxB拉/ύ>zӇd?-ozKOp=(-5}4>UGdH@~^pj'a8@T! ,-q䏮)w'LAҕ5qF)pmN"-ʘUԬRnѢ?>U-X0g8B1"5G=oD_rYeplu(>'o ǂ[4GZxBڰ]:z=Z~h⨿*\_~ɢږ_ 56r~!B&ꯐIǴWm'dLz.c!s#އ݂GGVd@*MD|*([G` VƖC?ceEW^V[z~ÚWDQ `? 1^d)~PM" /J=iukf`&BXz I>ϸ]'#g֔c1݃粨8qIpi.yH޻o?"4!2w8<*i4!!,sdA!E}yd7hJ6;T,ty4~  dKHC8BFvur4}?|u05'}2ilZYVoVz/Տ i|qf!q2寍CJsN_%rZ> !#_ ^Ly3?U}}NWfɇn^OOף`;vm1g`$$oS05<%qq;fc޷I.#ה!x>~jP8f?3 C21~ &>!}aU1j ; ;.N~;Z4L(zÐ[ꐑKת`w!TOuEs;TWmP;E"JDNLjQi2aMV1# QmԀ%3H\t2|rvNz5: w|hIYiXv_O(Yi{'lJ0B Kmy( 0>pO!߳W[LKX2d7qFp~#8 n!%D[CB բ+}457t`7`!b~(!O^܌_ J?%y}r%k_;t^u *qn]M{S\BB?4tBHtjduQus7Y _dQZYqYVïLͣJ,zZreT]W8tVV[Lf5+﷝9s[aV:D{&XAJh)|&ŷM:%#S_'7.`><2ug{[/@yһ1~~w^LBh]qЈ(jo;1N úCQCPUkL('s_ KU#Ө~Ghn" Z/wsɯAՐb5 {tBQ-,8B4dD&ddEPx$..h#3%iTI{sΠke ]E?U9foXAib~ď=|u3 X1y7ќW2f:9hqr\:{Dȴ1ÔiA׬ B׬ B׬ B׬ B#cC:Ib IFIblH}(NIqh~H)IENDB`homebank-5.3.2/doc/images/hb-ope-cleared.png0000644000175000017500000000121713604617136015525 00000000000000PNG  IHDR(-S8PLTELiqSSSWWWYYY___cccgggiiijjjlllmmmpppqqqqqqrrrssstttuuuwwwxxxzzzzzzzzzzzz{{{{{{}}}}}}~~~~~~~~~%htRNS) # R[_)6x7j346uu23;Zz_`gS~$Ibns{~~}}}~}|}~~z|yb^IDATxc` LQ^(|9 0CD02(;:耘 Ƣ Ji 4M7HQWA2)Ҏ lOQb,H@;> $6ObLhx`o8$DO-(=ΖA tW9yĊIENDB`homebank-5.3.2/doc/images/win-account1.png0000644000175000017500000013140513604616712015270 00000000000000PNG  IHDRA$,PLTE5~5yUH59偄4LCW疯碤몪cı;蠏ȯħϿجj署u砟v񸹺ñٔlQ딙ᾧ⣳ܶٓʹʲE铥ɺ⼻ɩ˝ϻډof]ɬꟕʝ٭´诣Ī̆ѣļ㲞ͫ䫏ҋѰқпڲ}̘±湱͛ŨĤμרzشܷȠջսġٸvgp~rxϭþԟšѭrݹۑ~ѓ찀Їrhr]|x>y⇻Կ_y̕ϝ\{YN@SWXhg]j178fnn]:jrC-eIDAThhW%XhR&AX,ٮDtssB$##X .c*d(FWf&rz9ܦnĻ`Rpp=͌~Vko5?}ӛJYd9Ǣ853Gg_FrrF҇ʍ$˹ZY`YB([IQ򰁦aڮA4hE=joR b }U(h_ W9{~'//rl+c̤c&rIŃ(0UICUZiFqЎ0geTa_bXjFs(Ωd(.3 ά5v'qޟFq'2<+7,l`,qb|=z%saV:E\v'r0,O=,qzPuoM6m?Ola3 2_nL 0y^-.[pl\ F~=~@pa5/o}{EBf߼8p{ڻ]O65SC! J3YK$[s4${1ۚ˚n$[8s>jџOCvc<7cT8,e9`,UP9b d<.pn?)ƗWt}l? mO FRzҐCR; `/^ .q< !!= ;!'LN$Z_ с#0L"(:@!?@I 2P3bF#&HdjHpPb$ &q>`yXCg!Κod9k!d9˫d0$,XjYd9Ǣd|_g>`y\"FLaPd-|5m1EKD>e;á7{7\/C))H% "`6Y`tG51.ݼw5x/Vۆ&{>%6POP3&!C:`\}|t~aUJҡk0tX e]V:ZZTL&>[ !nbp$ia3ʂ8Ea]%t"bP\gT-iń&VHP"n ǶRGM KF}IS"Q1u[ʷշG+XqJ,.`qahNPKlt`lfXBoUj+*M(~_Zb#~Zcib"*;kB80;YM~,M  ZpFN`UBj=0%|VFvY2 Y 0N0-PiCNtz恅)m >Ը ֿ0Jxܝ^-pZ73*-_p66"RVS6uS7`jkSyxۣlKi["m6mGvDDiTkU^B)ܰ^_؟OO 2vARg G8OHS^F4⩡ 0qgsXtIu*T@6M:a/M :-2EM2N]I҈Khnj˪u Ģ pWpj ѮΖ/@Lrzm;O?i;Ws&fn{^r0^]6}<,ܺFZeeP:BxF_vB~SSh[3##v  :J>2`375v!a45éE|+!!V<_~=݈XX^,N}"@b5譥Ū),%\Vk`˒7˂> vTB?E|d?]nX)]F.5b]x'!XԸZ۽U Za]%?.Ytv6\Mv7൙1i,W . RY:.f{|E-:aEEEKU L 87X[Zd%.pև fuadCVz|٩_O"g!fµ6x'ed׾\`V_D\/-M%\&bGLhPd]IMЌvkq7zOiaERI^OV  pGآcW8fFsRzyn0lSȉTd/`|KD9oBڵ9]W;v<[PD#j58#L_dus,7zA\ŀoEzHíZDh0yBxhݏF "W.~",<3֩ޖ7Z޸d:K7;XJ B%iJڞ_gL = sH(lveR۵kiTWε۞?KޙUn Bf15g:=p.Pѿ( ԙ@.u\%9:7,(c=JLSW':p:t?:#{lE:K.&Z>0H:5ʗ%O E ÿX^}dlH38{-;FJXAW&C`ǡ0(r >&ԴۻDz`ءdcySnsk֔?xu|5Wa5 Cj7y$LJEhf.]|/7.~ -W1hi}||=fui|4t졥 /2ROXɵkոJP_d̔Y@Ǘ/Ry*MXS+O0^0/@>E'XRG w5eO*`l$Jo(79:R5/ fR>[MŽ0R!`z[aB,&B‚% TQD` U0䞩N`™Ev\KBt0t`/z<(JޑM @UZ$&{o #`2`R/'`Eq=q0D,4\6mG?ahX j Ɠ gPh.}S'~{MTha|ך׭ǚ]J5\S/}Vn a?!ws{A#pȆU F>+2+i\jVr4`1Ki,lj$QN+ }ϰ$(VڱU=&Qm>&mT행Ł-DqNH`GC1J5AG= q_8ȉyH`,nH4Jok\kuv`{,lu׫{UF3C:7sk%J$8-[Cc`A@Ev֏:ߥrJkѝf`a.8?jv݋Ƣ0#i˸ |A)۲;=`-ibzLY[nD8>,G,C.`wұvi}ݮd2Z5yV"WePl3[4;kߺ55[r6/b/ĤKrTºbJzb).?גꋫ@`ŭ8 [ B,l&C5BJ\lБܖ*#`}O߮ϝʎnVsBn*+=h ?o<~߹ݛ6 32e/?-y;nol޸ywO8ڞ @X;=PD[P9ܺiecsgNhN `/x,.K_;ἍJp{X|24c+)b$8Ryl^%cV&=ѨA[#v;Q^kY{s^eԵn=T>i=|ᇩ'Q3:m(z`Y]uz±.Gߌ⿪'զJT¿Q6 H*5bmoލkVi)*q޴oN&"} X.m,m]Ps|M'm_"] S( bz0xsfˈBrtz)[Len{_  ?xsNi}[O:jxDa%'#U^+lM. UD}h,m\ŊaF^BE ͯwص?]|l`N5#x3O>(P| ڽ>1-.uN] h*yjjrڍUg=cqo:>Ubjb.~Tk6z)f `e( q$n%k阥Kx\R10EwuD|V:rdZbuviJ.R<{l[[h cxؙELpdj^O!P0̻ϡy-G_'8.Mp ffN/(~`a^WB6eнh>|LMT`oSدNγuu>=:RkՐi2`U-%ɣ6_fwz0I)CF.78T9N#5ERJDy%0[TV@,JZ xW `*Ƹi(\*c F0W6G1'7WUB_KpOMg1Y.dj7 py:5bx7<͒~-Xϕee;XK|椳ӟ Ʃh[~,IBybhSXVۉD"kT}&kLUe7R''X7<]|3NP'ny R1ogLԱse[nHGU,XdV&ї9\usXUʧ)D * N52fV\5W^ GJu e[p/*g1.Gv2hDLyB2b| jn*Dt/`mQ*|F%\#| UZKR@7*%@ h^-r|0հ yƌ lgpKB|p$rƒ'1${g%|B-!`)~%6ti5#O˷`'81E^MNt뤁Q]}31R@Ҕr Djp$8ԧYS~ !Ȟ${!{vQ <@ % !%uij'O\3VWƻ Ә K8X>aBa%%5:>uFNĈ q;3.e/,fq+,a13ҙ̌Gj5`3LVM+ 1& $1{KsY^vfgK#uoT7t&,/`d"PO/<RgLfFa2Hz:3#H+a. wJe03@a"#Ep~~d6yo囸Dy2HLHpnZ^Gxmc~ Vwwz{(ii{dX?w KZRQ,+E^Jܕg=Q̬-gmeسzz+U'_O}ءK!2^ggϋ9T2f́Y{/ +#7 vx : "x]7 ko`O)-Go-%,KK+NM c)%( DRx`}"y@MCw8^%jش'_6zGTc .A]?^qc KSͭ`PWطϦޘl)__>*_5" #R_ }H0W[ W6oGrG3RZB?灠UuޟA.)6pγЩ;~p:\xch.aFJr)H^8v IgZ seOjZ sC31'/r";4>pcD:ZS7-fYĠLMZ9yiOДWjJOKb3GDJdoI9M?ſ<վupF؍jNAā-f QDtk}$- pއFZ pG8A0CHXp,I4um p~k󘠩|.|k37_)?H=33T+??V&*&묬S}p0ƫ|zs)=1ߙ+93qfXYɺ֑"k,[{]pZ$ʬϕ W/GP|@p Ƒ%nPAvZ?,VV8 +>ҿ?.Z[?C xl- ?81? VK׬߅9Ln5.zrnοdd`?nf#P{ BӁl]h~Vņm,6ܘi™酼3WL̕cc=^ӂ%ӁF/ɉPϴMR4prx HCRȩQ$&pNT8!e <(c|  LEFc<^{ wQڎ7J;R-d=K*cV憞3cyEvE@WpRT{5Mu}ZԮW)4thz khal2 XPoAKa0Jc"uO$G9?%4̣$(k+S ƱSb* iar .2+LVB yןuܪ]5%JȎsiG3"*$p&\'[WzOs :ׯ&zH2l%DxLѹDk 'W;r|n0=]dC@ x侂+'`E: ( SAN!~Sx8ƀsvO5h*.98Xn0 *O;Y\?<9?X__uC7%VA9]1p`鞨2/Sc2RŹ6;p{#ħ~C7o^`"ËLPE>4A@Xe٫I ,X\שFo.ς}oO͊?mXr-n]OdwAvrx^|}~yXH?'cߗUk7k4`lFfyx f{}M31jjFAvQ_[򔠦pGu ]AwѵsCήkp 0ȹuGU a3%88G`=kdD%Nv@WzZDrR)*vفV)Tg]cs}Yr^NXřy:͐MuEYBgqkS6ux+ixqMj*yi@s]x.*ɁW9M4̠pf"}<#T&%Bub9;3HEۂL'ረ~{Txgę>!ݧ".j=T|*f n)"s,z`vhZOkCq$=7LqZV?Y_꓋ϔ,;=[ =p6*w@8Щ0YݺblV7(vgfZA;?EVz1JaS54G5Gfk$@‘L$ߑ#q&{%J&tE=RInW<o {7TlNosɸx0Y;;@( O'1.-?D$jUm0tmOPsZVXh-D-L o;O1 [9 M0oa,H9kƼF;l%!(tFnG/ Q1W<\xd78k]?-h9qCUU]:i8@+:٤~`W@{ģv lCknK|7ϮOL*o8e嵦 6{'%Ըng;JLށ;|xE==~P }J׷Rܚ'f"ᥔ"Zڇ H*c2܇y?)!iOPOx~9Țe=Z'!ȩ/\]O ӼJ^>dU8D`aph ),1_ O PLTS ; PW\9\͝l ;mcѩ'h"sVt]ތ!*-1pxtapaq٭/6)tsGsA UAW?c7[MKtbw#|_oG,Q* h(KZA0KGk},< |ܘu,rc0_Уe v`b0AAߍ -xB  Z?h- `<7dL& -_qD@ʄvZ;LfGʶ{_ S#b>&O 8b9!^Jn% fY6 L"KJPrcX[72~KnMYF]vҿO8m3BV[t# ͖{Iǜ~zN&YҶl ?$vE.Φ=V< -#fGy7a !l!-l? `bۍ `0MU6hXnR*z${AG˻g)= kj@Ӵ+OƦ_zT=UR۔I W 6_o ~.M O栉=֗=nr=NK[V|:+FX-gDypr?6 WJ^Xy5wge1X&\Lɻ޳ C36 KX -Ȥqi3Tl 6?1kkF5sk@Sb*SKzJ:@rw]xi+A>䒊_cY_n:S 7bDz1!ɾlMNlqb`c =0+3R5HގhFF{Y<9%URYl.ȭe0_Cy5߄̵INUN".Lbt9OS'a{>q qq P"n,%ڔSg8ә ˀƚLƩB]q=ӱ/2W|o#&kv. _Ό9r's~9Xlje;Mk8YJ칏[5536}_j\#Kیe,l{b355΄WE~HOYܞCC ?]TQJF̯eWu҄'l W' &O~8q0]hMgTaќ gMܸ 4 "5K NNɑbENgd s{?{m0 +qy"KRǜE̸ėm3vN̚^ x3v6f 94E-BF(BҸrZgbO*]'wb6\e;cb 7J\ 0epΗ* ?f;mxJN[-r%-Qhǚ0jWh!ٗ\.F9;C65 `#D&y#L1%4?%'D鸠/^VQ, (L[W[ Acaͫ Y5W)vF qx| <mbtx:/bǬ¡HE'\Fө !ett1w Cǹ]aqIqja`tǠP %B+wh4{9`xBS8>y4Gc80h)bW9 M0pg<'.§sdB.<>bs2kኬD|9u$2-ޫ3Ro&E+qʦAval@pWݜZOkNS+*o.0h57:ڧ yu+f!3\ 3v7Y `'`꛷KE/{+xPQ%܁ivvd?g8rbR7!oF0En_-qLf੿=VFXm?﫬;z W0$J)A(ѯ߉~m[yuYBo$ՕͬF&t ځj?4=7rC}哤 F^ܮFCc- -kX  5EH)Ob7`ǐBx!?0q>J737 2MAX0O:HC y@Ў7AœW$Ez2Kmyl1(yS1WF|=Š"Nmq?JpONk6j vuP [T\}YY^j:ph2̀RNI-))Lm-L-`)ϗw{s~*1W6dzWNUU⃎_pZFxx}G)+_\.XLߤk"~ uJjݣ{x)=`FN@iydi؇2d[!VA%F""`e')5ŷuR Y&Rw@h.oI#wl0r+'r=7G |Ih L}I|rl`h4 HrX,dy:\HK2VJi7G@s\ :٤~=*C0[[9Hy ;Caant| 9r殹]=2+^NUY5s:] IJ,?+N%(l]ű/Xbۺ\\m`d'`J)`sY)Qh ~5NW VSIA}%o4{C!W![^$((P%Ԩ W4UQ .]Fs#N*"y%ăAeGC[Nyt5((!,Oiݶ 3}Zw\ʩ>-Hf =GmcWW!NKGF>@~Av$Hl{`ܜ e^ȠyDƲ?# n:Z_"hJ9˞;jN?#cz#/ Z6uxL̕/hKlyM]^^>bv2LYTp%c4IaxGK+cZf2vG.ޫeĨ#~M}/?(;_%3'Df`Hy)ݩ':H/AꚄ{Y9Wrڑ84,n!̛;r|W*z~ښsCm $=L0,v9a=I5|,P*7ؔʹ{Q`Y;hO `a[H "ښ+;;hUlăs2T;:Y=$L>ѓh0{,,j/I#kF;>%Qv6p֧5:h!fFj!WvcB[ +S!jX:{|5%HA{CC^PppII T"%|<,z +-Ө#ZlV`y"ˇ.]Kc5sd(>;ش!AM0+q8+ $xj{! ME |͖vLu$΢^O꓾Pito*HinC-Ȭ?_ϼ|[ɞ}8` PBo?aReS`X`yjSLے|CIIC<ǏOB2|%;P[Ve$<욍S<9ԡ3k p!7Dې |OCBbu5fQIŦ:!ELsj4,Pߚ8L% O?}Xu=ogiosC$I-n8}BBpG^#;WQ^sz2z\1̚m<d: ubEO ,R|i+X:HUTM j/Н*W!F@8"UqA@g"e5kvmAڏT+@:{S)<=UnWx\ &X,H^ 0aѐ\fIf >\?1<<@%`yGIO*Ѷ[W^OV"@xt7q58S Œ )XBӋ-T /o/mAv*W=$e]?SJd=koI"Cy-OV&%s]DRp7+6T`'N~uiC'}̍A_a#a__uz`{`Pk%+h4:}MS79Cgጁ;S_~f;vV #9t_H ^ F6` #/d`ǑY&=۲]9!cW:v1Y;8 ^kՐGGѝJzD;&&Ƽ'҉`6M^ &O$מ j{^>]~_I40TOPb+$2rx$9P בfuɼ(1kE^HȖQCpS`M<8WFz W o W`av%HswkXrMn{,ɾ cFC' E3_Woq S7BQs wT| H`Mf-' dz oj#}3֥dP,O7hH 22A]IAU,P#m~ f_1Gً9zvŽ>8҆ YXc0旻Aµ]zXH k)I=ljc/&=VgBջu{Ï\z? 0:j5R NF}"CRS} {Zj!Vݡ.)ޛ8ԛRwgG\?ِ!oz&r(wzvVg)q3͞&&+ye=0+SfF`y`K nWq^,ʯnWd@T{dhL*L i9K3F{w8l_ϊioȚBI N/̝޽Zn_^MW>h =j׃^Z]p&ΜTPqJ\Z:N*"k_Ǟs+9LxtDå;TԿcr&:Ty/[Γ&#L[(""#c , 54#OB{{KUWE(j<[z!# /W5t^BO+%Ef(̅`I>R2[$!y.20|2p۬EצX;^~W{lv#p!@憛Fwܼ 9T~)3'dA[MNe+< %j ԓ%gB=M#9yt6@ѳa5xE 0srPMfub^,뢵[se)EYh2U¥!OAVA.sEYuu/v^BѪmKlX)#4.FG Lw1/z퐳(ԹB^Dl7N`Fe+ ^W?Ť&y/Ot9j}{ZXAI{,_xx44$v(6W|ґTxP쾧N2A =$쉥@n^HfBIL{H%L5mH\Swk̃0'*p3Y,4ѨUl_1 948U*haHc=߂=l ?9 S8F2FE}ŁH3:sӰ3N'2 +3^C@^:PnJph4 s G3۽ 4@xW9 O0-xhW`g&<4:$_sv݊3<'GǝY0Z3پm  }vN4B 30TP_i7X@c7/6^w^qQ>Qgz6\ ]\Ўmc~#wuԕluxՀa%S(eY Gn20eϞծ֎d+lXa1+r~` kc2b v+/ 4{жJ<91ɉWt<0^rISDfapI~~԰/0 !I^h%Ck=2bB{R+ywDj)l|cܿ)2)▶=hp#\;5=룼%9t{:He| -V]X z࠮.&-;.p0&7!L'--1׹?. qO px/zt;AU'H;+c^o%ҏgsil]BC/9a$"eC]Lln6NqGp:p_SQyfB yKE9޳ 0>yG߳%oB`f,R''2 f-4: ,X,s-ֿg%!GI}]IL ~0e (Ȳ IDzD6   l\ɬr|;G}'2a6uΪ SU A{z͇{!-~g1APQme #KO"Yo\xJmr /Hy^ThQwzcLg7DsD2: ƴf#i .WA U DY \In_nڿۏDfYū)5WjZq)5l7dR3At0*E~xX\R>s|=|޿峫zGɡ ?EKuH:ܽ}%NIp=^D ֬AxQ zfAR .1B1:5+日eESXPYCXriYѮL50 ߮INސn;@w`|:d8jY`4,!dGˏ\} !ZVW{خ~u >N2dʏ{=yr zT\MV5H;SISZ_Ⱑgw|݅Z`H&ԴdJ\,bTς 85G" L1Ld9"9BQIRyE!D4|Zc m+w^ y uVx=j7j3{#R+ןVN)28s;7Bˍz3$;v7ho/'W|8ԏW(YVc\Za^'. Hp!6\ x57 N6wy, W >Է!h`q7en.\&o{T1 jHE('X*@D)bu06%2dui-<6:/kpF.EL73o"<c3֙1<*L3\ɷB;gQpy e4|`=0/~tg{S([b3SxJ%n#̈ت|d>_ӳ[<<^υ?86|.v;k=yMy\h.7&WL}{ ^B.m=_xEy2VuNgAĭ*{{uԅۗn %l*x:+V?/ s<.K {'<(o(aoz n!V=ٲIU_CeU{rrUо ccb9CYG>՗S} V{"Gdž1}ltw+qvSÁ^|x/侹|b$^4,sS]Fp'ɫ L| W49*9˃]z`U0>;4A1\g}Z}sm^1CIε}Xdxa;;׼bAZ+[M֥O?_p`}LZ dD:!CiόqH Z Ufd/>xm9N>$,79 I?cFM@,7e恾w^[gt8хP3eǹ ͧVftsf̦s_I2dSC]ŹLgEjrMnft\瑖)W_2Evw&˿QYsTי= \)9 e+gF_B;EZNy@[,8dkwRӴ^GS)DӴPZڪfP)ˣ"՛%Hm /B[S `Gy`< h&Ò h5Pzߖ} _TxW/jOGn!ke߅OY[ڢ`F VL v GCڈڽj^< {2>d@3q I>!o!?`0p7 0s}IQhs ӝ0}F Tj쓠E,"Cu>~:(|Ds3kDiGDƒg - RP'엊,85s :|er6T\ "u"IGp#($˪ݬ]l/WMEGi]Y[͉|Uk˗d,2eq涟Pu^a26E]$ A,NT#0FhCECM4d?4匧r٭p1:XE?48 8A yFjQЭ VGyu[v950I\&9B]A{*H..Auq2F`^foe])d ba4K2uLFp Kc%/ z{NⰙS0И19iF浏 &({ /exKZoW]&!烞Ȭ`Zi([ #O'q+`Ȋ*k;/ԗL>1 Y Ks'P<'p>:;L : 9 ܝk7Ԓfں@e7zP>"NArrΙ'h殠VUb:⪊3̻a6͗2C2+`,Qr Qn/jhPZ=F$3aL}Y4>Ϩf)X)) -_ it,dH&SlUK|agiT*`=1E- ޭ[7mzG;R*Bn.  p/6+َyP}46+4i Y\>BccT*!r/S[|ENv)KVHh!Լ}Ai;y yF;8 *iLSɖ@SG[/Ɔid .zSI3q 3P~.n2VC=}ŨraM0o6) %t enF Jt&3 %玗&kJ/o/H.ɗH֤~"@mKk1VgpMv2uT? kg<\܍&f^HuѭK;r40*{bOl+$k R>hñ|\LҬ.?XQp_?3`_@|AG,h QwoAp`VsM@ I 0~XSM@Fhnpl@lk ݹBXSo".xK#'p 6.5(qアN5~n}W`Oc>lI)+'>[fXcg[~?QfŢcEu6h37Y2bJ]CVZU&Al0VVQQ\L#L6T.ڸ&!9FRw c }ƠǾȍwz~t_[:~62я^i#?{>X}+F0:U_oxV;q' q)Yx ᮲:4^ĞϜ58"+wo)7qu՞'AmE#y͵~5[OE>1 + 2-CY/ib od]C}\`)mejGu ֎~p̓~V%N`["QrtWdeAwf0qXd051X&iɃ͕ɽ{Ŗ  XklTc}Ш/q:mDF N(~1b֓qW7&& d* F3Bmdծ93z\U"pm8JIcڕ `ϵYѪ1 u@QEabXaF~l?ܼbۮYEwk0PW%j finkk( {EG Y(-۫_i)<:iCEֲdu ,91;?jì6>0iYh&` \&*r{;1%-˶6ya x}}O{@{ƁYpm349G3:1is}a<4U' \%%Uӏv=,R&3 Uy7&8*CYL L `[!,7f>rD`#,Miԉc~Z>ɋR0VeX~IfGnˤU*,aL!D Npĕe+||DI6˹aQb2K`Vl&0l ,\"8 'd=ڱw>XPy8R;5>qLAp ujh0܆uwFb/8ˍpK_Z/^x |nWqs-._~l{ŵΝβȅE8:TYz-G쁍exB,Y0`le0ٴ|xQ6- h^)& eVBSHgϟt /n4cؙb n8?g$`Bkڢg2~€uAJjPC,`a {M,Ŧ䂜|fI@4zA'y;FfIJt?erbzJiKK(QuUKR\T.z`(_UR,aZ4UZA׮߼kpV^gYߔnIPvZRMA6~f#Ѭ m[t1д|8(i eէfwhPZ˪Ҥ#U mI=lKtG`ƣ{ZO|r1n!dvGsz`DhƩ쵄p;z` AՑa8(LG2q pBNc/G3i*Q-JS fafV]C7kK aG|O65ĒxJ_Үxp>O  Z3!#IM"F@᯺C#`҂LJ.:ק9(HM"*шWtQyJj}'eLOx`A?ݕ^1da~-F*#5 Bz88躭&> K7B1eQ^`䷳M]{KЎW=]HozֆWU)~b[u2JBRnيBy`*7خ:w F+4/ 6_NBw# M.&w=z߯?Q/ Bw D| :q@Maz契=C ڨ,(9(=}mdx%&{z?MVBNBCi-▙lf$hw3'`܋VE(k9O)DnsjD窫5dF"Os`=5c[xr^`Yۧ_ͅ?;ρo/mל~]%=R<)`cc8VOvv|Zx;OfӺl}fVb Ιى[ڍpG62Yy ؉{Uw/> vP Ps,58e qt<0gʮ8+-._~lZ`HB}t^|OCON\m ڱwLo讻R̵w^tjC5KnAݛUl x Z|~{&1Gn9MpYV:I@,|$/"p/9%'2r#ҢIˋXp#8]-, %ꛧC5fcpi9?ZB8ظoXLmPC.hs30ӵ*I4:@_i9%dS=nܼH mnk=pCUZi$!R MX&$)g["14EP%@攴oP BOP g <Ū}PjͬhD)ps7閠\)%-{ S5َgWI! o[ɐ< S96LY훕W]1e+ s=WiYM qjA5+#%ךz a3IKNc{R-ho-}:N3%VI4Z$ɀCjX* ~Ct:tL<\7ޏѼcW6K=SAcq( cd S[r}dHpg/5xsdgs-4 ?Md%h/֙ ^%R>z~7<jy#`` e<2Sۂvղ)h+IL!-~IЎ4F^45U禯ݙ ?^2C|151g0TZ> !jƅ| 0#SYIτJJ ƙYC,t ڻlW>6uWH:hcQL pcϚXmH#5 !X-Pjҗx8kH7 ߉+}´l~2ژfl#ÄOX6~Ŀ8.I_Of1yQ;q `[-< _U/M~ioau/͠{in,+ֽUɒI/'=>MK/3(>7".a$Ԋc AbsS,q }ϴg]H0BƝ0ܥJK_`]IdGmY:J !%j5xP`Z=MU{s3ܔᇻen0E&69ǮNJEJ̯ݴ3LĨƘ{8$q[K˜2 7r: *Z'KVi)'$ ]}? U5O9fb'O:̺5e,a/W>JrbSgN/i8< <']b|e^mT9 n\U<9l~ni[ߑ6uLJ/9/x,axd}Bu+<|'RXH/#G,ɩMl%>"+4[缤(!Ç ZbA h6sc^Xu_P$D. yiE1/CĘn=L[v _1/ȑb4*'0ѥ%#.=zj5r 4~{r~RWkfFV|^1O`$.ikVƘ&VZz( C6 $SWSEZsti.)-,;C}ޖ *Ga>+"vܚ`@t'@lZR.-n]cXc*lE޵ZJ1 JA!efr NU:fv:#Ed-)UnXs8$%ƘB/oݯ2qi9 D}jD,5E#KYdYf)_Zly>ڄ &nhȁbN<Á,lx{vimo3^^K0삓]kϜԧ`%w1`̿=*y7{>)L!^ ĔKEqz 7NX97-G TqYs6?o=$pIJ8v{(?b+;]QbF[B' VB`;Yۯ6z/WոKb5]L.;uQcKJwv$%ce }3|9RE_.G}^=7zYiPqA!)p;.sh1&\2[.CK'01'AdHaHc,a)i_{:0Yr + (]}b!-D`i~nE6&2*}<5;=/7GH4BQŚv*s0p/hPwչM[@iiHFN K37kwdCeϻe_^ѷ$h=2F5_%"'3JݩlJ-<;L'4}* Ȁ$].ڸȀuMw4cZm Оٗy;NoI-ZX GVqzw,5WbqCwOXrEG4]G7%w0|~mp@Iz"p\W+Eu b]~| ݮ_ ad0쪺R빡'zLmPd=fHvlfWeG ;60[-` p!Bd/7|{ '{N& -̞ Ep )̤ dhcLcC$H3v쌭 2b 5d:clW!x7;i)sL"C`:=dOq|c 01<#xt|h X$&hMȽhi!i?0c;=yЁ-m;q/p'dQnۉl:wlmD `|2N$a3 ڻϐa39;4[ alؖr)R"|Rv"U>fkf`ٞMM "8< Kd uʧL!#jGtD #hy~E^>_c"/hd4Ҩl}D[.';*iJድ>Эr+82ƃEPE#%&vqI&cdfO+h7V9Iewط%AeGϳI 0)}ind?7\OCqNz7[EI#r*% ̠5.r0/K|%5pPiIeDTv.?㗻VE %R/q>=%=yw\AX8`b}Zm8+/lc6/N[SqPu]sCkBjJrsXuG;m\8W%"IٝJԵPnOmdo`I#[x"wT|wFV~C@-)5<)q{u\:ѷycv;"q:Wz&U՝=$0lj/uQ&F8 ڝw Ss@6>{Hz\po xwD`k)>Q]-nIs8R>n>|a9z`p-oB4J+}HIz{ʡ1HUҞq7 -O1z-@@g:ڜ =]z\4E"3cǸAv3F`b,cɻg`2Mz/6(M/=^xL/qSD`0S } 'Aד0` }"FR|Wʞ<TJ^RRA.S%GV%yeflj8=<0Juק;x/Zd.h$ϜYB9p%)fvw 4.$9ᝢW9@+D$dfT])vpk6TbҾ:H|;/~w/6*ǒK]#t=c9pX]G$Ӊײ rgDiaGWx:J^'0uE-FvCĘq^׷TBո 1$ZCm qY_pݬFAKeǩ=ū s3F7:XkBpY?L<d!Z&77d 0͆lqd:a/*?BFbu3BnUr`J_7kwi$۴\TReOkϿu` ޖhx"i?~׷sؿݷb) _/Pl6m05IXt=A!9*,kf/Sl0Y(l 50irwÞ#ǘ[ aK!l9#m[β<'[gb^ kd++a!&3 NЯ0ÌиH. v/0ډo,؏ KZvBBL=ᔷ^ hf\w6<Fn <c! m9nK?zØo")x`^dyF_#{ `t 3z`|c)YBFPh2\6[ k/75 ::Ĝ!3 ,lEc+sp|KT,uGu:}.FBwؽumϖc^3ϔKoF_ں(7Tڻdя}ಛUdݬNZ~p-oC߼0CW?8H}?O}ݐ,n#U=CF xg_w|Mq!;[x_%[ZU˽ey1|k]5g ܶB Pn7ߟ h>^+S썽k7@ƫ+{ۦ+#߸j-7Ne*09ΥI ,uxWn68ZJЕ !84lHglMCP8\hg?a%bq֍D:a9ݺ X`y>7J]J/lΏ8ж·hƶ?s%p߽u!޼\`v4B&iv׆.UZw.׿ڑQx| tlYkfXUMfKn,`^ܶ%mӚϜ(d(|"/V! ./n;~UڷQ2-ne@.a-X{ yn%ޅ>E8&ʳ?z-#Éo?om;P6ۜye?72u tRFƣ+5mz{;Rk M0.<.4zcA۴JvP(BgڎdezNeN7|,\\jCv7c#,jT ժqX 5jC3[H|%yFzjݠvXՁrթ]Vs44ױ}XH.w uv冾Q]i7Na03l}Qg6CL%>4j JN]nqy)vvۗb67T.C;:OC_L2PjeqA1,a@}3('|uC63eТb33촡сX0"H4^j"|.̠*`B!mEɼ"g iHER,+9qZ# /`Jimhry57+7n g3'NkCЕ̉ӺQ9qZ?RQ^ͼd8Ca>9qZZc_n-$SnEDPZ8YizM C,+/* ~u Z'uRIZdTII2[%AxUQQ(/# v` HU`igg\HS$>E0>$Q\Y,+b ߏ_|$Mkdt R1s(&&9s,E(JOGx_0/ &5lh(lBg;L`YS-^}IPHI LF'Ao7`LO?~&$K FD"*J&L[H4X0 0v^bIF- Cp)NH,`P?{XhqzPNM*5pH)H)(F(3 0 ^3DT`YP.N`ģfNƸ #+~APS\$gV`I=ND!$҈d4$h4j)8v01eHƾ &-b8֩J1Їׅjd7|%ʤrB(&ct8)( aErrL9UbtfFN  [rr%g\pMfO7'O I{-AS2P(_&<,r+i /@40a 5{!m~^la0@(GGH D*ѩ 50´sMS>UZIp!Zu!Z22ܪF3J,d-ϨtUOFu!(N빖0.D.Dtů]}OTEt¼wì ֦M&]%Y{&!8҆3RJmJ+WCr d4F:u@μԷmW\ήWRN䰑uѻt]XuNByxp`$ʸիཅa͑Ӣ㮁Η]ڮvןCFmaoV˽nיӜHh7oIDAThyP@@t$ cH #Q)XbW(BT(CE9xH}ڱڡΠu<ձoowrI~v0|߆@}X,C`8&&K#  9u 4+4YZXq~J!lwqz:2i!֙j94T-& Rõ1m ܈5g8iCj,eܸI\~1;2v%̽$QjGKTNc-]3+)~(m'\[]bK5& OD36Npl=pF T:է7Z ~]zSHEI;H`_\{4v#}Zpg4^AZU΃%ʶZj1iVg+3*y&>u-Kxy߆C3nzo :%eI!^PڻS M+ڋ\h&+x! aJ ^iT*~SRkTУNT=X Ҧ}@h=KKwKKKQj?ʫ=Fܥ >|lmm}ВتhhKkIUXKצUd__?ݱ {ց^RFz`%Q ̯! Іu:M[xu3?VWhd: _wzAyis5ڵkfCkHzo{B0h ʣ";*T+9c;iM]s!?hW!ikgd;x.մEe u| )i^[;  I-u=+e>>t.td=S}$1{< נ;b{>mFH!CN뒨'm᡽Գa?Al6B4OB &vyu#YDOL"M`=v wDBO>V΃z1#Ӷ_OU8̺-XrC?s5"@]#c6ns];)s ;lڮՠ- ܷ5jByƚߔgٞQ:{Bn?;<9xv^*.ŮU|pb]Dk<֥2iqS;ͩ$@;[ VʥK믆K$J\{ ;=gɥsM1Gm,nl퉁j+[=391&8}ڴ`9D4ss"|,Ӝ̼/hSLDsssRUQe"cڛmSƔ҄$>U=I a/6nICM 緞oXhGDvensߝY^]i bbʛbˁ6XMǽE{殳m>v%f}yj^u{%sB[{al~ɾsg B?bbc1?s)(4 X@ĽsjG\}[X7xəok/\6nM4D;|_×CwM|u׾ӳ]uG߲%ʋcpecc^\0JZ*nQNjؽ*zߐ8D;}_˵1g|뻡Wmr ۊpٞ9^J!n^RuF:oug(<&r:]kyG٢o>mjC oʳ[O.5ftg7v]8]r`РP.G.~+{Z]A+d!Ԙ̙pNlMmb¯o?m޴ϋƫM"[,djFRF?i2ij$i*`7pwڎ$H3ёl|Bc&Z9NyXOۈp M#]VpEmvU.KuGBwקYoNʙeBW6 %I#Ҷ_yhGn3t?dF @W&ίA\v=hoZoyWjai9n<ެo, F 0pvv?ޖW)*d§3pmEھʕ .SuRհsN,T{oʐK婮 ]bueDΑ'Dd,}H~t٘U  <7ȵhܱӾ˥_φ.ˡ6y'ݹkf~]ݵ^7DgH"̊I$uvFjD3gEk6hE`̜@&L&6sc6f3*<yKq7,cS)MFo'oKR\ʯźma7GrWnjߪ2Ĥm 4W3fʘb~scj3BBKۉquEQ֦XHH"-cLk K b=D+{w38>r=?> R-,'-,fș0wwPO$ {#F?šAj8JE[sP6??"VU~<ݷ/4rSShPC%ărrOW!O\]L?  ^oFS$6$!d,:l,,"{D َ|.xxU?3*̌ř}Knwj)=΋`w^w-x+u͗ۦñuf:~J|{LӾܾsV~]wUnwmeMG[a[}6zvBSʝ/b@2FІs&Wjl`kKw(ߵzwv\پo=ؾ|fLP10YV)`Omx&y=@M&?G͛;ۊ6_\eҝjgz]b=9#2 MӞmMj|tpSImi^G vjW.%iը|j{~>%ߟFug75گўz=m9yM$s<$;thY{$;>Dfmۍc }{wmksط)h[H=U۔! ;0a }32h[Xd Y`̌X=X=ckqd/b7<.﫜P;,>APRs<&zk9 1ڱ1vO';Ƶ6|4ŽvMuم= om[x6:OlD ,g$}zqbcz0mz p"TwÇ|sލ#Q vh˥]7{]im[{%%!A OX:PS0tF5vmov>[߷?}r7;vWJ6:R^g–QE:SKj Z{E}? 5(*[oVg<#-j#BU!|atS;()~o&QiӧO}?i#3}x"e)WbRw7IPU 0*EyŝUv`(yI٥ ;/%6Iy ?uv>|{dzx]j-iNFrO|du-Z>o,c3ɵP6Qؠ{1$ccv~f<4Jj1#d%,sWX?nn^<(wYX=|yetի\%[2.`p?dB@B iVjӆH-X\tF[ZZ$VVVVs?yVW憶19HdO^阨+О !Ûc zhC([gM[P?FZ$kSi/s 8%օK2!FKt/溈jCT3jAZxFK"]ambnOcdtz"< !@AXȳDv?g"#޼&sfffF*҈mkǐ5gRR}jǒbh+/.T=UuT.& g&ji IZZl{Ÿ≣|h|q]*2y26UNГoKʤ.fG1+6d +PB5O{& {y(tzO6>v {*%չ`~x܄6n\˝6\+2x꫊ ꆙic;?9d@T:܁q箰JC\@:P ^֚ef`'d2N Cap 1od \ȟH86eE4!Q/u^ߌ9+Wm5$&B""2 JZ e ]45V!n"hn&!2\"UeԋD.FD$: Ymk/f(D$JpmJ87T jdEw!!"Ect]RWǕbh]FHn k2jiIeM+e:ej D|͝5'(NM1ZK;Vc;6ʜSJ" ߓ U&R0W:xba6TxJ%!J ao9ux"zpj캴@~*TZ.Bv m f0üHR{G{v2ܕ,@^ doK1j'zM {|#[yi0՞;ޑӢqE־RǨ/d>3Qttz4 Cg!N{=9FS1fg6 $lvvJ֕y^k?ZΌ*H%] *T9F{L h ==,6q->䤧W'.,% ;&x㞛u׃ }!~%ǡ꒵%^~J2jas;('w$%Kܒq5R^Lev,f.,VsAH\R欢"4Bz'2T#>`n*,߬^ K|+{$E1&*e]nI1%,`W`h8P"oY WŇ,ٶ8з's?Esi"9ѽ-tZr؅_Xsoo-م^%4F}3òȰ6^ڥBY` z9&НKxg;KκU*N<6H`0@R3lq&+ ho6'Y\݈n0D=<{2mT*RsL0vVnmL vkGg;^uga00g[6?`lGټ˞#;B1lw -LEm-A 6Qc!^dpiiC2m|.<'QmUL<)H f39 i@LhƓXjT,%Xf0x3)X37 BeTCȮܧt0ڂ]8_|kRFiR@EZ֒YW t?ɼcuI봗{o2'!8 ,(j60kjƆFj> Ő-& ׮QFkpmM]z$j SԢѯ&2:<nU ۾4{/@)3u=K8E[ځ; ^V(Bd Rʑ#4]L8` ى j2D?{X7lr1g:\˰*-jyo}/g1r#fOxHt;/^b~0mlH)=rVQE[T]$˽ l+]P'-  l1+O?ˎEi˯ީ3[`kfdts;#tgp945oN=(G1A~v]l!=jD[ǟ?wl CS9wgS|~;z+x{v4=~'tH;o*o_D| 0E|7 ZTVX)$R{z #‘H#'qpD\pTz{onlTF~VAڐ6 iCjN]XnҖ|UUOw㗡bȐv-iߟH>X9b!/8q\1o=g1X1V]bp6~ȑ|v}0֮&g#c_G瓱%=a/2O*ڟOwgctRCʐp/LF@%~g(f,1IKXY !t ao[ D|y bI298af ġJDQ׮bd#Y)'qHp]ChaD+B?PזK3ƥFX1,<^;L+Zlu|\12mvyEep7 0w76W4Wl,5v j[65*GEE`:oD4}azk-1-+} GvW_`ty&rvFuG2lP:fW;׏ޯ{ln(hhQOn5T8]5zfA{|sC/" )O |A_qW:QNty#S nBP+S,䭖+O|E1H y^gm ~ gucե+V ev٫Sjl Z3 4\C]9ynJtZ^;ti֛PڈyB=PtziL\:^|_G>;36Cf Vq?z:Qڅp+wUndM{R }5hнmwUEiwږDmj@tvѺMfWW&O_x %݅38K;3b"+X}dc!1Y2yNчeZj HĜG"±RXOq}`7O֤.@%plZv?z>eY _L1ǬVFfeP_g4o2pcڂ2gq m,|1QG|dXl4pكo Ig/Y(37UQy3ѴHlH;l॰t!&~-2\عvz'rN,l{^̺'f#zȥw@k ^!ig 3l' ì?ܱ(lFcWcvEi'^DB1G/fAMX?׭DZ8v"-@%Xf9[V.L9ζl 9 '- n̛9J҆=wH҆!mH Nrڴ7,M#to0GDLH;V.>240b \ l+:H;Fn~>D"0FmymKWtb/UH5EHSj'!#VC10׬+C REvu@jX2Я?\v H鍋ޥ Χ+C pЌAhuV>*v !W+JIݛ|5<9UVemٯ>}hr:+M#)%Hzxm 6$:U0'+Ԃ@(0 WmU/J|{ks+9j^e/io|/mB7JˌDYX29Z@Dvi.s{ƃ3K&QWh[Q7]ʑ!PN&ynGr$1z4dU8i(b)sL99Vev/=Apa˭p夃QY[hgp\ѫos([kL5]:Ji͡q1`҆66~A{DMapW  lA+Ip?L\U a!MHx>~w,<>(TH{O iGm!]1WվGu7[9` [ѶwMW[}$,Z xi!X:~bq,*ecQ(4CPDCF7ET%>abLƪ.jZT!)=sKzA:sr'. M,)vT-ɂzմJS2V:Φr| 4X{M2Mt׵{}ʀ)~R3T>J3J0H XM6T Di_Ų<rK 2m)Gw^۠> W=嗋x/27._aL~Y*^Me`ޘ EMc'idiPiç],:qF|2fQHMڴ@H˘$Ch,RY {LYV Mƭp7~u^19hSb1(bU!xGsTƋZ%?nY)}6BIڸoីe*;qI #QfE2 (, d޸Խ4ӆR%5uRQCqT7 |=W;3^=BxO( ۜ].pUگ7nBԌw]Kڄ$Oj&nԎG)o9^wR[mi/[뮙䦍U-}K bNs+Hw! bKLnvtʁV2hEz㖴 $vf03w;~KqtW:d0MqJ[qxJdWwt{;ڇގ6APUN}-=<@> ")lg;@vH$CS-!r]&& bhkLڤx,9C19h)6&mfPrh?ƉVb_xkG9 Uռ ;>Z6~٣}M:l9Y|%^a??!I7.PK˖MIvH{9.n)ajpRTdn`n[>SɧמzV|Oeo*|60W>P}dWCkKkOJ[>f>piߥ6'ڲe샭Wn$?i|4L @h- 7h#SNS.0uRP57Oyc7D)z_P:"U^Wj효tVBJwL|S;BСC:tСCػ ŒÅWuG1' GAŬPS+Rv8Yj{Dq& '` >yx9ʮv]8bqTQǤόYIGLV|Ɯ:+kz}y+h['h}س'_YzWX,,># {9:tPXh& + cؾ956ATffi5nf1d j4> C9 ^hNN\Wx#&^M>~?a9/?ݨ7D#itPZqbvkkk],?g͌}Ć?C9b9_=>}ʼnjv2g-&]u9)J #JiBF'ncK^c͍<p,3'.рoL_Ͽl&h}޹D@jY諑<_;yI^ Qy⼽y+R76$b\>YtxW6"xOvκB3>XWf1Y8.XcRa{ s,+>ӏLM7OwdvD/qFPS8qKL.I|ᨀO j\ң:kG$>*X7 A܃ï)7Cj ƶvm7|!p8`<< C! 8X oFW?UQQ,Kdw,1iF1Aև`gnQ̐AC  b) K~KD3hHѨ BBXοiu$ l&j! 4 Y6h@cɸfPH`[a+V >5U!dhh Q OT #O>ޭ[X&#Q2/j xjr~|8dyn>-X>9? e Iu^+Q>z\\wAGVeCb:8vLBRUyQqC5|z}TOXc ףP&!>&!ϩ/@cJacɤ#wZʘai)fǬ'Ca4!C zb0Р!F:Tkb` L 7-n)5+3LzS&mFVj32X`IƬzCA[2ӘVIo'A]h+~4؛#/kѢ||MLzdE&uDISs&)c?A >d%q"]th[Vtc/&1qć, d\}gj¨]izpù@5F_}xAȊ5qd8 MV15\xC#D"iwRmߑ5F`O$O_(QT5?Ͳ| Eq ,3Y #}$i69Al@|p8<+h>tGLvˆ` )2g&.R~80K#&7ӥ| pqt.]3>J(3W;}0Z(ć4fx3yY2ӘUfj8 ;[f*L3I @c6 7B0Q09 7@|ޯJ)_|f* 7 7' 6OIENDB`homebank-5.3.2/doc/images/dlg-split1.png0000644000175000017500000002322013604616712014733 00000000000000PNG  IHDR+[PLTE068>BD\_`yUH{XLgjkg^svzof568;=DyqO~QDLYOY暆}Z韌e谈_ꢐewvkꕚw蜝~Zˣ•龬ɩ˴ͮ㨌ȶ뭿׫Ļ氖ʻԹЮ߿㸣©嶱ǻԵĴîǾɶƖ޾͹ǥЯϹոШڶ #NIDATh TSW9GJΎ,3aa[nY$c[a2 zP x7*~tP",FE@ᣢT"HRaҒG$gK&w}7Q=ƭ651]zKVMMMOVgU>WN/(gUoIu;$ƪLd՘^FIؘAx) Fqr:=ͨ3ŵSNg2IJmOzKz_z'ٌGz-}DE{󰍵Sd_~{MK ;77əNRP(J7>R*`W`)uz^"}da tUݲɹΏwhUJP]w 9S۷1Bg^on'S*_/X~kRO97rt$_DS򤮻8qCs>FaYNwIeQ.Z `z+Wmַ9dsR3"9LMBJ屢fxz֟jMFE!=qG=x z bs rĄP%gFzn$k%LO/bܔDb9#^=ő-f'mGMҦ$sГfN1^8?d zp|wxܖNpzd[}kί'.ѽ[럇}<ynM;2SvJWQ^W♫Z@QᙛCV0msAh(OӸѓ>6shx>#-kuF IJooU?|dMi V\8=Qw__'+ =q<!S∱9J%wX(^*Î-t^~5v^?ckߨ}8}4 R[ت],Gx+\N+Us9{/DGi ء)݈ONG8p+E鉄aar}dndэ{ g*=^payͫTq!{j:Ύϥuvj2aЫ95WOl7j\=!osS]\e~OȰ_2 #[{뼌>c-PF7lm Zӕ :gtkt駿]~(_|dDM/hɧm|Qfci)IK"ù^3S9iE\陁Hf @[ 3i+=["ިGYak>I̒dfb%Hv6X-XbFx`)HZPOZjIGAAMolZdnn-,I$W^=L,,@H$׳0XnԲVv6Kг8ioЕ7m4mnlf#2Y,YXk[mkrm7i%F5"7Y`azdaim *=-.zNVJJZni^V7B[b,VF;9<^?6'hm0=3kWkzv6v$;-=l $=Q`- k{`崳zN᝱fwdmNfܳZzr+[Y=̱U |-_ ^"gn hhyllGZlc ։%6ll,-|ff ,X6@A[O|ʡ-[=;.,+AG"zݾ*xz Ut3ٟw ƙOLrPH$("MIU;9H^Iu-@EGOwANxM1)k`ꦲW$zD׺JL轝Y5l,=靁%,/ye\ ;0&em9]yaIzAXe3KУ#Fw_O cBPI%JW}/mc)Z=5@'ȯi/3wKy5k85#퍼.9W_^H1 _d^zY>דKK06_@y04\Jwެ:rd?.h=k-g [wkn3tk<_*Xx&j}Hh[=軴.ݗR ʔNEPNz+ ?nrLWb#8Tgt\(F/ {ղ͓+1pۋHQxoCE-!z9#(聻/zibzOQe Ƞ\==l1"a%r{`PGR6_&Pl==|{26{# `. 'p8\$RltDL+f辅 Uco!>bLb;p`F/]ĆO4I[249.'f+8)Z/PI('mf~n{$V80-C=98n`7X[66F \6mNy@Qb<kwes; o`pcȃb}'ESO+BG=agQ0Pzvn؈CaO #^wYsvஞf#1Bo&w_zz0PA=6P#}Æ`zӻQOBGȞSV ԃzP]z(#^wDPz+MgA=2zB9Vp^SF 7A= ԃzPA=ԃz0PA=ԃz0PA=` ԃz0P@=`ԃzP@=` ԃz0PA=`yɜi@zPXz]@=eԕ?6]4̚-`s+뽝 ng'[ ~==|l?/n긙4r6fd ٝ~y t`\pÿXy<_Ϛm~5FwcPW촿tK>x"uϨFw!ë.85m&;2 S?5gn[a5)_E6ZID[Pk+=[]sθ?Plh"3Ze1 ז9m ==|Kc͙{v9 6˧س=:uI)ߣs> ky>eX뛑^gܾʿЍqkLA87o\1=]þDR纊L_Cql[*2#ޭzu}21}#&`jc@&oC?"Kֹlwp.7HmlRu˧<ƁrI)ݒF&r G|>-?y#B)g{z>EIT!7j#41Q)S0O>͕O趧9ըoi?G=ӥX3{qF[ ȫifݘ .2YU>}c:=~C7I唨۞k25tZAZ =:9{׽1#ޢȃ-f9|X[m"43`(7OlT'՟Ѭ͕g[ ݊i(h Q=wls ǰi2`V B5&׷ ISj [<"zJ#9SzwDFiBHBQc''5=뼣TOՍ#b쬰5bR_)"ot"8ӛ3^__ޫ.c18eeOһzz B蝾[`2^/czWGFGGٕQ 5bL6fo^۲gMF3(s Ldz^!"059en%4 B=պ2h#\kgPцu#[vT"BN\ {Ov?ލa 77dдM7\ij3޳{8KӷW~zS# Mv"C 0_uz ݳ+DOd8s1Hovϱ16 s#J}on? p N|j*%^laN*C= =o{K5HOu%7GY|.5^2bI&_ /ZW&Vkn7-<г|劵FOhI\;9,>y/7:'[魩5 m\a%=ۭXSBgF U5%upեY!.`˜MKKۮȅÈd 7Ԓwyqۣ^QzĔA]-j?1aPx&Yw.n^m[TWσd;r X5l`Nz=ǹ6/﹬[l)^OKteת =P煒pz,$ D7>ZfGGo<966I NR[69і܀B)AZvf O$7ѧim2r4˦A!ŠvdNmv;E.`БMtmOVs&qvl=С;¾qt*-D?(K؟lFg/e%7Pz/^w2kVtӜO%u ܰs>y'G:jçׁu4C(orAorHH,2-E^%%=ߩ~;8&?~J0L P&s e041q3)׉qi9yv8p/))Dz9hj“ &[ψBXH2#3?BF=!p I鮧D-EwaNA(*S\1=#XdrzÏw]*+лS|'%ŇE=!?`$yܥ"tzz DOCOOFe)LR,vd0;|hG< 8ck|, nƞA^D&軵s-&P8=8'3v7x]!Jj4ӣ`!91;\yKǠUА\8$ MH'8=G%yW |[h{=I95' pf/ >c?ᶅ5X!}&RXjH*jur 4,7f U-7 /u'ID?"Qy#pz+, $* 4--m#<* b6o.*mD,NH}gA_sE܃Ъ 49{$sseq.ߜks>Ox sBiO^lǜ6mYkf oY .fE?~zD:Ki]^Io hV?EoKCz\۳ UDh\nj:rF r0Vkl4btaWZnXx ؜;9ǽsD?]۩Ix$=ꥧp;cN/8=,Z#ޏ9Wzu:FlV[9NMs\+Y8=Lpv@GK(2̂Y#<ή9 .e^2UY耀}eSmƋsZ٣Smg@OՍÅÅÅ^Hv;JA0a(;a qzz^OwRs 5NC׫KVUJ`^ D/D.aIOޤU8=LɬDYg[uzrd8=lI&I,\*5iQ7iAN'7ʮ6-T'3U/3/[ Ӣ'n뷡 2)NoI2|e2^#yʥے/'y8-ŲO&aKO$5($U,&A/tigUQ'M#tΝ/ dlbK-IaKOb$Dp\VAnp; 6=L'19DprX-D.M:zUdaQڜs{ j`ÖT(GAWIB@zoz>}bC8^tP=Öp G"F!=%zb%9zl qz58= kPG*CxV@!U:.sы[+ZgP0Cvl!NCwЊ)W0}wJGJDYk}=IENDB`homebank-5.3.2/doc/images/dlg-properties1.png0000644000175000017500000001527213604616712016004 00000000000000PNG  IHDR(!"-PLTEyUHXxpf꩚䟍»ð񘘡ݚƴ鴱ykcQУ쓍ͳmwлæ~鴽ǿ{XL˻O\zhil=tͼ儞ĢSiЮrrv}pn49;ZTck^\mX}z}nǫȪb}pSRqPYl}aR_l~ԶݿJKU]bqohvɮ8٘x]w̧ҮXNJWr޵ѩBxMkSRuhzVVne_gzW uIDATx@SG_x$M Hb@B A{O d#SAU?ֺG^u]nDJĔk5ǽ{] aC$e\ݫyh1:2r{cTK!K<?I8OSERf̓Fǘ_H,EcQ>(1RK?Ƣi%F9JDI2ÛG}@ s.KI"A5S`S*-jY)Y-.ɺAaN2DM74Hpo0Ӯ~CEAQe%2aQ.CEQX{}Q AOe[+8aU%zBT!"j5&UR4OZKl(r##,b3{,R-QC% :沸h{g~aDTܐ(FI홾nceU*_˜` l527Rٳx( +=ˆa`/Xk vePNa&N1vS3{UXU8Y}OcPQoA ƁQb$JAE!~ ?L,b>&;'}9j3}9_4`@(((((((((((((((/ R3|Ni]4.)Q եl΂U`O.جѳj:BP#2}6nyܰ-::;apZw d u'8}7%etW0],Z\{?{GSffϚQu?jwVӲ l DDeXsFSQMNm\}m[M\&7gj6}o|Y7ΝK+>:zHԕ]w,n"7~ޭ Y~wd#rMȥbt;w"{ߊՇBv} Dԣ& %aDzg; Dxֹ9E)>谊ZkXp6ao]㊧m(ܛ s څ+V4Y(#W/quŪ {dh*Xy#)YB&묽*' p$aqt, h`*^qT 6<#@[Av5ƹj`! k#)c8cmW+QPP:qL6Nt_~+` XKH~%C/ v\_'.xخ_mu2.FJ`>X{r NnmYaux4df^fx`[3R#Qj㯸, 86a%6D" d(_Lȋ0^/$dNѢx%ظ7kFkBx  R׉20x3Q3#^R_q}"X w=onPͱCwk|ag -E:'HtUԎa,d,sR裩GycQD=2E 8 ik`MV5߀жJ#{(E$a'q`k`MxXbi |mT dY 8LIXd ~Rkkؐ:hbͬ㶸 |K^7,.>2E=?R HH`ϵ`IL$:9AeΉILVm"YPk2sURDz$1#[doXd\d%u[Ci.(K,NIuWDu;2lEY1msymA$(9!j φm)%4|Ye* j[ĺ'~#QoSF%!:>-+ ; dv7/R,Jxl(98'}"=N 'Lǥ)͟.!F Vy=)Z?vN huk":$u̷e+r0M̡>Ђ _}}LĹ >XL[QF<2q!Ls `_a1cڀt;ųnH>or 'V8],^[KޢU ;[JWc*I +f|?3H\EЇT"g06 -uH!h W^Q%xl!2C V_kd e6ԓ;Re`#üP 'SdA* ɈQ.t1c%@a&(bO4hQ:%ZuDŊ:((o~`Μ9"O̤fY]ыV6Ft|e✠J\/\C:nh蚾M>9s~X||n*}mhޟg=zQ+[E>:Hwg-JHs55f=sC&ҝi =[CMނ}HW9|}}šKi1q)34_d _Rr+ǽ7t@:˴,NV4Q| ]7RVrmi3'i=% `Dd8%>UgNrOZhix:R6oLuv+{:,ȼ߰ ` y>~7+MP4a] V>{GIÕ]`((QlD[3!}>>ޑ|V@Ʀ֕K5fp϶ \b 6v6v?"zΉ{ Xp [h+L\ڄhR4&LueS]USۢ( t \ՙwt(0 +T:vm(50&kji(,dD JmҨru0se]y8-,0%C+wްK(T., sԌRxPJ9_DaM4'j G=i0c\( * H3fe ޜ(xCDiBz ]&.!2fUNPؙ1TW(q=ʏ6ףjx&d?d#ь` &5d&Z)Qʜt(5;‰WF %]3OU 0nn,6s-::08ORs߂3i[|廏:b EC<Qzixe-̅K4&`f ^0 e^̻`* W}pKZD>^d^tY%uyy[ӋSk^y nx!JӼq졍 %ApMaʅTRB|)m UesqˬTT$bپ# z~?QdPl/'$w'9̀4!y{los^v\JGO$[8E))N=uY+Q,Z֨?f>EG=,PQD*(w')JCd6ՔLEjBDi(QpO?9~]N6XBugGWJ`U~b1PPPPP9ZHV;„\#aE~&(Oqotɣ؈ vrESJ, y"`[ڽfÝ0]jc5Bύ&$$pEl/JEĢ4%"o_BZkn] 6 Js8W 495^>PfQS  |3TEgZOxn fBB"'nlm^^̡}RXԙmm.h߉xxD/F%ּ*->5Z}TuN`) ~HpFO1uUQxDqҘ43EFD剨N1"䊨 "y:;Bz yAP)S!cQ"ˍCEUdmh;0d?s+4 UYF9,? csj`|.9KԞ0 L@7rQV^१^m˄C!LR$sz.irɌ9 \89۠=o1^;60D4psoF~8~ݨ;:Ch䪴 O7&F4OQ{ q_HY=ɓ'ڷ΁ʸm0h4i;ג;>&L?$N[r[fZZ*r 0 nފڶB(@*6 ŴG&Ln|ZhoF9\Taݱ:}Z~[Y'>m 26aӒC+F>:+[q= g[nLЖmޡAA=} S=@P[+m]^nm̆MPsߥZ]cMѺGrn9oԤLhOw c\iInyaӧmTɠR p/Ϛ3iw 0k;d2g0V +6}!?`<w*gəhイZxóB/xk !n6T}heO?ƴUUIkoA2yف'ZR;˨I3BWڞf5qIm}~8vf\lmiHs0YmSik Io)In\mq>:9b%OwN\XL[mmMa<Wx,ў➟ G[[m[r zH+m(Xk8bΙ8.z3B-Jz 2IΏX;}.MǛ#~+)8t8he#oxVBKmHWY/#;+[^t~iZYL5/A7@[;y$&K6Wh#2֚*ˮP.8M{UzƸS*G9LmFco]QPE u)}I/M/.D6'E7ϏLu~YfYh#yͩ_IƂhނp$D{ $NgnpD'Y-YD6(8jKV ˍD"y!ګ멩rw't!ګwdw\(/'kk2{jjTqׂicq8~v^gy͡8*Yi>~95p }iEQѮUU5n=X `tP`~@tgc1g~€'sS:aǨ򪨞MP^Xn|Osw\kTyyJGfZPB6[޻WܜǎkwUS91 Xm0_:~s >_Ж]ݼ@~ѻC73Qnރc#?vUMT8Ǫ*:Yt:X@mH>6r`]3}+].gmqߟdt\RKjpEeCP{I2ksvUF%b0B4 FԹD@C@!J{sGYPڌ*ګ.Eѫ shu1#"ګ{V1޾.p( ϡzO+Gs菲m-LǷy/Fpؐ)Osv>%v9uo.c@tnEㇽSWbc|$KCZvF2(<\e|ʠ$/B^KYIY~VQ"t˩$/"$"س:Z.q<=x쇶lkLH)'J5(p5w7* 'T*݅ac}Χ֑/~eB3*:Z#9Ȍv"7~|jUwma<m}Yqm{aQXk@R;A!>8swﱒtjn_U<AF'bAbmWQQsٍ׭^jn߻!=hT[-.5 ~D:M D}h|ݬx.i^Ǔl(Wʰirv8`6Yt8Y6b0l q,Q ڍ;MnՂ6V+oXUUܸ(dR׮֞R=ى"i o?:ޮ+tEmwUk]Nm)){uW`i{52e䌊lFR(f6fh{:ߙWYZa"w:Z[KڀZ?쒗m`y6NE8u}wX[Bڹ&&f"N2= bm=Cz4 --2C${m<9Ck7G(4ٱ O$|dR.re8M&dpcXAY}%3T8~{_a#^ד`kd$[mϹPqڲp3T*Oa{Xէm T[L*է2Q+gAY aCds*Ր([m!8݀UߏpvbXlU5p>i:6 ƆΕzz hpoU)x)KI!mv5s7iWʴxւZ8J/I"$"x"Ţ("ڢ?O5np崉ohh ϾΊٳ?(?FSīN\4(X4ښ]W.׿OPR n[ʽ_Иmݘ\x> SW"=NFeXz(֠3ik&?5RA WǏT&poܮA>PϋMx'$_[Ј[ 7N|u.zqeAHx:&/թOd?)3 SzG3q0;bm8CWq)&: #zy`% .Vzw Cb}si*xI_ 6RiiK[ZJC)eJ -ZG+"/G塄hxC:(d4r93:93wMaGũN({OWVZ/8NEoK»:iоDqhښ4ky `$yby:҇/_?iHdS7.s.SlEYU߰-$5AʣJl'MہtgT+7mvXX<naŰ(.0mf }nuF{`ՌA#ITTT b酪?Ж?o:bEv+ ys2F`&D&ؙ6F4k&eKcF0<NFp"|uBB3hO42!^|t9T5oУz̺x@[*J#?ôy`ڒjLleD'+%u0A&W^Ӗss|Dq:I`NKVqଲ'IuMedu)?ьYq@:NR)u0: X {WrMIY>l p܃CS`̖+yeI<fmMnhX }PERItXtB7(mS1 F6CA;p @_Q7ΠX&*K0;U\:Mwޯr潱T5i{\޽\Ҿi^^қ޺ KI?~vo]xիW Ǹa_='7}u {-m,餽 > ]qԹr7D٫}x7R\ #%J@lHt~Kn*{ώiwFPu@GFMр m-]#M_Mz{z|R,i|ZęęC.{}IBDwц۱pnߠ<^Ӗ8`D+Nz;h3,~;Jl1mzIt:@K:?QAuqV.ZaS,#P݊Af`%O" s@f(EC?!谺]ݑ*0 ׅ%\!UOK ev^G;dw͐G t iyvA>0f`fxXwo)bqL VsŒ:!ڕ%%P4i .gð/mLȒ İ=0bݠn;027td6f2/!Dvx*Je UR5qjIl8OdZc5M!iAX4HǦh"A4V%HA/ؠ4;7[b{~ P7[i$~h|`Y 8hgK%(Ս&oV$}2R~,u޿9m3$coplUNXg6#ҵ8zm Q)IwSRtmyMy#C]ʦCsGaېIg/Rb^ Z>+?x\~FNNMp`SbUoa`Yo7sȲ&C 7Ii?s 0Lfz c1 y?.0'2ofO(yrNM 2ἳ vk7Ko~ͩ_MWh)' ̷)42D;hm#Hv) `Bȡ$"r!LdCkI0)ld&rXI#]'u bֽRAm[v!¢=bXP}r;N=3^M|DU޹23ѻ\C-;D}(ITJ0ɒ%-J0 ǴSh/_ӂthntnnW4vK$hn: "p^1hTtt+fLa03SAmCm F@V}7o]؛/_w~)K@YkUg;Oώ[K ?̞G@gf -a {츦撖?:О':͙hw^[qe?(4cn$V|sh_P]{~kO` 6t`&Lo؂U?={dA h[뤀6cs7r+џn= @%\Ono9vGpo,ʺSdk@?sZ5s~+ܾ^ֳ֋=Lm=[!]rlvhKk~B\K`Q NaRt, hjhbQ%wJ[jBWԭ4XwU,m=gh^^9?.[v)\:+X'ȚpxNCKTM;{w_SpZt pZj)NneUep`ܕ?A: ێvU^kb>)%jvlK[=|#0eHƜv&#pl ųE~0(55VpkD< `9n),ڮvS@4Tj(\T WhW  F @8c2+/({\Pkd6vIJ?C HUf{yi`qF[D;fQBړ逶[w*v6lqio/<')q&4re\ELuRڸvCX?x>ĤO(`BYSKMU64~0m=mh׿=mfy:h Yml+,p(Wd%+iՕ6鮄)kyu3@_wlԢfOdbV>yinM|kQִNkN]~798m"}uQai]Mtc '?LO~H^-vu`ڤ~SRjS? m MFx[bFkImQ{;ݸtLF;Y{z?ʑem7j 穒R}ٝ@eqk-Uf cT j`jvH{]beE%]gG Gn<`x/?ro֊7lx'vP̬.=1xUtv]iUay܌2nC!2 ]~r<%Imcxus3~(LuZslaR\^_Bz֝lkنWJ>IEO2ĮL?oUXY?AixX$Q"L=^`Zoԙ(RW3P,OM#m"fT -sr@\Y$SEo1s3"OryW|z/=E?Tu,QWW_Oć@M6/,";-AwLB_tC#R~xO@C>fzD IW a%<+ AE8>@DH I%TRYX-\(0$y2rb%(FExJp~xMiâL9{fP&I8kE?`RAW\ZxAа'c#7YK 5x떹bDž }]d?ZqRK0^6ݸcG+FxPx>>˺|+j`e1`0VbBgb]NłKC7UT|CPBR=2!vnLǪm*ʤP Q K>i @  M<>u@!aT_abP,-,*6J!<aX'|ΜSsιd r+?uJP籣_eᵝ?j0G_uP#Ȩ<(<&+,VF~f6 \vU+=ݢgrڵrۯ9\cвxg@pKI֭ȝǎN}lsT^7{;mb޵HK][C:/m'b!i0I9m Il9Judx^6 pPǔG 24\#Qx<洱9%tOāuAS(h3;˖5!n۶>&t孍 Aݦf^0{b]L/zk;-۞yl/<-^Ψ]ngz dOܦsZ9? ûc .Iknvl}6ȩ$32 i4^*x~9ڵuA;*#0݈>d939̜3Aggqʝ06ZpꋚU籵ޖ=býfc#sTAǪr U-$9fUM%U/zdS$Yv9fxU3ko֜QXñ-^ :l>Qx5:ly1p(~۲䏹WWkoi_KkG')9XNYgZnk3<)uٽF)nٱg:ש@wl=ྨPtnO5ϵ4mim^S˳(ꩴ} +]k\I<}ѭ# ԮpiB.m*wx3c'J3tgpRR4 Ct8XFak5t%㤔49(MQfHk`ݙcLCslܴktOPt[%?'D.)xy+]_ ,y<ġ OgLqp~{QӰ;D(0$&H2q~5~n<%wѻ}✮fQ)`R 6 PԱ6JB3ΘJՀ;8Of3=_dž'I h;s%#)-@>7 ~y*kTp ݿQ'm M#oxz*G3W2x~ix;3svml9jo,$G\֕L>A!#z$4!s!0W8Zw^`ԀW#35*oNJ)k >?AWvG5 [qw/3w̃GRWݏ;p25dhɋTq,iAH~֒T8prH*G4u&seկԩb$iFWD>qi_Ќ&ca% t&J2qLd4?NLހb442,igie6 OJEFEYna;c1(x⟮ 묖2/f0000 EcE_,2v6/|73>SAs.hMKw^ObV*FU)AnfEu@]IB7 BƬٽs>qdٿ;q,s//?*,PwLb-f;"-j"(7yOPS9knK st Yajiԫ10rZspiύQy4G*t+vTeb} EO?C4+޺^kHsIFYFdXygq\i}?g,0P>p1|,d<-%޺.m8 k#+cAEMiZt/70ҩ8J[*%AMϿoDHWNN( p ~X iЄ.GpB$_ D r bA]*@b`‘A(!"_>8Oei06oѝ}-Pp)-P%s{h[M ^fwJ8p 6%7roz].n{U&T*fY1.6"O U4(ص)n*mCckmUnDZgb>?aj(GIUiB'uj<2M ןԙ[Giz?-wVWiߘ=-w Վ]*dAH4YΔD UZBMG,-3NJLV$BiB."%SCFƨ)))¸~kCc߅%>D+$5FyܳjuiPS|{,y7 '}2|+C"%d?8/7i4Z*[Q[ګ2Zg[Hkud/mmNΖB}xvj({=d,m  ;a%4j-n'T\}2;A=fjuT&\ $넎=1w/PPp'a=w׋8L?pH_\ݫU䅵\.wkD"6wy"TYܥ-Dڈx4idjq`y#,B^k+ǝHDBiC705QQ"dQD ?JC IENDB`homebank-5.3.2/doc/images/4.png0000644000175000017500000000045313604617042013116 00000000000000PNG  IHDR exfPLTELiqyUHyUHyUHyUHyUHyUHyUHmdphyrzsƽ"+IVtRNS/b8]mIDATxeG0D1{T}&CPW Wu;Ǔao IgWYTى_QS/XQ-m9':o}79eIENDB`homebank-5.3.2/doc/images/dlg-currencies2.png0000644000175000017500000001464113604617042015747 00000000000000PNG  IHDR"g[PLTE򜚛峳񬮮ͼ𓛬㏓ƴò˨ɶ߳ȫȶ7|~ϭӺ򕒖ȸ񫘒ſвӾK劅Ѵ\[aʻûĺĽtuuܷ˿ݸӺֽávnS[sis}̳/57vf_t}ǧָݿnXPWgXqkĊΑǬlmtUy]EFN⾞xfD[j缘wYNOβbIDATxTSnM"Ҍ&H !{G uEzTl4"(>:gw>{ͼw.˜AJ I.~9 B *T>ن̲/|Aov1V=k`0Ey:XF!#v'G=g~eŔȻ'\cXA}U 9O\Udߕԟȿ|ߓWwaMC_ڛK_-#+;Ϧ޹zs# ?_/mډ} ~O;6F&o{sbK ݎm{bL 5[tq[9yP|xoh.$^O 6?F $B$imPiՕ.\Cߍ}_B:d=dd`jșJr44' [I{XE?mqɶ\Pg8 sн3[mm;p8 ;ܳhSHMNX =ny[A`AAkB,(kaX_B{lJLߟ9"߯=S?em|57yW4ŷwi?]s 湋;/;eN}K|mo;wKY:Jgk/$)4= 0\7ZmHC߮}} -l TPB%вiЫhM:YȶXqbAdito i`5Ӯk#1[n F@нC? C%Yiإ,Y?tXt:*T>:ȁ*ƭ͈" V(5͢]dBm ݙ&Gb%0dyY1 iX J`VmNy`)kQոuc5UsuG/zu`(<M;]5Co'2sW]޶bu\ԽͤadGl;Ll:nzKx*W3__Εi:bu(젌 67ZVvwދ;vt\7igUT`tj!J)ͬÝa_[bHty=JrAKeH?(UDXvġQ(4Kˁ3*!fي5{X@Rmkg|#.{:|iXB&KABUH_4^vD c=NN,MV;rmvrR40h-tVGQG^l1^$;&)rrtW~; MpQM4O]K ^6 }F'-˹#?Wcƕ;Xd8*#JrxG#w8Θm..SqڍltMg @XíO(E6BB^tB@jBV=<̇Ϟj;ڵ$'ꟻˋ>vF|?ۿ~ ?NH L3oE;-*]A0D(56Ga^Anuo>g[ :Ł+sxSO?ѯa37+m 'LȲmswcf*6k`/gXO-•ˈ `0,o"uufP# Ռx!Y=K䄡ZxAϓRXlƥ4 @K̛+9$xA/Yf0)C褽IJbz aGی&mVy˳}`> mТ~³zAf>x;1V^hv^GCۭxAakW}; ZM 48f~]:vP^}! _ sQ~OÝEzqbrK{ 9"%g##7924}AsߥH)#GQq`MK$XQQgDrf::} 1o+)?un)r1(@|:V;o79xl>6 y):!hGB+vKnN~;rK]Vc?il%' $@WYH y2QU(ڰe\PQQ]j;f>$4 ?:LBiq'-if*]gU,Aj" |IŢE (S‰n*T>8ՅBЧ2"**AEZ@׃M4<*tJ"[%t u44IbvZwb,.@&0K ha0Fs` /H `Js"沐 (N(E%}=yB6xu/FWGu& UT%IqFz^zSK.K"#̭}ˤozܷ7 f*~4)YɠJg4 &^JogߍC|ô׻48;d݈df֦Oki-?ꮺޗ۝`:Ȼ<gv 90a-rsfl|0Ha_qcdg |C 7scs}f;m;+߹Ѥxh7B Y3Js4nnRSU)*%pYޏ TPbb&}߰8O'HV`oJ6@ &)V~7)0KOag(x.VsQհ1}0VX OAژRSWO%V}M0ks|e-)x~_b0M3,ഄ=ӌ ZIl5xZ@4-س 9hE ?4Ȑb8A8P I+rt1 ZFzGq ʷȅk\Tkog1 AK5:F/2I@{!еK6_&ҽ̪eBKK0v,BK$7k6w)?zpF01 AK+fvFF;R ВIugA0wPKc}ecˎB w饖W0Y 8-A)RȏA](; %9!ЊS7иVMA4~ Zv*@ӧ&h\0JSix1]qRՐ4 QICQ#,AFGsШĢzqȲۛhkؽzhfa]PNq^)IDATx\S @X0B>@(jh{Q) {"EsS[k]gj}~߹BJ0!QsH{OκygaZSY_W\ZKsV4.dVsoZɓh }3XwBƺ)`# kԯ^UB"u}=mlPyL^~d H&3ڙ `~rU`~Ӏ( *$4FKM`Kh3+X6d-Y[V-]Ym>!iJLf%) mf7{Z5az?c7a53{9y=.jRnI~k,?,5۠ 4V_/ & <(OfY_aRrhJz&V=஭,l0A󅄜xs%^p߆f[4oa"Rc=L`wBê P0Зp7 \Fج*&J6P(a9a',ag̳3Qb``3' 4`?4ACUE!UWb[R,t4בg%&# FژQ05&h^Ѷ*êoKUU<HJl;oTBkzA[ݛCOg/qnYfK}:J4<O|/Ys:20IKoV5ۮzUpcý*{4vvrӀ 0F`ZgfS֢v=?`zDk!9>o7l]WYgBxuK{` rbnLF\Ww\r=IOCx@cGyރW `$^ p3δ.Jm=81tژ/"gX23ô|E7\:zMSx (ɝ6+"m12ʬmܣ@G/0 )NۢӄY $9 g uu1M.jyw1 ktTn9^ёQMKd:< 򷎓Nu*Jt.fUq€/eO!Kv=qYvdr5F``*uB67~)[4^vR(zjr2$<''aeH$9Vn>#g,V $a`ysQjz^t; poJ _H|#k%n`ϿV($YVR [s+$Bi~hi "+MzS NJw6v*c ``ʹ]4_@FMg`^k8f.ɼ35W-,xoR2*b& jr,_?]a""+ pEg1}M,!X9U X@OBMcQ|3<3;V%aL 0J.+`(8{'ږ#XW;<d>~ն$x(ɻ?+|21}ׯ72`Wdcqsݕr F mR5ĚR6_:Q}ԗ3}9ќyq5a6?æM C]V?7V:x+/\'m %WI߆F Z8vΆ <˱(r.2yc>iLȠRV4i&ęe^-wEnV)v=jQ!@r`QNN #(hgFho7)bȝ<VXc/'G $6 A @_]x8?>zϱ+N (P,3 K-NrLfEwM6@U^NȍxB]uI$4nB\ uT< 9 &xNim#]YaRnQņ,] ^ 0GAa63'5 9rj0؆!j%itbC cG2"J[g YH_c/X1M/-G+J4QB fE<H)gi,*jM)2d4EM$MD)d;zhu&KBPb`1q"Y2^U3W kh0+?l IpQ2c>pyˏy3B3B30 UӃ:PhKFM@z+dY(zyp K2 Xvծ-%ծI5A"^WK7XS`yNh/˶iο Wm+{d j@OjLDA 炙znviqD? ĦZWGy |t}RJU}u+pFֹuxɞlJcdn%Ґ=6`}dqF;c [=s) B ?Pg5wMg~6JW_^\y/^10pl/W )6Ӏ$;X,_.-h>wfFXg}Ǟ/}?l t;GO.Nepzqdy󠤫lM{4m?=9Tj}gFGprxR!'j݇i9KS݇ש4'p9؊Dζ ~1@OiEiMƒT (1[r-(ryx8re2œaggN\ŽvPEɖ=5@#_9yB@?x)h"=oN筀_\~nl㴽x"=qUvO|iJ[+R};,v,҂b5>wəe;Z$J9#_46W$-jqTսXB&Lw@6 iz`!:0D?eIc$A-/,OE`\;jV  3Tr\zW5UnQu40Q- Zc\" r7戎4C ! 3ak@Q8#?b=!['ud84 bXK'PPV+JZg"F*^WXAIa y0ΥBƋ)QRtE EčPD BX)-RrQ@vJ0E cX96 !rl #$f`%?x+!ħf9riz:FX3~3DfBbFbP@vG+ 0#_WNi9JY[?*$cJJXcUh}],Ĝz03<͌ >%q~tWo׊@H;V z۱ (A?(oKUl{UM{zd_#|L++ ]9OS@c(2B1~:pٲXӠ-^1[۷X&['ϲnAK}d`?~xTSv"CZO-c$) ^6G>x2h#vfut2+@;FfMr2(8/n{b?-3%#d{8v[Yn LjӾ*ǃ-xݮUV#~d$}y\̻ǘ,R-b9ia~]tZ h.c,β@ٰ mȸR>ё4Sڎ-cGb?Ԝe]-c,zݬ#&[QiIr2yc\e0..->.Ug]122>ծd[^0iEB0A٧fmaY '1 lI$G2Pq0CΒ `x`9B5<IZ#-Z +Ee AIU/!u" +R$D+@&bPe2u񂕋E թ8QH!bІD !B:}Fh {ܒjހ@ hTcZKs,y?櫲l@sB6k(Pzz#cSR-ړzp[Lup%d h7ETc*=(32r3GK>@`-7] 1`M+ٙVذZ 0 Z?UU$z:?@4pZQ <7U$;-P%h]hBs0G] 2 9hІלOI.x! ߆*QE)%ڂBH1dxǤhgygygy>f X״M 2:b(=LܑWh7@ bs5 k.JUXSšϨ(uW`q(% YH{cp.c5@619]~5jvHn+2Z+Toɀ(πc`7ߤL@gMAht-RB la'՜JTspWK*RdpF%5a3NB3r}|Z*ہHpRHeEAcMEQI,kE1p2?\ȱ;^Z{ooϵk ,5z;Z)*\@M._޴i@DVwI#..T!aF 0Шdo)͗g>_̴ T+ %/ 9 Hvf$6&lۿٴӽ BdV{6)o'!̧|IG|`:rCgku{#1HNaЮ/̀Kр" swB4 k Hu]",(M 1IqY)렮-'NeWHVKx3$b&[j";$xwEBvk눴=ea&~]#<󲎨*6wbvzw8Cx5Z-20_g$!|ǀ_ 7fc@nvl:M.;.2hsN8M&;qJ˃bۛc멨ueYisv=7y>g~:7gsݝhJa]r0Mw#әt3|՘ԇvI)DڄЉS֊5G,KPX6kJYqEN0,ѥYP /}~l0@#R 't J/j]pY6TMblkN B:i iz2XI~dw{5&Nn%7[zryؙZu[XKЙ-[z[ڱ0=uK%Le':}k˭|'Õ[g!7}oc0}hDm@6*]~G=n1 4B841pa`vg_w7ry*?1^i 7eO5ڭ8];Pƭ (SXp lڴ鯿RglYebҀ}RCՆHrQ0l(Q 8=eKIyM}lii9 ymy{xd0{} ֆ>kGz%6 om?#uF$¨ oQM?샨yS)_XI5Z? (M(v$L9EJ9=3$А,Fcx1c1byBUW7QI 2\6b(ԋ䬺F&=e(~FD aMd_%dAWW_gΊΆ7a3 ;t9UWI%^]ĎD욍\85&5'S8%X dg2rų^c/¬ (R yho8WEgGx ^bo(6YeY ɉE2%R-2ZDЖ)-` ~-qvuw7ӱ8s]ZJ>mgeof/ZJ!P h/m& @Rw LZ< ~` RFݮ& ح[Iq|; {a{տaxVq}4@#B?7q<E3? X2Efe(L TdmI'C~m ٠Q޺'X/qMeJ4W7M$* +\H4%oc"?7p4\_θ߾]3;̖`o T;G L}^ݒ^2W':g#_CWCYy)SՍk [2 ` ;j:Ze8U<;ht \Bjf@b>Q84UҪӻ u4%lꊋ>jjjڵojn_(M9k$F;U-NZ5[u?me@`)?O~igWJ3&dnЬ5Jog.L'!'70]sffe3Cn А$œWc1tds.ϯ J2EIG>G( P@Gl7- E$ P)+۾Tu? F1 ՗ |cL8¹l${B&ZD|x,DR΁Xq8~ׯx(e  J7ۂ<8}-9胨"@I`^" ~Oe͙ %go MW{UcEǜ{L$2}o,t9o5g0Z_\8D(TWs83Wr_h|sGݶdAG 8XA:g_2fGSv@/=ӧ+68ިbVzE8F>6vz2Sngϳ{ ħg U d6"]}@ G?;\YI2c`ekj~ ʛ,u{׶05xk̨5ouZ`?9ܚ 6u| z0PFF{(`3-G>eOC%oetܔ*}σ8n pF000 cFΛ8WH8ʸ5HJAlqĆ6 mUT(\!dPjp.:C$\tFȍs>ws[YpV l%tN%e$X 0q8 'q E9k<$j.! &88<ϑWeb)vGs v LC&a@!"^H)0zi\Hb0fį8GhRG Q$pQl8dqq"MA`$[DObSCrK"p"঄C"ǒᐈH*'b$ LSB.0/ p @y3A6bp ^ bՙ1pW Mtp(-bJ(: OJzb$ҟl"b@JbC UR Pe)amj]сVrǬ芣#!>*Pb Z%v~shӔnR$t YP1j7oԖXa9cPXP8‡C KpJdQhQF0&>I;JJTP\WE/< A0j(TqHTI7$ >}FMR\&\t2^2?<7uIENDB`homebank-5.3.2/doc/images/win-statistics1.png0000644000175000017500000010335013604616712016024 00000000000000PNG  IHDR*PLTE5~2yUHW]晳8=F䬛䪎֧Ʊ鯋͒ࣟ宭ۙѼì浢N厘㜟ʜofꧫ᾿칒ɼފ嵮񿹵Ͷ澹ĐῬȲ־Ɵu𭙈㽘ٳɽïւŠj𻟿g渣|򟤰¨ԧ@蝼ɫƵyشЀ}YϽJt~թə~ŗߋ=ߨ}ٞ﹃jelvsxqЧߺ[X`lƦݣmbo͹.46އ^jz|IފY;ϚUxADGфqd4}R|ԅѰa7ׯ 2*)IDATx \SWy&ļ" F!B0 B! ∊@@0GQ:N?2׎gN;:cwwNAȴ~ڏk~wHc2FI؈kKd$jQhH_ oZ{ڗ aC$8DIYC? mb\4( oli?uuJ{X @FLOl?6$CddM#vGȹX ϵ%iG&5?v)`=)LIe"QG⸹$W(w+J/тpkv_}%@W_ +gjB@$$::Z2粍J<[e#͏f#l98A?[TT2esB%ݽV}޽?ߺ|5E{G&TtK l8"'wP(I\Vd*cP9zAI3QeԵldЊDXL:g lw= Õ7?|onlh[ 9cEK`2jTS`g?%!RymQԿW{#-2wB w|g&\W @Ԗ`r&U=_u:o C9QGeWF1U"EP@{BR#i8"6րrͽ{w.w»w@h`{vi*Ja-sȂxu]4 Q0]*cSX/'Ͽp6bk}4wH01[o]ϒ%AAAIC|BE`vЪUiɠLvd='$8xK2珌vbo#XwoQJ WW._9nl'C?{DA;Ǣ 2zUTIem="3xxdLcrE` +ϱwFvӓz`-@oG5[42Ak'֚9]t%Mq`K3艟M_aSiO.ğ 4,)4Nf郫i:֍M 5M*[b1GB$~)+(_#`n/=d%YV0ȿZ8  \.֎h|jL=26ƞ֕`~lgJd`UƷuD66"zE'ZUA(JI'c`n/\!ޯ22",= HlX}nA6@ O/V|W kM@Dn!1^pXpYSwm~2n6-oon .Z.VOY4oiTGdğ?we wTK)<?x,T6X7nNCBZ7~M䜻B}i+ :vdeH0.F~k\gl( C;⪮:8ب؊bT } nΩ*;ވ#h٣Jbԭ=>n"g|ISpA gQtV )S oR^wg$;ONɫP8W<3 |x$R gS.oKƴ EP067 ?<&'GHx@8OMBТϐz#KӔ&"^&uU%(*Wq6^H<h M A_+>c G@$- $EŏPJ3R7B tdO_: ,kǷxA  GW3٤lEŞucI@!\! IILޔѕT_/ W?U(21cYO ;gl@`cacK7Rn<̔ڴx~S7CP~C0> C&Qɀ4?" Q&y?NAL({g$Ƀ3ԛa ! šִ QU!ײD]"UAgZМBoٙ ҃w8slaH/p?'@Pe. R _T u'}zp0/|4/AS@֞Ӑ*kJV,W(ؐHP$5ridU6,Aǘ %ƅ{d%4 SЫ"S.b*IxyGQbĐ!RRͯ D" x ) `z A@ ФA3bmQʍ"1(H($29`D, O()7-@%|8'²HbWx\>`_)f3 R(#|0g1(D  )H6}([; qp뙶(g 'Qe5+򲎍0o0Q <4/CR| ?@qk@cS8?17^ ,#A˾ך=h;l b:63>;/t2' 4ee6aTJ#oxkL54TY k!GPP }= AuMD5 n M}4,sձcc3!Gce"!7<ST o;dVņIr.UJQ{(ٕ L0Zgt\H,7V~ @5,RO3aYžŒ9* 6)',md w +/1"g(Ƈ+"a UkNH!.PQ&GXgB:ifH,픋.hEאL[NFx%  w#á02e@w*WsxeuzxW`R1!.#\8<a* 4(?-P#x40\6 l?"ێxX.g^IPzXIjZB (pH >Pn#zH37 6@ 7ӵj+#V*x>Bp-CS5u]@Uʋ@r*`o x8䯪<Z`k94d]A+E:z~C> 4չ wwGs{TZ@"Z(VSR$hB+"+JQE% S@$[mM+=\e%ܟqNDUPmT%ubܔ]F[MF젩Զ tȼqnxsÙ9@ICF lh,$,%/3C99舛3Q<]q CM-bA\fI$-sV=nv1WڝgPۄeB7Ew<֤cF&Bt[ eL!4`U(?[ D`bBP:RXVVi2RG ҩ3i4\?@ǂ}C;4НpU5%؍;٘uеҕ4.XO:, \fhgؙ>͞@;ӥ GN>mx]?R{Mh6^#f 5ԫGmEޮ K"bC{ >t:yȩsh>͵C%e-mKf @L:KGq>nX4P42tzAi -כdlZ] c{a\ֵ-cOG @,iz|H^^ũ 6h2*D1Ip"t\? VDnnc<4H׶;]x``(y?'ȦG KP'plSsSwS0f@m^x:0 @WDe%monGG?{WImd,X^ݑɝW$peDP M>MX*K2 P6AwݷW@Ei]nrlo/CoL닷Qш2(n\/k/,R N'(VM>AHA@d[Osdrw xZ4$_i99{`hh,ѵۧzmOmɝeݑ-6WS{K#Pڇj G 0`/?S25fud4|!xCP^ mN+˼0k ퟟ,q6&^y7CLvkNN!" h}2*F}3F[>6UOrV^e`5V0GMڶ!@n.K6/7/ Xij[w[[ۂNhas˜bȜwu̟N{/JIOb+TSR&D/'@SJxd2RtKf,^t&fZAvLn;KW,}JR6~CS/U@V6i[ʕl\Ne*c m\KWEz+r+5/rH3'Tw`2tf/{i ǥ24ZOY8axaH]}q=L$JbIvEWJJOOVW+"\~wX}/3vx&n>h1-);k*6WkmG,MyiMlWkrb8^ԥ$E7 |oO7h ȹLAЪ>:Xs-LOX&8p8oM4s}oS[Wn߿sr61A}u05'0_:VT/̉,^gǚA¤n`M2mj:_ӕ_gZ{Q1\N0DC`\*p0k'NX:dM:CjBvJ6f8DU9  l;#Џ3E zz Z c{X4 @-Ig3qK<*ہ Mh`w ~|_ KO4.ׄ]o @۸%綝?EqKvnI?tP C=Y0d{!mu[w-.uʋA Nջ'S n- zlq Cքwg\ n}nD׌>% jj;ԒFɠG~M `S.`_Xn@?>g suOt G,C"]+vw9 u/KÎo?v@wlĐe^73yO n K͸ވ\c㺐4,A0wp>ӃĂfzٺ9f麞M]p#S5ʨ;pE7p#"={ ;TkzzXϜliZ떙ΐΆƜ}rzRn\%hL4*#z-χ gJ2 )Gw]j :HYM$/z#pxXc>sxup_5&0t@F/qktJp0o+P%@Ϥr6b6D*MM(9%eWqm/ k/lٺpCV7ΩLu]S[w+cv.o4v9U#Đ)ER!))1/Tl , ۛ9[%v`F)a`MP{̖|bn8ݯ"7#jY|ݙ\4`Ax;a/H;aQsݾy_6V2 \Rh0JLw(Wy!{eB(.MiIqsC>C*S YGE|bg܃}$v*!!Ԑ C!  ~Q0T(@B,GwLWZSαj:uT:NCMd$C/OV^~8RVu!⾚U8 4r2^ )/2p̗RQM&m z7S^iFHp_OkZً!8k9ʥTX+ \4DGo=O}֢"'_M 3.Up.Q^2 3"La8l"ꉫLAFQY Cc.|#$;d8=gfF w*wH+wd2Ј.}oŠQ]b諡o(V_}VWqznFOWY QKIfM6NϮ)iF`üW0"'E S:-^xQW3nF 1 w4%50D4Ӓ@HuGnUnt+JS#y3q>\uam [VZ/|,ėH( qƻx;5UoBq29?!o0$ qZF+%዆! _tQ#֩UF_ìD.. @bv[o.d jpf+ 'eZRlr>3f= v8\=ɛ+4%I٧Off>Sv6}jܛfuyVlF_]o#bE[['z)S)ʓ`,(WK?8m 柋o)X$lzx6=|p~8'NL`י]9o2Ω~(ͪ/ŗ&&ǔx^ Xh`6D#{4o1m> !;л)-|,@=Ye_i@`DHLs&S: @wEIyܽݘ䥂nn.{a~.ϝ XPEuzׂ/O/^< {U yH^Kd%~\82Ckn*!dNK\j$Itdj{J Ux)4Zf%1^$9T !bj& Hh5|&՛R@}իWS@ʣadsϴon'y'9Demn;9Vy+?4Kb+M^<8[3AKho E5kB\F4|kw.Irv8MdnB-d$+a FQb@MJ-{Ү$56S@IVw 2xw1j ,t͗T?Mc{0=Bɸ>J쮝9(ɛ) G QkF>]y5=VDYMqm7Eku~xuc"Qh/S(d>!5dYj.@>PʋJ.{õ$H+"!YnuNxT68 B։ʴ^7s .x1m|w~:(o>575?kU`ox51f67 GH&. 7 % s 2x=<;"v 2\`q85nB ;8 -E;';eb^$mwz}M7R|iR^u2n ^zIHZA ~>cO (AV\-Cu6ۿu^ bCؚA<[эp!1Ålh6Rc`%_@)>hg>4,lp.xw5|N4~= 1 Ԅ86"G^g! 7rzw5Hͷaw5߶Md渋] -G|cfgb3 i8AvTꁦHe:? #˅dFhձw` (0Wӳ3#|B ./`0|RҌ! ΡjpIS H*[_`¾t>OLjI>y"RO[D lbTFS]W.l&RmPdE7S1ӝy[=^/_A]\=טd, <5RpQt~M_T&JD4 mT!+EiDx ~5|P-~@瑚Ͽ+6pZ~boyTY+mUH-*`Q4wMV@ ,cH3e8Fn8=_ȿɏ=.GCPBzyQrnzD?\txƐ@u85 )gZ `5 ޿ ](<]ݟ7wJ3w9ʓwqP`9 00*QR@~ޘ"݂A]J=P8q _9XsThgF݇_]K1)S>"u"VSe>8Z V+e1zk! aY2_B~\1@ݷ_EݟZ~/>w1}@OGW-GQ!\n m\ժqTL:.W&ȡp vn#N`kz}$;b#];wbUңE?ޑzx/*PC/,ۗ*+gub)UV)EK@STZi[ J#w. .|)H(ZdƁ e#OvGM\;IKER2U/`$|zL!&)I"4c\|W 4՝:D+%ߗQ+W6Or: *PɾBk˛G.'mvCAx vn^cD_jSKYK_ W@H^bzE_rڰnVZm~"gPG=r&i'p3s3<Rf21Fax~[^azvԶ<}p*cT4!:Or7M#up+K94b&K;ګ{P6~‘:!maJSl L\{WoG\wԺME N$29LȅV1q8G 屄T%0P'xE{b>ƒ5</fd!4-LvUHSpD25%AHŞPHchH]#\qm(9yxs9(얚D#Y#"s`F``lqmXAap 8D|Aom$NTH,2<$"EdΪ *_3'͍_~ M2MdXAtOg:C} ,+h'pk6 _m)8,&ٴ"lB {,1y-x/;'gMʇ ?EY/8w@)(,@W3K V56cQzUNpC=bGಉ )D6^EE\D0MFӫ.gt?WYkH{yZ{+]ҡՙT=~'vh}1D+k*2U}:V Ͷ Y a Xx7_Gj Hf`~7DQD:XDŽ{j_[,% y2[4,9BLMqv^_ptem(C{RZV|E3%B0]07Vg@zBOy:r38&\5̣|0ٝBՏ2^dv\.Įor}Q{Nc.g`NtF( Ƨ \+pr?8W|@D?p~"f,d|E:p˫SB2N&2c.yAŌ]!=^ @"lIϵbc9@~fi)_gΜnJ/_`3"+9@(Ыr*per?ܘVg)/__}O=.3j5jGz5~!EHJxJpnr0p`T5 ],#UѕO[ P` 7,Gu(8뇾\`Vm{qIZ#PoF$| XKGPwz@& ^g\Vw"aA}d=Xh)Jjt#X1]SRҀ8~!$L&˶PaZS%)԰`nɅI\Ws~n:J>4:(P_]k<#w!3P3 u\s!TTB*"' XMfDN;P4U‡`S`6=>¡0xZnބsg +ݭmv6R6ŦD?Kj.X{|L-P=|u !NSCQncATʕ'/%!BTPV? Se!T^@g@ŪOI|sRJ}c`S _8..Vb*pj˪CʮR]bSG(м0/_~2>8^k!(FQW:%{ 3$jHvHʠXpKTV|Slϟe ak`!>>Ėsb_ ydN0V0HT 0!p-cHd !-8Thc#XdC،'8F 7>ߒ_fõg@ "YB۲z,JIID |hT>O1rBDkp6@CcR]9 C KHL~A_tNAA .p*/ \;0  n$R_ÑI,x*T&U!|>x!I9IEXD{v^*B@t6x~Gy`:芩So݅3=^OATK@ׇ(B 8<0Tw pY'L?~ϟ?Yv%B G"ʣQ.b%.FV?3imi{n0w4=]c{,0~\ڙAï}a+x+\sɡތ0sjOֱ;i"eƘ5Cmbs1ގ+0i=Oڳw;cVjhмdbfҐaY -p@ӚZ qƧ4i`-C&mZ]gN(Eg> }$c4F6!*iAeHq.x lUx||IK${;&kE)01 @"rf}^fx| D $EJ ZTbI A p`Lp\kK&.U, cH&d ! pm;w|x~ONF|JS<@|pAe Te I\ (D NB;Tf N AA[ga, DmA>h'ң\l +i: 0뻯Tu/GN^J(\?Y0ƄTe?Y@$%=t4r%i?]`lcAcBކXfIDc קP\^X6#Pۯ|دlb|UyЋ]=c!D>=]x 97R,U@(hbƔ) >B뉚s h!P  P6#T r_"y_|yw Ye Ad|:Y@h {Id1L[=(| Y㭝c[O 4cҍHεKbjX`5%Bx#HԈR3<(((b)<2Δ2vAt%iIYS-@|!!~G &Fц,9Y70Ly_2!!8&VX^`V"XxUtCpz$/?Hpvz0dD iՄY$)b ID_|*怏4(s ~Q^e't8~5lZO2jĞEy0Xqp5ݡ`.Ӆ8ʞ:Il,H DbK3cf<fco7Atr3cM['j+D Q8 Qq 1d2^AۅmY8'Yoɾmm<A0e#]nj9YeYa\i//{zwږ]^}?B]seUn@ˊj.7bOivul6gkX ]sh1^\5)}xʀ*xrdp@8OJ?JP$8vXnǬOk9LuiQpHRQw$wQM$&m.8ΛM$%JkbrIwAA7ATAGdsq_qTSr08G99s} nt($]՝uUuߗ̡P@υ7M|dɦq5焘I%+#i%AG[̝r<-H{_hI$0 HmJDeg@]Lsj O4199!f+LjÃ-}f>d=ӳ9 8+Ly 1}z$hK{IPB\i&< X<p>Mq:C3a 5{ dy$bK{S0:[sJ]Fw6R-Jg{a6p/"PMf A0ʞLpϘ>wj.+ ࡛kR>|1_RjwYCdƿ5.21T@iAZ s9s8ȃ\L%eM1 u͕5sJ^-2}t;6WTlPߞ^e !9]5B+ dQ84W["J,:a_LUb~%c/Ե7+8#Q4 dJ~pb=P *P=HHA^ CtUq_p:zg6͏j?h[/) ֭9P~ ̚: Vj=~pAtz̎4}莙;s-ж3O}ïd#PP(yn/-CNģouQq,ֹ*AMuPh|zd80ol9P^ x@dPu'Y;P]kAuil)& YMPP5G{ .t 貚+-I=Q NARsȔTǁR} 3oJ T|@Q!áy zFr•i8)` y5}5=\W^_'j\O{VNXun?]{. \:iaxgoq%0M{U t$T/<+< \kx8W:LC^HFn(lolK&ezM=IP4WpF:"U>yҋi u(w &&`{bPˈҭ>qa>i[E쾁^ ,ZW쓜)eopk}` OLI[8go@vc `T$cNl+:7^MK1m& {8|H,}WzD7 הx1R/y}o_K"l ?|Xm@ "7L]|%K-?UeSYѨC> jRqߥLzwwo~y:? fzFʑ<5F@twN1rQm7h0 qOE|{˞zWtpaq4z_4/Cty%9bj`v|v΁oykwb%8t3jm 1f>ES]_< Q)[>pj@kOJMؚNCiK$ԚR/G]UEWr^G>p~Xo,eb$wF:HV%6F_ѹP [Y0UB^,q _%ҭ1xyJǷ\!Lזmp 3Ks ]@.'ђa |0:Ly$U ɠQ>dS`6AMEa; Nh+85a85n͟}~}h7(8(퇳~ !6ǔ7 iFAZ al;Xe* @~QɃqv"P{leLebY "1T|U6u$tĚ- vK4ɿ<@&^ߗzS4^}v6^А؞(kE7@)i-V"n̟$a;'}YX1*ƃĐ*}^" O?ϑpWl;EYWPH!8Em' lWCۉ}vFvxY[ۓKw! wZ:]~K4ɹb\THlSe%T*|midsZEhiت"ׄL+Ʒ!<y[iEcG“"U[߯+Z;70Ug ػۿP﴿gxwglUZMr2;Lx!7d3j@!$6r0Ui btɶ[}F{-#ރbB|>c288ULb_ u m8ieޝ9 dP$w[ })'yLRB!d^[$_+/8& hIר 0xڵC*mm |CۅvΫ 6@i}^΅.05|ߐ3Q'0F^уmJ@dU.YJ&;P 1UdDQ`ua1gB-wO}$Ф39`ѷ?n +h Lx< C!,:CYDn+IZB~0x,uPk$`|uƄ@emb0fh8 #P.ց?6pAػg|2EL>1hVB!B#HA CbR#% 1P qX L3" +L>ōtO}$ciX6R|:5a2Fz&cd~}tl:jjm)a>H@x=ܥH? }aks@@\>*W RE q͕'C&i ;e`6e(@W]mfx]q.6 囁 L7>z}"X3.e!-x@Dx:X>MoehW>j#]3(hv!]' jn{rz^kc> a'B6* Dܿ DP0#96eT]1 !sNXdl#`<6 5d|Z"migŶ:k;W{@ GY%u -.uīJ.yRݍ#rm}Tɓ" rQs4@RX$#/`$cbhy*x0B2d}ki F].* gT]MuKXk [2HZ* D`o,J" ?R*.c'K[2ĒOϵI.Q2e Z۬"߄ĭ~3aKJYRq­inǶ'pu?z %gQ6I} ޱs6l0bw\#vDswxa v)2_ŋX3ﳧ` /?~Soji}8rߑ V 6n`nU pܼ Dܖ_% !Rl@rNRO6jwO>ePW@BH*Ks#QXX]* Ļ4Ezi˥,>9"OTC` =PmVF'Zy]D L_ ,q.*i d3NʁBԒmBO0OR 3 4 f䡒2zX2\fN0T_ZҪ8By\QcXQb:'{\ t+@km(r.f1oz`,n<8(24d5l( {7_I`Mu8AM $\3G|#۷CBFO ? 09G=N 9]۸|m_"&c65y' `܌Y 1_&K>BoyVdo9p|OVCBClI0Hxس0ǐ_h_1ġU1nqo DBdꞁbEb73Fq{PLrZh9BBٙ 3cȚN|Ƕضf!f^jJIA1xI=$SM=*%II6;ۤfMg[jcKItkpfC8 ]8?@ @+r'=]9l8+$fRz L$ T>wL0 N2H3+ ܓkk*JrO$Z $:JS%Wj1R%  \wOMy QVP鋱+.MBb$U21g %L| URF@ÖQ>uFFH@Wi i0tm {=<5.T{)/ ǐ>Z P906or L_s$H Im Sg{TtJs( p^L}ۓ!#Yt7M'ww.)Y϶tB7J{-w<[UwR{-y 69= j"hOotX"T/6ǗN!A 'H|)d/j:c!q/Kw$Mz ɋ )Vjl bѷ'z$81-C&:w\|ш[y/ˏ.𧡍 cH[<>V vm*Z9;o/~1$_xh'S@ĽS:T&%\|b4;b~owffctݫi I|L!zzFbq% p:|}gR˄11C1(`q6rF Ђ10Eu@+C 0X ^"sK0Iq%C@mFǻӇcFGG`ޟ{ u81d< q Q}$O@]1({7Ct=w9T6U |A |:Pm,~8˞2XCAPU B?q3^<+9 s^<<@B` iƈ(H廯O<TaR<;/ DhaAzJsNcN`ljX@U !BPj"@0T1D}nY+[q[i ڰO`p:bW0u>D;:*(9qwJ'7N^ Q>pr#Cq4O[ a D80=Fs/{4vb|͠PlD;`ϒx0W aBi=) _Wk98@k;c^f/X6@_u=CRn4G"!d,p X "LX>ܶnEoq' @qV 3#`z]x(17 h ^F"ןus`at/m 8wG'A 'ŰJ`bkK=UN\P 1׸bHA]$LzhlL&Ey.h!& 1*0*WF ~C裃< cOP[QxH\ƃRʘ36ПDl9dA[ݥsl%A-A80 !F:9] lMmb~A[X߀Vp#JF dh>rABW"f/o?4IL'BH) 4yjm6N1D|q1gG1m0r.\C7\B,c˻#hGHr5ۑb%Fɢ6,Ax- 9["C!6ILMŭ?+UV,@uT!(E-^R NtUdNɥ||W*'-!^%@  V͈sѺ`ܮD x J8J ˇG&]=,5%o$80β{C3%nD\"F\DD`O ` adAXG(ڊ^SWWX5#^y (r1N0Š!ëknߏ~- *ۚHA@1d߳VWV $>k}̄ZC5A|Ö3Q66'_u)Վ-4C* "{΂bȢ^(δYC-i6k!J_@nӷ(zQk`QYAQjbv=$i@<ОVte=%.@T"59 !⌄:v{?]J1$/M I!#Nk6ǭPk/aHMe(g0T vxhr|Ș0 [/B6My'iXgC4{4G^gùdKFRYPu* ,[!y ߡ+o~U1c³2H1wG1꽱8S) fO!itaT?eppx0igڶlݷ-WW>`E{3/;-ШtiqF`̥RtP@k[dE\\ {.}oC؋m}C ijs F@ @*Rտg>qr ͠_dps;w-b C|3AاC;0prN1M,IwΈ ͢F"^ =2fCHba}T=zeE˓UϾ|"XmOc+%-d8+gb'~# ?ɽJ))I)`I1)I0OCIDN }OLR,B+EѮ`L'3z1y _ r$UCAa1I4PZr:cH^XʒMa tQ PZ&:,,2 eɯ<̀ r7 h̗`kA`Nۚ Pq _FFدUdE&6f݋IENDB`homebank-5.3.2/doc/images/dlg-payee1.png0000644000175000017500000001640013604616712014705 00000000000000PNG  IHDR;PLTE5yUHm惣~6䯰⬿7C܊og㟍N弱z穚E{XLzx{Ȗŋ;^ab<嬷ˆmdx񰵼³Ƞɺmin텆ѽg𒢿˶ܲߚ럻VYYW쬚ι{t`Η設ˣʫǹt~XPꈒƷ˰`纏|ҖҮh`|ŕƹGJKś28:u樔膌FԌ᲏|ysn5`\hdwѯ@QIDATx@ٺ H@h\P&t.^QPz&"+HQD(" ({[uײZomf&!2+̜s~wLy 6qc"X'4%XnƒKL6@  !!9$ Bn @5#1-&e즩kkklNELvȂP|D@R @u$*.ad"pJ&*F@omBg\,L LT4[8۴1D)!-+؝J@n.N@a0N?. 3) # l Riᒀ`M_A{c>H`T&FD,Xk7T!QpL@%Ng ^OtJ$^w-"-U jA AaP5?:D4$@ǎIむ-qva2*EKQ]\Z,Y344's ʐ;EV<h#PQfChijNw)xs(15(FEaB/07 %S\" % b3h@_+){0?-Nj-AU+![ ' j1@ (0!:uc\&r6)M7ilt*B tUd$UW/"BÕ#+j柛Q" +iA 0 - ´rH$s&@/XV6H5,y X*Y2"V2]>f(Y)38jj }[E2]X6iFLN: 5g3cٍNbe_2V\@;Y@M#^͎OĖH#mm)doq4ee?6MNvm`&[ "6˪. -?޸OV>d6@8-mL-(+TG~1 |I(i[ԝr!urFSMiw~YnPdY*Zr-e"D ),~6>yH"Q"sq.#j(bj2 H*$h `Kb}`˒#J 1 WxL䐀`÷ J>d)f464sKG>dAxZn1ʢPiJ'uA-X((C5uAj&(K˷=yP{ Ly$ D\/ yf(cDP$&ШFA $Tz}[W$m./w$+3 1g!L3\CCkaPPvwm#^YMYSjlVQ/B{^Y&yD ?7^pIͰF7V~%%g4軆3Nam!p ll906Ͷ9V,~|S7.D"o x@ki H7=jU֤ܨ\)3j6dUQըiJWΣNaÝlUSbrkx2.WWܜ(C9[] IJրk1 GʳKyg䄦w3!L鞁ג.J ':?<ѡ9bNS˩JΦϧƿNY{ $ {Ƴ:QNmrZ473HR|o4~'8&: Jv Xbrzn͹ {xIb3XR}kGA@2=$?2J蒢OF"HiHl (dM+ie |{ +Ea-"~bu'=+6[c@h^}>򩺣G];N(K8B9܉UιS5A@ ~i/`3hs`ei(=eMzhED ` pUlaտ|t_UyUZ pJP ~ ~sU(Z7/sB;{F|)7  a @I+M7-Sx Q=&D @@A.)PH!Q֗l_F.)JR +3pAFGC d8 0bTSbl}6ۺ"V8?lz<<I}w?ܰ86_oAgم?w޵|W$pn/_w- wvp=J7*ڵƞ/e'6l5^Uj矐wν.̬Lk,9=Dmh;qD+n =&JN/5@w$2$dd⠻Dm Q )EEyxBKH8I!WPH"y}"Nb$ʴ8[/"놅6'8+Ҿ_o_f)7L7vYzkwC2^n]#W^R:{aҍ-_)(bĽ˜&zwV뢶X[G^@T25,D\QR%% #ZD 0d!AIYjD%uI.t^!=_d!=չqLkاcԩC>_t׶b:.;{cnb#w x8)IEV-q^eT?ӞU9{`ڎ}M $Hn;d0)1, [>wTv8s"g8/=m_ׁ.->ud|_ ,:6xƥų3.-_qi{V\.L1 =#PPx%~3g.X/V)eEKǍ!m$xgN?_sz8y?T #pf7@z;3ˋgӊ穏d-K_^7bt2ڶhrU83<4uԗSG\ @ȩK;;n=שB;xT]] \j[> 2 l`9hGT\/(h%V[DϟqNXp|sD9zrI;| ~`VH`7p=,P,؞*qS!&ttwU}~*1= L O$P,Kzo; %pՕ#g8&VP#iB? Q (%69sD3j!xvG=6g8=7Ԡ .g$KJДl=2%)<"li/#>X]=}DN"{eC:kuw>%l}Qa_8\O0r )d@ev;ZpdVu3fO_5t6>g2![n( 6V)n~ xOKn kl|(u7< M-X]\j TBl.g p #Z]m 8Jl:tx)h&@|oG-)yJ'#5N p9^A]!L#$*=(_e>nhk:5mԽoxs>c|$*m@xVnmÕ$kj}kyQD{ @w!yF(>2DZcg 9}}OZCBAU++p@ چezY*ȏݱ /Irsf %744rlh԰7|2w'/n]u[}c q +(|#Ɔ])y2nʮGU 5ޟU!Q)#ILouo,P[GCIˏ ICs84 4)bR2IG;3G4P@:jE8: 0pQQA ETK鰡&Qms.6LC"`H@CK"*s  6a1IY&`&.ᰩ0H &FYDK7S9,. Kc2GnďM?nkkPwӢ-MEA mߏԆj$$2HD"7X''nA{xS\~,N n{Wm$a]oPc7@Ӧd&(H1H`È@M?1^C3 ( #M#+|h2ʸJ EEG``.&0n@:~ &(&FW@ |@H$<07X 7 ] L(Ɔ;fӴWG!V @6pn |C)LqS*0L0pTD|uM `BߓW\(j ,a30p4qhzB5gP4J\\ ?)" CRA@들sMxKG 2"t, @)n>& rKO!@jʋ$4WS%y+MӘ ȏLr[O8FD CE:vH 8B};x%{-lMk?w #z77هZZ={tZ@iyyrcz G*Bcui* *? g[tF^kxegٱJC9oygOY))uJ-/eUdӶ$wz2ozى;[%$wR klmmܺ7IxvA&i"bd, @G#mp4%$LMG>e[3@UdhL'gۻy*U3ѱb軏ҩU%|A_Mj@ @~ \\CP]DQЅV!=pFA0]. Eۄ,$T ʔ*7z&usȮLZ 6ÓUSiH7J=/ds3efN Idȸ"`j6|pD@<|ዀ=$hvkJ6h TO*nhHPu>%zec]fȄB LDyW<ÃWq)}ub\0 PʽvS֞u^>,~`ܽ+=nxE;(æATE`mOo0)wߜAqMHuR|U qh"@C1q@Pu/~(ٞbe LƆÕd?&~ 5,L,'ɖ'h5LUN`fFʡ3IENDB`homebank-5.3.2/doc/images/dlg-filter4.png0000644000175000017500000001225413604616712015075 00000000000000PNG  IHDR,PLTE5v_J[󠡢昲ӦM⮘zabc눈տʺέıʺĴɳ9怇||½²Ѿ=蓗p웡۹ȱʴưµllqS榋zǿǫ䘆̢/57rպ¨س\@In恽ͰʹݶmfE}l`𥣠һxq{zzVb白^^yPq쎯떽׬躚v`cz燞MQSivj綸ɿ~ZQSˍjIDATh\S9!` )07$!@1Ɨ!({[2Tq{~9o %!>&Ak +0R',5@Ze.%$?U,-,OhM0=>h@xϛWICzU(:KeG]E:6~é44B}3˞7U'noBzm l;X1N|{5ba||rŀk|R \yj_P;s\b/Q,+'݃Vdp? wWlOc>)b6GXeN8qW}3sOnO -yXIJ#:5t}hZ݉mG̲{U{j;yX@?">RvG0HN&v؟pM=5_Rm\DqX^-BݙYk߸RP$]'vGf>rgssLW(aG]VӞobj}xYYIƶĬ,7mԎ2 0:BE}5&9dʲa ?#.u7W.帮B0•`ل`F`ɞIQML$\;2 cM$ȕɘBli !P{ Em|3)T4lI`’dCdT QSX9deB:+WP'$ְRQakĜIXI:2iN=Rd ? AЧ{l/K^cm? ,sHͧmjTJz?vqO4ܻ7iۧyGű}Ϝb}mI_yolND9v>ʇwF*a"!jҩOŚe~"V/ljYXc,^nɦz'Z!S.l--bj!MVA=C] AW *Ő- Ԋ^Sv16y [^!s .(&\.Muu/nndL<x߂ml̯>mj(tƟTK.ȍI I5;OxUƹRjin0M~WaūMZ q?P"o2޻ =Zq}vuy\gYjQW`睕]noW侮" D;c@,/U%N4 <be7b~k+׮G~+*XUU~ot֊M?oZgY}Ǜ> lTez:DpË+7k7̺Aϕo|ꃋcήmi-c _n{(ssMnƷ7ߺAj'D5^_欐*SQRVԥ7/_zkQg-x&*x,Ed(Vz}$.(5u[R{g϶.>zgبJB***˗0/Sjb! s[ɀ &QBo)T^FLPb+{bNl$nKnO*yYȡ}*L-G4-=\3qI S Lo=8qr̈ݠڽ,M<ח=NP CG$Z****̳TЬT@T@T@T'?QSXuGl= B~*C]Ow^/rn2bv36 :uz& #{7"4lO`ښtд{!k\;NWLR~O}P3z <.q^{˧.(p7N MygTn¥N F$ԄpgﴍS..q=i\|!^Hi7GBP\88șNwIk4 t:}: qDѰcoW_ICܦ7$T݅|JKG4;#T$Tӡ2"=ǻa|OC!ScTr@O1 0m܅gΒh̫~ޜf> AxB#s ͩBx2GgC ZrF!0X&sIENDB`homebank-5.3.2/doc/images/hb-ope-remind.png0000644000175000017500000000133513604617136015405 00000000000000PNG  IHDR(-SPLTEGpLbDb<&uWf:I3hA%oSeYAhM=%S7hx^?%I1}agM[CE-lRy^{afW>I1A(G/`EdD*cIrYg@(Q7e~cC*E+lReC)Y?qVuZS9O5]LaP]RdR_SaTbUeVf[g\gWiXp]l]lYnZs`o_p[s\v]|o}ox_z_}h|`~aluebbncgx}}k{厃琄瑅쒈풉옉ퟕD4tRNS"""####SSSSSSSS}}}}~~~~[FIDAT(m=K`@/&RP,"Bvt-A (H}.g<ہ? cS%e߂nju=>qc+]c]&EfT5.ADLqw,*U0"y<ʠjAZup))ZW%.:٥H{<:s o끨C8l|&4wEmGl!ΫIENDB`homebank-5.3.2/doc/images/dlg-filter1.png0000644000175000017500000001333213604616712015070 00000000000000PNG  IHDR,PLTE5_v9M/57լ®ꨚ矲ƶ얏ʶmim}Ɣ˼­چ䐐z鞟ǧ̠Ŧ¶Ϸ}q˸ùYY`wxҬ߷־ϰ5z½պ Ϯr͹̹z{īʤi`Tpꥼ܅ɸwj贎쓶Кػڱci~[rOj撷ɈGKMaF蔠接腪׹X~eHtrOIDAThXS9!\ EmA C,ٔ^lD\u^Ukի='z I!`|OsU?y&(+@/#M***NNɓ_ ;X-?+8_/f_f׋ -*DRhɨ~ ۇ޾BT%i <__۟^qx}+6ÿ>dz7_i41дTE-:5Kop\+w?Nu.Nk/s[LqK_ţ#k:& 'o|>]v5ԴF׽Z ˌf;* O)N*̹UbᏑ8ߥLQS=,*:0w #nspx?_8[)cgyۿtwy)$, Y7ٕշ WnU¾Zsc&ww얒Ճ-`Pg<˫Wo|7`صI@])n[K1#{rJ8ZtOH5)(pS/X{Ťh ~~ͣxĴr퇴hIMɩD *xmib׍%by9/Juxo[s8DhRQ HvD3u&Q][˄-TP;ww>2~wI\~KKYu}y%9A5'Ֆk)!f+=Ƿ<|Lbk s}4Ȟ*vB] w5s%+)qp~bWT_t7F'0bT KJR|Ӯjoc}uWnjoYHhxS,catjb5$:,mj1td>7Dž"8VN2V3k;]4~ny_yF0Ujr}qz6te d'1_g!C3Ne>Pys.{MY~K=;b-onyyIA} "AM{),ѝ.T-oD"^F,pzmVIbD*g14uZk5qD3<.oMt]7zPG6_Ds7}1WNay=k\Qj[Wkd7WN a>U͚҆&2la^աԺ](6o'O $JrJCJcT"8@;MD0~ۙ#'樜:޳PPUoSRR . JQS3ڟjLUf\ [-1L[/^yf31??đHggs ;it ٧fȽ՘-YZځ!**"K B;) ¦UeWAலWkqׇ}׸wG͎v6>lcbaiKD\z ::S_K:D)Sx*oŭSԶT5X᨞Q:qϦdFGWRBq8(" B("N!vHp{Ud& H":G Ii!P l)mjpBW,L*R%9Ra8 ]@&$u!r5@ij!(T 8M%e1'c $F$. ATKmc fFdA!VTU"TuXPMT,ujB*BLjaj R"B긺6 '6ZT3qG?6'X>C4^Թ$%Y?{HEڸsH6iygwB*ibbBjC?yDUgw<ہ[bˉ44$!U䈏/ w6S?% o jah!LU3WF;]ȄJM&mw7gRNTgP6%4npD}$'*7 T yB()MdJ`v˗Iidqѐ "]ݝ^)zҝcSX3t(w9!fNQ(C{ lk>hJ7FhPE\dA+?u)5Ͽ-K5 ]: @HD@ HHMtԊ- 0p},3UIcb:džD&i YP*_ }Yj9ёE}nNRE(dfuF;?;w_nDTpLdp _BUEL"vD%-~yJKӘ頚`LT0cQQI37&Pט*' GLD0UUUX.,) B2\ALQRfꪄ jBjNu*Q!ZAPh +]UP-XSK$,]A)ᅩ.ut15r0Fi 58A w! ߤ|S2a ̥/t%:FRQI/3d) MI8ZBk,/%.gIENDB`homebank-5.3.2/doc/images/key_ctrl.png0000644000175000017500000000057413604617136014577 00000000000000PNG  IHDRPPLTEopsjjjooowxx~~=TjitRNS3e%@IDAT(JBaՠmzGEILY/k8۷-ay]˼鎧v!Fsk5JUH.~QsY4_%4e(GGC>s%C3IENDB`homebank-5.3.2/doc/images/win-balance2.png0000644000175000017500000003773713604616712015237 00000000000000PNG  IHDR*PLTEͯ333yUH///111蕖<<_hV,} <g-qIcB+N =&Obxr>/Aäf%al_ PvTbX ._ëDohgR1-_1AbMq8.rvH.@l$oiaHJ "=*]*$i] rfX RIx#sb[fjS*af6.Υ2A^ЯuY_@YFڶp__r)m婹)tJx*JJm| ʭl<\ BA0p9 JRA= TA N:@D`_gbcb3nG0n'J| i` %spʭI\,E*PHqZɲ_[_ϰHV1DF(K |l^>-T'[2 hNGM4 -1WW7(S[JjZ-L6Q|&qKkW%L&9+\HBc1F,q6SU^G +Y=5ZuS!0 @\GgԈ }F)*eB(a~ tN.,4B gbWivr X D  (a}A )~/:s^e<;0cgsvpZP!B'9gXx;ŋ{sZ/t*NA77ed ZxNS"iԓRij u<\Wøsc=~CGd713}ֺ&pĝ嵕3 ћxg/\sgL_=ٍh()uؔ9REgAOL9¦x9\{ Lx+Y9sүOW3.?}|DⴝDMsѕ3ΛCcOyW1]#{5i'0a>)CG"a4!|>lpfKʙ^[ 9`7^7~d ۯGvT]ځ=*w$!&oǑ;y{<epͣPō{?1o._d6g<OY]|R]WΎ޼T@5CK\1#dv`r 泺PX϶{}I1!Dޫu{/랾_/_U} c]׵4sP @z'b+lr"t,șU:R󁩖LَDVe̮O} *CjjX5 dUWװX QS]־[MjpZ6> p@ CP s -~ Bk.fi!lUNdCFcm+iDà-5#Z 'B>~u T -8CLr#v̰ ~ԒѧƈPi@O<`O]];Dž kA^!g o5X!DtOPqhfk0 i4XI-pУA`G`uO7 nh h2^Qx|~nma_igN {s fr  fP}{}:wMYLz(o@2tRt[C|1{FH FP'#3j&9&/6KI!*O $c 90!-FG(Қb~j6 @'hׁ9f6˼9Y>-ɍLX%i'69t50{`H?9{^ ֺ 0ڮEULk2@Aj[O~eL}@ړ2^v %*9=wTy"--`K~i5P|7}8qALÌQ09kAAw.5S#CX˹L]dJ?- kS6򏝬*9>hV(&k(#_!\">&rb#}gM%Cff6a6fY$f4k I91a791wl.91'u.3ek]ĉ۝'!7ItK6Ub"hZu j@ 0` Nf ͼϾ4fa65ZL +Z˘͏i1޺QNDXlGn*Kd{W3M 8+ gD Bl^+,WL<< nkb^@;Wǟ_\`GQL!0Bm/ќYeJTH09[L/߾}n7oV_~% $~h>D̤|PK~a͏KLK) (!.73֋TW[(ckᥨ@cJq恅A_]̿ 3`"бd;Hf i{/!XLdQ!adS?l~9}=:zWa9<-njy,v{HS4NgR׳ Ϻ{sL¸`5YlzƜ] =G2q4)Q8~0jR&!$HSI4;]ZG]nҤ]43ݤhN;Mx乶N(ȹ4p ܇|yphtl}fhlk,+"OmGDp@\Vq#S6p!o`:綎@*.*. ?[^sy*L]6q8v1 *@>nSdJ3hd>hz۔x hN8~@[JjobhlK'?OsVqg=wn2rW'8~h6i C S /{f˦4(4@ 1b"DNEf%އ-4პ,T:m x W'( D1Xa,G }/Z4Nake!>3dʖ2@7޵^Ϣ"Jz5n3B } gWa瘤?DOH4hkc@-*[@;z u$lK@RjGW0.ڮ`xzm$x@\"Pa "MG[8"B~Ju޴Ko*#E kS{kM .î.<{;㥽F><-0k+^ LǾw"Fl"8*O*8l[j4L%n3*mRi%f&a;^S6nݹ&pmG&/ꃯ߬6 @e!V1@YxΕ[ ˱f65jvF֒\x]djwϧ6o׾|Z$}%C ܇(Q994! qS[e5 B* ͞Ś4 P71Ygp uf 0lHxOB=D9*[w|T鹟`y<{Hsp?fƨVcfm/(DI#E4i"OBV[ƴ8:Hyi-4K&T )a ؆@3 Y Ā xArr+&M\fڂEtΓRN:;SHYQͷFfl٥+u{C> /P2[Vmj~gSJ U '[ Zy.UX` @kBa%BꆓR-[v:dmQUoـ9s=%f']~}PYlMpG!`0ABI$*cbK!v€"hP8C&ݐ g?L`~ʮb T @.st. \2<plmo3T_tdH`Mn'ߕ2enl}1dM q\[8`){-]jj55 .|1!@ pALJүC,1$*"nƽIz%^L!cmp$*p+@bH6@ XY2LXH<"[mL`n𝔀}<>:q;P*l J;d;x8y W/Žۀcg8GL>H"LE8]ʒC>Nl<A BSԁ,1jLL!(IjBQUGUg:EU<]O\(DSjtHfHOD pзWiݒICުA!\) yhأjSJuB>`Yr 鲼_Y%G=[ṩ,ܓMRïN* Q\ks"-vVU)7hFc}jKVE{+9X1"3^15Q^ Izȳ0xv@ 4 F@l(m`3]`IuA@-e r7CFT^z<rSN4)s@jG{('sidAp"-yT.3 0y6MىT:ȌDN _M IN(^lά\$5eUlZrz7̏R{剮6[q9 dzVI!@7_*7VdE Y 0Ɋ R1"5ʿZSˊx-]R.e2ZoL+ʿ=UV{!;y2kCݗ_[8u?$dVjVD#@$<[3kuW {U!@_y's' ǻdoxsby򗼻E)v&c-"[ӱ&Q]M\x@flf˕T9bGT%YLm_ @ bl7y7L:ǍSP~" nrar ڊܻ-Q՝.YRZ0d%ǴU0}Ý|81-oqQEQ\~k:y2f6S|%!D`y]]煄[ugSu{_S٘Ex-\{oo@:;NLu놀[c];ŪF n̐t54)v`a/@"h#O~>KDџ?jXDK9|@賜 l6'A[ @@@|!N 7PKxPEUN hW~}n 0AB YNTUh_qaH'yW D+Gȉ('$@4i >m*?-?x9˼%̥'lq\`i?3%g"緍i4?Hx9 W~/ 33 W'߯ 慥b( JnQ˧/\z]x{~ D0O/gгSo1$!6—"> IDAT,'y& U.H;JuyIk]}X lx:J3K3bYɆ!h# l _?|<>^;]."*i~9qI{UIDi86F;6<1xkW賡*w~?^ PKV^8(T7%[~CUtR|}f=GfvBmؐw_\q^&.T层iOSbj%\qH;! W|r=@bG9udHyҺɻTŭ{wu9^T}R~d?xza)  geX4Jz? Z:?w;.v$˫ήԴ!/З؋%ŝҰv1[~uذ[+,TJ@<"cgfNLy.3{z , Ǯ [rT+G "֎JAIBA}>+jDMwWe7{{^cd6~W`aro_n p6{nPa{˃Z\Kl6V*{RkX $G>]x|p~6hzjw㝙o2ߺږ@%$_7 `q(Bܳ $0_wf{=O&AIp A^N8d_ſzV13pƝ{[R619:=pt/=Ն]`RFuK# _Hpj` ׮!}a@KwDU__ynop[#fyfRRƒx/I0q /X@޽{g~oǝ]cO[{d`0 ?7z|Y-9@vnvڵG\IZMZuP-.*,+%3/EToS'{zpw~1K|lۙM`SC!:S-l,Y_[pEXzY&>NN}3P| w{~j0kw ۱jVSo]*boʅ ߶5?5w OzȓX[H9uJQ<Vz")E,z!)< e\]M(d,33x<2]T 4 LZ3)&Q5٤(B!c? #A^t釜9VzT;ޕ„# 7kubAUBX@lUԕw@XqA9h akP$.% %5nMVAFƇf#VM$:)88k `F 0"Kn %%)&q")1ZL8:!(t*13o isFL5YQccI:@A+  8Hq &V- OF@)#H/ Z 4F(D( LFD!-a6iY8!`! sK~aRAT\78"(/OW ?NHa(c~T Ԇ'@n`6H, h " 30 ;%QBbƅL&d ~$p~h*)# HRNgaLe$0j@CK RTj1iA, ܁P[!@ dOa1@`j`*b"P*YBX„ER>.QlÌ;1j8Z"kTpjDsx:ΟDs%!_.iYLWZ-6 4<$F*@b?fh&Q((*R2!%Z oM E \5 92+^AgᙵDs[m4{I |)&;6+K%֘*[MFIQEm"a\@!Y+ήYcbH75 142ewU4AY%"qV!bl^%yBꝱ3Ɵs28ܱgs{Zj$CR4'yp&/oD Pf2I_(QQfz=@ #`\zJ\$lGX2@,F9 *(G0^3(S cyӡL<L X6'H`!F d\Qe󌶼iEsM%!1@Jr*^3CegXYfB'; 5'"QwbAE*}_E=)'VVhr-p28T >7Fp}JѓU^Y6c0Vh1?He4R eK #xAB%dPԃqHĠ+Kr33ٕi@ jɠD}e%OgL#̌hԘ5@d}D1`K J U!xާ ͌FOmJ4p4&1UWQq&%@<@PTFx4)[{T(B)d `CeB]@]W{\@Pש}w@gj-yV*E8ryw2; }@^y٤B n^@_1l9-l*hՒyg4 uŢ[W,RKd(8pz Y͡h/X)C4xvZ!&=p+DOe\R,+~?u lvj!S-6C~vh+[lkygGPfuy7{{_l/_[z-_R;WUY:TS_5WSznT UUyw4t_uLZTmk?`7}]u%;fRFUY,UޕaXFr6*⁍-M<_u&ڳKдc5vŰ}P X"s\x\N̋oa Eρ5>cr$B)j:HՄ4zxD`g;O! {V!(e[n |Ge=>@(E=@b++ r+{ 3v$]kI[@ Wʂ$D} i;L$&oݺb8 qWwh&DnV2H(bx^S#`Ps2@b vn2.fA(Dp |1pɷHi8@E HA9Jp 0UtYNQX00M'`!q@P @97. \$PpJLA P7 J%'J H1@z%;G8'`u ^/(!$a @Ĭ'Z"H_.0IQj @q I NQk]1b2@]n˞DЃ! qwg(Pbݰ |XlQqa|ξߌa'raass4.oAK`ܰ&n;Q[0-ֲsLNϚH+A!@  #‡n`-??&{pQ?"&I\&0^@4  =x!WEH `6, ,NP,V1@j`ⴜf> AEO{ֲEl + ഓݾv.aA}60>'b jͅ?^xxI9>EVn2p ?Ҕq8*|>AYX_?k+yk˩Ipsűƒf:AlPFPՌP`Ϧ= rHHS HVL^@' VJk!`9Di#2I"@iD6QBb)D6@IġQ @ H 7d bl ble1re\rLLI`C@6|ABFL=kЉ˭ 枆k(Ć@P߃Ez8lMi`e׿Z:B xX4[W ]%lZJXNqdОfj_4*X_GK?==1 ۝'RyO-.33JaG@9re'CoH!=e=QK83_ *Y8l9 m6ah,$)G1ؒIdfA3<x̅>Lv&X.-87+R7bo r\ȡ;G ka7xͨ=$SMPk=ӖgwJؖ=xPAp|&x`B=:joK1;b =<8*1%Ym9=Nlƈm2݅K͠F&aS ~kF>fbM^̈˭8XqfLݣS|L㯲bKw"zGD Y{xi 6LO|fagKZ0G //]{jkj}Cz9*#+'ɾ,w7ZK`oߛdm3&Ζ?yOM*Nw6Wx76-1_%?Nn7kV?;ōgΔɁny2042{`bwO0Ju{O؁" u( \;{\)N~N54㻅2$C.LU4 [) tE3IŃQ"`2fgAڬY6*졺@ͱ@{gzp:><ϼlgZ>jf3T }Y\=b833V@jIڠ)Vt zZ͘k I>73;_=d;E#.|ie@Jƽ$;nμWܹ`&*Ģ Ț7z9Peo5pA_ /osB.D]6xO:2QHn B! gv 7vcݰș SW.7m>tRt=nw"H4 |۷f>W>Jz)h c>)<b8Ȝ=Xp> &b7D5z&p~+ 9>{yP䍠] *l.*p ^!P _;Y ҆oSiPgu#\Rå!zɽ|ExqGgČ d7Pؤ}BwS]ER&RC#8 $(g9a.DA{QJ!GE_G|h$c ʝ@#u2+Aυ7<˩'}. ^cgrvn7oQґr]͙֍aW:GgG&0}T!;s= c|0_a%i"IDbmKHUmgʺ0(FJZv˽5 %y Ez3PH6UG3߭ݳ@iV h]@ ,R&T,4I"#-*[Kj̄u@I7 9qӢܒ85$ 8)S65x1Evܚ%ZY1b @JZb mM2)IvoQ \&=fDa&6?JLTL~\}@LĐ2AaVsP_GKX9  >Ҿ: )ex;TS M]#pߍ_0_ ;Vn}'n( 87ׇ,lIENDB`homebank-5.3.2/doc/images/use-scheduled1.png0000644000175000017500000001471713604616712015601 00000000000000PNG  IHDR*PLTE5R/57ڙ5pɟ򥤣溸Լv¯3ޠɴᬹϳadeͷ{|}ʼɰѻL凄ǯɭн۾5;<Ұǽ_悏ĥDHIQUV1{9䍤̞ѢģϠͼmmrDуȭءʢqϱ`͆gwЖttzuWӁpl凞曮|zk~gula;IDATxXoHBK81@pyR$zt"> "OQ{g,g/^Sz{daAB6A;36sfwfgg' 2 9 ߟ.KLKLč?q>LbK,L g i`f10HxXDEfBI:OF0I#}s V`>3Mplg2 sC$: $nn+Z&H@f;*\;pYn x<'Bb sÇ/yAuosY^GGz%"|wtR2p= { !K?WgKM_HrI,[^}(;fˍ`"gv ^-c,r/7%$ Lϗ?'Jٓ/cc?O0h9A2?^ȥeLb;Fz˯a"h ez􄳧,\ n;Qz|M9` p~僳h<13]SPEQZANXV %# /dԧYtpXzFFFyF><v=|$qL6{JꔨN?Q]fǼtR(:T*`"!n>d -Mq| (}bo:oԕqqe4,l'E/Ts%H(3w_B0c32I*Ot5th< [m?#RC27;~mRaTFP0=S~aH92pK߆pT2ê/ޝQRn+P æoI)ĝ'ÌepIo١X$ uQ&MFI;Umy7%uE1 '1tYO?ݩ،uQSs׸"$tP܅EiQ]]yʅ(]nX-vHd.>Nh<1-Կ"Z nBt!lU=M}d.w~xw.4?'m,MNjD')O}L6hCK U[)xV_mhs 1y{xܰqIlSS^xެm#}|>ǒP*M?rpY(U"ǎve& d->=_ I$PWںۆ".ԭbGeUdToז}r7[6-$OE"ơBx{dV&fvP_K7 ײ3~<l?_p*#ݵx ^sM_A:=ܭfcwOMdՙ65^U)qIRڽ`hKRMwI!Bo|_e`VWp8ߪ )#,c_d.VЈ׸s·Sra-()". `3`6t].ٳR:0qqùq%)I_^{%jr(Jڇwh`9IB42VcH?O)j2_ƒuX"9hbu /ƆV䂏t7w N07 ה a腿Mro1#0x7M 7yדilXP_t5J. A!d.UgQ@o w|jIjT΁Ún4f:ܹ#}wزH ™%>^ KOKt|Kpts+\Ly+O⣚`A3Ϝ1#W@dvmEεcD˘-oƼѮFFC 츜u(`i*E \v]u&%Ӈ]q~ppʒ oDP^EPhlmǣ笋H]ݣ'ugIMHgpM)ȿ|:C9c*RbJ]T˛UUkS^`w3xؐt,r%pC#FŹ{0 'C F%]T9 -*EUB45JUʶ2+m匒 ]L] I.Jr$%$_&2r K%WK5r;c+ /}PQ&˪ J2{3 A`bA?.zJoƧϰ T}k(VZy]X@i3V.pyJY,!̝u'"Z9 ]LS]}G•бm~Kx$D.n>.J֕( afrFsI`巯#>J aR9ɜ Z`B`QSA^mV_$x:zDyOב)²K>O;&px{_ ;sklB] $ BTǿT&gq.ߑ۲=Bsz`٥][7_t8lkL?_pe>wT\26u1 U`a//[֧n ?X|xG.w~by@mx#a{չfґ{U Y-ݏ.<L|I^Uv |}{JC`)$ƞj {tW Z6xsbkjN=];UbӫcN/V]yk.Hs aʤhRaU ymcs.c:XL!$a03N{h'rf"+bbϘ3.&d҄jO3PQg)*a:-xaf?\Lpy3]8eFs]UtlPO3C\ږٝ10cq\,5f ͙I2\`I7f,%zGٌn(3uK;,,$B2ٳ%:ݎ{ʻ9L23shC5,u Sl<&N6Xk ~!%:;:eu3Nerc]7EV Ԕd:0amnυFDAS-v?H1t?n\ s]v/7`glhZs cܼNIB yf XATπNhԙbѸ1^}3WYس?γٹ3g]| ֙_(]hG:rZ[&KjM9QYօƒwԗ(h\WgOb5|ueom%u`Jcgnd1u@LjԤrbf)g#*Yeƨol\0upO3<gM\{%`bC٫ATԥs:6uuUT2P?DձK2Ssa0I֝> ]0t1rl L$HmV}}A@F?Ћ@xstXIENDB`homebank-5.3.2/doc/images/dlg-payee.png0000644000175000017500000002113413274016232014616 00000000000000PNG  IHDR7PLTEJǷ@ذ@л7¿Ō痗^x|}Ž/01w{|ˋ#%';::iki렞GGIPQVXXsss߶䪸ϱ̶evbt総iƮЩ}ZZ[JdDsųaDgm7VKRnʗbۺơݵBOh~]^ozfν16>mÓݛصߜRtO̪}DŽ̖0=yrH\`uh[٨kŵ*2bzWҺlDuTHv\kۋWFpB1^GvY^6h~KxD*N˶K]իU4^M;"9˲`&k,v(U=ܽ>ƺN>&gIDATh \g P je U$is"G@\*`E"(*޷uѪ=ZVk[vwߙB 3y{<;U qq\RXB52y,V1 hYBpQWbT%.NOp岸.OjGd\WP]EJ7S_%e9~s'6 KdO =ecѸ1,}\-fLqq\c 9/BIr&Ci2Ýb"zQwĬV]ߪ@`ĝI`pqj;}k59o5;ipAΒP05͔<&8 U ^Y_K+K4eaEz[rLKWGkH&F(vէG95QS#b7BƁm6rT%0icț$- OTVj'v oP*|R泩sP0 GbUɩrOUW Qf 1 "%9,ˁDg4fU4tcپ_"8nqC 5?p"8^9 3XGn47. ~mlBrbր xRi3/9PzyS ]-%a?qT'%ѕş!uw~ nO?,?FU cF!9pUE!%'kwX'4+L=՜Qj+Gg/ew }Ռ-P&)5ʬW!\wjF~LRs2ˍ-O.LTFSY5ʤ nu%z]SU*K ܨD QrY”R#N4ܢ޻S W;jvrd(i%PUXj7+ȏN -JpN,ntfif[,N/ڽMUVG5G554Grgry;JQc4UԒ2+jѕUQ&e(ipE ᭸u~n2U'O?C!;4y*4;3,jcg^j_fseML[QL_"- [NC87Z)ӡyR29hၜ-C[|H2¡5@\~b2|kJ>1^1PYB <:;Qi`5zQ6My-|EfS#~dcB[[)&,Z$%*ʧNL';N ӿ8E Mvoef/@6Hi?vG;ՐFH/ C3^j\?= n,I p_dc$vA"9=5v$xH`l/Zbg>Sk팏ۑ^I$$bg $}ƴqA_wm޳{MS<v{B2!^ |pǠ4pp X m2@.]øV}BFEOإ՘qߥg?.nylIN\{3Ϟ j/Ƣ˗_34}v[GL4C[Om{_+4GW5{9pFWr7H$D1C؜/p\DRP؄~-%0e  44*؄Q./օpkTpwEĜDPb34]Q1֭WuЭѪ?^}G\G.,ujWo'b]CEtl_:E wCtU][:j+՘%.6Kό{8hcSMIh5]f; |xШ?ЫQfw5؅Z-(4J ]VnPT]3˪ldSPm䠠 nw!1zʍɶZwbŻVڅք }@7,wZ.}k]\ kB:My;WsK$yW-HQ&3Ԙϯ8caVgUO)%xjǷO/=]쵱7bKgPd.-ҳ?t3D⸆ֻިmlBrKg8.^<=-DŻf陳2w{ GX_}N2ۊ*fuw;,[ =w+<~9q*=Ւqf\:-t,[Zi\<<Ҽ#-1'8.O"_֛1`F[ %1g.( p.h.DnN;Tpo`iy"{Dv>Wn]-U-4%nFT\9照c㏝)rddƬx{)sXe1bPPcb 鳋Ik*9f񺏾]ۘmkډXS޻Xt9pEY1J31)rpslevni{feIzf Dqw;DǢ" .j&^̝qs5ݎ)AA򵩝Jkܛ"x͘6-M[b;,̍ݑ];~wbG_KӦ`mt~9K9co}č}7%n7og#{nl_FZ=,4Wv:-|Q;{7}\T蝛+@q#xOGH޽#,qax=d\M3Z.X%w2~1<YT,zKs켸qgc7[|[O_Z&nO]IP y !.LSG =ݹadgg[_77ggg77_[gg9/ sk돝khӖнC~.3&L5aH=\ek^\!\ʓk'@E`Y98k%TŒYRU´*(ŒR-W/ITx.f|PQōʘşZԤ%G j-plvR}_|aBJ!|.ӈ:?>%3cq0.rqwdxte&>WhdĠ25ӳML[َ+fb*a2MzdChSf齨HBѣ}gCJqPl|Fb೏>|ׄ@չ=⳩CO%G>ژuj5=I1B;0+qr0Rۃ/tDR*#YM\O[q?38.kvy5 ;u6$ %Lb!#X(nb} Z.nbiۧX\]rquC$ǟC>>Fqud%{ "$?2i?8;KR$]@(׾45okK(w`X@YƓp7,xA.iUC++_+hp"7Bjo"v;6\i]}ַf߽}߶>-}OZndBp]#0C,.rڴ!VoN1؁e*#}%sAS[: #t\&fò4qEBObb./&Jcq"!I\xi!MH/1tCIrqҢC%cN Q.D{s%BwO+@ 3(|\\\ .{ep7+{psϞ#(vve +I+^)G :{wfg .p>ĞJ@SbNATۃ1[„kP \M~csWAI(+b{rwED>YrP3d9"Wǿ~-]7lgVOt%a|ۭEZKoi o;WQj Wnjdՙ O*--4u-V W< Ug<򤲿~8&D4sIWtZvr ×{wpsKc.;pö>QD0spKoAbY!$)N</f'8b* :4db 7\54o7MT&(J>;?P o;v_c>^=1]~|sw6mfN0 v;"kUC](W\,jZ'Reć>|o{ c΢5Om .ښhšL ps ?D3os[V &:rԲJ65\\<&k_jZ5{aJ2õFN?Z'yy gU1ޥ1W]Lry' cnwr~Dww[HBQKWm G0V\¸ȟP!\ag-E."wSjd3g,W _ASwœc=> Pl꼼#/|ءkf sELA`ZH] 9"`־j)횢:˾L~5x C1cP_rAXx4)kUW+J\|\[Rqro\}!56~z(q ~qF"w|dVR+IN'p[V_쏵),_D60ѥ`]2ici!ʞ:f.[O'r[1!Ggu-ogq>^p Kk/YŗOɝRdCGO9Mr4;]JwF??cNE܁V;Epw/KMdžH OLp,K p,J}~0lkY{R{kec{kyD&>i?>ȎfIHcS2s`ٽΡ/TRDf'RєH6w-&Ii}M$Ieq$Dy&c`ppp_nm38R,% )™bzq6sa&L-w-hK8﭂R̅ P.΅s P.΅Ts_bc^3\<2ʹt_(^e7ԝfrO3W 1Tvs0@08\Ϸ \¹m*EtRQAƵeզw5#j9rvX^T'1ƳE>;/v~r|\K1Q.Ypj|O sc-C2B3ؔtFI\@]d#n2L@99ժ*}m7.`nRBnb\Xw e|s2=ʆiii?ʹ`5B,Y8{I7-ϐ6r tQ4V|ƉD r+ Y*C,j.Oo}Od2?cRbx3IDAThmh疀;tgg h@LBCjeFZL$[l)r,zŦ`?2CbmI6 ƻ a .IGc+3IcGwޏs3;9;-J]SS%>"B('l9n N#B;BZr"Ptc0(q*I4F!D^?n8Je;-&NhIH'OR:D !~"o9!<4:fB3B_,!= H)ޗ $KtɑhH")P+$v_jczNmFew`ʳF vtgqw˵fTy`G{,r 5HP34XՈw~l\6+y(B I./YGڒDwE<3>ړQ.. !1K'1-V-5I=GH'bL]Ґ]DKrRP"B9!$-E˱ܭe 8qGGEh WZŬ]3Q0sin&p`rcCB;| $[t~l<^\pg,ۥDz0 U" U-rTy#bЦu4gle`$3"cH°{|5~0sT[*ͽ l}BR}/wVS=P1P)=.?r|lX- >l( uDhWPKk#U$ $DtRLu/o>)m)ZI;V@'Td$ nn?z6GIHؼSÞ<Oe˶k.]sua/sS|(y:&fS\vv" &}QLPF8G(2m_ !B7Bg"ļt撈Pr4qϡuj'Ri/jUVTg2L2Sti {- $|#=jBQ\n xZq#>δc2 Pg'Ĭq+|DKI7ښ'F +,_>\ .m?4@(GH> ?ˉDaN:C;%M$;nM":]E`3#Q_jf)v߼Lt0zTJ38{+)F5qPɶ4.EB^71e f2R@$q%=+wN/W:wնث" X/j9LTs!Vۤc!;xX)R; j ]$ ѢQiN(Ьh'PV5GC 6P؂vN" YX%1zEa14ɁAS|_iiPo]]?O6):7V;+JG~=RprZS?R yFrΝB-at Oѝi-L yQp i>vВӐ ~H ;f$";n@刓CNO鳜.ge^J)8I"!M #?ފ-9w7!M8vJ9 (/PLo0=^/m84!d6PWJ|]TEνo~1xt1v )i$pJX[,5}Jw= ]-?vBu ~5}xX]=1B  }DFlP䵾sňMQzx<_'Jv3Y`y׊m-H"Q rNQz)*EPnxBLB(ƪ= "q4="7gГMZۥ k! 7omZWI̋\$պRW,գp`.7|52'aUDmTJnYeTmDlcʤrM< +F`<<6B@gJ".cWoʤ.7~WյT`^.2P5`AjTkL%cD5r'Tuu`hxT?4Q0Vg9uk2Df  r&\MKo^Z^ݽǵ'kO>ּxؼi^Kr3BX( nvNS5ET\MUoc65lw*|^"4U8P- 8vBj Aѱ~P+ {!s(ĵWy+$/ frB,24Na-ӓdG&m'7p dfOS#4xù9x¥&)Nԩ&H#cO9u Hw0iL)yf|.*]pyB.J+َT0_k'w]Jo#ԷOq}]܎Tuu f\%h]Y@(4W)?j>'@<9TZmX3t>ltrlgYmdv}5KIFp`7 nnywؽ&Z3ݐz7?mn^e?.)Z<<]*4i;W E DܺfqooڸEʹvX!aK1:F_3P4TB"g,"IdKͼR q(n(j]ӡ|J t*dvoR]4Y*r(QyA9'vυ u!Kozd Yx_iShhWa+4c=ae=3p4Pt:r̤AATs+3=AADDj+," s!Ҭ1P>^T[~S*㐪yd#U5+felu4 PyYSbeeG?6m%Kd o`C{ Z,3Bgr/r!!;s$;:wrz of߾hw?@/e6?e޷}s}i[4orA|kT|%o4!CmڌvB<]=ƚPG; "5vU`~b Uׇ~E=;r=x;woz64cY;k[y7z16h_ 5j ~h75chv {㛇V%aV7OhRRmhށ:6b[a{'aWgE)(Wu7a540R}O2wfh9jY{P5 ۺY80C;fΛjjxߌN,((fz5ShC=طqhN6t@p&T"Dݢ DMzZnq(~aQʰئfiF/ebq:ʞUNDo̤T;fmpsdE#:%_dcQL]T/4[]Ea*;ph?Q!d_Q u6?G?F# V UJt\YkbrCPm*a8d0wbSʨB]0bɉN7mGx}ɹP.d#ш-|E{ZsWW3b2dA+%G[7'y^q/salɊ+ Z/+iM01[(ZJróEV,VV7Us}= HŢIWФ0Y]׭hLèk(5׮"àvUWe*ڊ~h`?a4yAP#hC;# SN&`!2BGGo ,"ns9dQߝƌ1EVgQB=Ce ke Br҂ M;ת*:C|IK*VW"4)о>/D$z%f,mɟo66!lh Ja)Pi)E ADه5xTPWE%_[p+rC'8վ8>dyfeSHtq WM[ISGF~Ú!OCkt.4*v`\VlSkr&=Zc c`6GbFۊ 8s 2(&EbCrȹ[(U)mpbbm4h".UR!b uUJX$ N@K]n2aa\.nwUR#Q 0H5^ul6:C'jI]"V8<|e+(7fjnxEݫ檢4 Ҧ(-i 7I22O>+7t_k̉=Ŵ&ƒ 0T@@ $RX,!*R GA41k@] >սM%Uw;_:QhAca_.=\{?6M:yHq)ssۣFe'ؤ9eݧLz`&&NrS#B{(TwWhnQ]](MHB@asp*PT)mt rOn%4JԤ wZiQw5gRb 1|kf:UFDoMf+sG!8eGUxW6m3) PxUOhaAm$ E-uPv9!IRdK 3BaYs|kT3^,TS;G-+NPVEywUN:ZVRd%jxErcKQ8ڒ L5YF?8ZW/JD օsA)¸8+!n\iJ) Tk$k$s<7=bvTԨڵzYvwPyFTWE&T֏?}mjCTFrVJOB-”YU)Qѥ)QѥK FDN(]v?.!eQ LAխy~Nh ɩa9޲V{%T5DFTc(leiAׯ(q'ןPڕɥUeeYsrc}qNiBU>YחggУ+BY3-I.-YXԺ8_'TZ9om ڥSsUeޡ6dUNKH-Vy%I9˂Q>ӧ{F,_3=/WN~F('5ޯ42Tp>@Cu$9Y)QBNPIHൾ܅(łS"2kS!s )D7 FY 鳣c(*," CkW5ӒU5b9x  WTy5z<:xL]YmWŔrT a8WGX09~% i~eC8H@ Uͩ}y`h ST30>*MAnCKrm"Y{`C /=އpW_kjy=}K"βt/t#C8˽ BFrE!Þͯύ_RsnD1/^ 6(iJ;[Ad)FuQ!Svk4MC PT1u YT6Qi3ln-&ꩭy4[Lە+? BV^%BN^ ;)jfE"Z)`\Rhf 4_0K@a5rPkmb_ vY!NۥiƐr&¹H~}&EW4Ly!_/5m&HBfHBzcHm zsޠmz 'X)k]r!B3E>B? _TS"!Bɇ æI30 LD3u6XoNpn- Bb+hjMPݬ:D . Tfvtb(}{>O7)!]w'"e A f [F!aw=1dv)Zo[:^C!}VR<b!ۙYe|sk0BZQЪwz`U!T$u! 7S&wZzB>fu=:0)P#eA `jT3JjeZ/W3 To֨QgBNU'G{Tb-&5S-U E9DOD9)441إbIoГ@ n,.z$ Y~bO?%i5|M|F )"zڳҴzAVRUdT[mclP'peC0i5(pMm5IDw7H{HDn%Uc ZBߌBMNClczZ=Ttv1$`c@ +U3_d=C_H:Bc&?B!/?N~G?/T !NFcl1Z p+C,֥ Q6L܇d +fDP3vdȍFucU=C)H|Ѣ06Nr$z4b3MvQάQVjAG\~27Fi۬ KB'7*r#4i4Bmc#Bci4ڂ1(mlL|;bY6Nۨɛ̍&,6 Zn 1K~k2urN׉P͍r)s`!DHR4!5A'= }ihBTA16*:t 4i[A6[lBL]:Ql%gFsEʡs}s >HV|cs'&Ăa㭑:sWFC1`@ɔd2ݕL[\/ⶍ.Mۜ=ËJ=^,Ti/@?htƈ[IG@ʚ .f4BMMfBnǝ!×>:R[ڮ gfМ|m tLXvGG]XSaR@ ɰ^>F ryr,i,NZ0:I& J%-otųIr7pIƌDn~|qb gfɔ,o&5]&+ǃH= Y&K)'btYÙ7E& XV@F\!g/8~ Go {L/$iew13:||B~1[8̯˟]y gA(foל] l[9&z趝VG4rm [jWoLķf A(n+ qcnQ8w}6jU{ZeN&^R]yEXgWX'Gvm?__8z ICu^#a] D_#T=ݐSS:LDzOLE?sCNio?[]|WZRxgGO[  i7e~ŕbv D 3?hj'lEѾ47ig\}I'%tܘ-OB[O;q|g=CH )j) $\rޞ}ӌ}ľ} ڳľ$!_OٻhƖ/C^8m#9fpbk3#;rV'uF^A8%0>_}&<. 6!BWdr7.[Q3G] : "+c[y"$ sB#r`2Dg.Nܷ_`މ3uD-Z~Ok8XBm'Kepț|٭oރCy)K]`ǼpUۯ+]QjioYÔ"t^O̯[=rpe)`ǜ,UA۽mN cigŀH'S/| ±g|1gm}y'p*ѱݧT˟<㡶MǞS-ɫD%7r!ʁ>BkQ,R|=p.[pUD@ λ#RsBUD@X3ܾ+l5g" >UN0OVM|铳\3O hN/Q9}ceb0T80N1'?pf)n^;tdS{,phE֘?4,)ͬ/.Buᅧ|J87܋bۥ0. 7_mDyr>H_|ZB#WtdЋ\3!kc"O'I<}ZɹY0X͝[>*癧%B|^2h,z `qH> ,DcI,TFu5 %Υs@ Di:N >DÓPGbq^8 inu htT~PI,rO819Rf-h?YF;:a؃G(!`Z{Z@(gQݕ;X'wrM?JJ&'x0}^ 7x5 u=-cҥF&ugC=pCqd|d8}'m |8@#- 9/1{s=HUd"DL3<-}PgǗɒ`idD[\5Ρc0`=LFjO"Z 3=$3!( :֫hLGgڛu{v*DIoeYٗog|?]ׄYڭ@38xwHz1'x-ΟnMzd&OpvRY}TV -{JEi6"">/ʴO`|?u\4=儕 q{։/ xqfIޖc嘻 Q-F!k+>eJá@&2%[L޹֪CćnbGP`c Sݞ50aۇ(z Gz&bgg&d/PcjTt";SݹCt:khߓ҅N]*(i8+% NbܮP댷|cxq]RM~HSCBvdTw@ ؞*8}ѥWg:C[vCLՠc1胝j7O1uq_5uݸ": jEnmRAz9bCIe c胦P+. ÔCM,zM!"x%;HL| ̠E`߀F!$kק$Q'$s%< L>M"$@&9K͛m2ՂzBh/`,@ 9BCG?qxTLj4vyQ1 ;Hp(b+b4| ё :$ce1 "%GUa+dpEpȐx(ݷ=ջ#x‹%xT6Xr v䝄mVLIC}E 9uzz!Ж8zxE|qe$z-BlVʑ= 3gs ?}qbÇ*ErA^νY@̵hNj7>;t^aB~ۆC1[P$I 2Tn w'xs /Y 7?A«V܆1NiOxmڮF#̛ڙ@ }Ek hs[E^xt@ka^8kB9g z@, ;\AӔ-շq|> S=7 @KߗJ EꏓQCП\!}So&dno e'x\~(z,5{%6SF6mSh97wvksq<Mx!?45J2ϕj.9(ġ.ʇL|/S52$[:n'xԴšm}2($)fBAsLg62D|蹷ph /}S@y&d9(h=ϩ;wclu^tsTSwnF!S]}exxNAݗSpgQV>;ܓoI]1tDYe9g,oXzv$5Ưyr07!Ƨtc5ցyki~.3-ui‚#LtfC<ʱ~^ M<6ᢒ{Qw nI^׎,uwR`¸ٗ_; /`C)Kv1]>@«~Q+$Ћ GBE/VM:md׻ggl~5N)Iӫom}'9[}u)aL_{xiܻuL )i LJdb %IZ/12f}A`sD1g]{9WU`q Ȃo{M@χ#M^9ro5)kM():V":s,E6_Gpv rz>RpWh!bwPlю}Rb+9nA>{0e)p<d:PA/-O>vN/В^G-߄גmC [ĖEb&~rZ>V(P  WXp-Xř}IENDB`homebank-5.3.2/doc/images/2.png0000644000175000017500000000051713604617042013115 00000000000000PNG  IHDR ex{PLTEGpLyUHyUHyUHyUHyUHyUHyUH|ZNzWJ~]Q{tǿ htRNS/b8]|IDATmGA=z9 !Y fYmI)UpBt孻́(y`flc6\Wv, ש k  W?!PIENDB`homebank-5.3.2/doc/images/dlg-account1.png0000644000175000017500000002562113604616712015243 00000000000000PNG  IHDRQTkGzPLTE5yUH957뢡Ϫɸpgο턙Ǯģӵi稲¯锑ݎT¸˻uvwǸҾ/57ûL㐣Һ[炕Šeijhӻt~~蘬ʪɳtқU\hz[NŸۈǶӵܵĚӬj_mQTW욬ϋ㽜ɭ䂃M雃ЭݿDIK?视bybďɉu۩ջ͠퍆igfXXea~ywԎO*B(LIDATx\X' ;8G9W7:AP#"X%$M,y{rۙY3[ffw!ieFe-WZe)+9QfumφYVs5s3>BdBU0ͼdaV<72>2* 4X $LYqD* 4UBϜЎn*LY5iмCg^12zhXX0-xorl9Tm3V8F ?Vg <6Q[}Av[F@(vP ΖA =']Y x)D*24ZzZFK3 Ŏ0 akT2*rA- !ZDF\ֈ`mT/ N8usR /4vhcE ^(Ĥ fA O pl;Ue> 6#hp2r %REk899I -I BS*)]g;HUe`.FTFh^`u+jU&ɧ.]z;K'H]%R߈|Fԕ &~h͢J4dP mM*bds^&H ǐ@eGԨE!;e'7|Q_ҥ?.>zuŃ.tz©z^H!$Xyg%h` dMeY=~6;VFdI))')2ृ6!?A=}e4WQ9,'o-h T)vgXe-JH4+>üñ^Z"oeAelOd)NjY%(",(k )) ]b!ZaQQ9xCct&OX2mtpe(V_ˁ={|Fw\ұ̱VOg˒O ݙ-?bMx?>ԯNFXǣWʕmߖ ۖ|}3g.ܾ $e޿=sw-3[:2l[a)X3~YƁw*Z8K(}X3z%wo],UGHoؾaLmoW27to8y;"39yUa_/Rm#ܶ|j̖vnȥ-BK[wo4XwKXct. sLP뻁nۖ vBm۶h{`t}ߎGQxnlTZF}fi"3Qwۿ>Տ $o_&}L6Ev{ v~v O(8{̼3gf ۗwtT9Xye- 5\ѱķ`;Ab222ѷ@K̉0-FQLQQ/-3 X. I9U7ZoP(.'.CD4NV?<Kڳy|9u#3 aicyj`4t%5d ZCx倄+s^&Q{vFDֈbex3Cs>lyzwt5tͤ.BbBbbڢBBBA3=;L(Y:ڨ4&\F'3&W"?xQSyEqŨ$H,w-APCzqwXFϴ@ =BK-/-x^.A{O;q2Ԟa*H0+F!^h3*@ '侒b {9nbcK{+/\>OJX(k5"p:0hW(,,LW+FE!^hcÂa[48p4q05$\l$ 6ub>:gX zQyOCqe+&dMZ`6(<ڃ~k AmF5q,h~B[ -|Q c(y?|F-q8B=KrL4( O2cbmCDvx4a^\ eI*@jMs7bcDFc6 UFu;AI%#!)<F|[ν IL~Z-:Q@ QeUOɱ;03(o4h[WgvZ6&l= Ku5*9 o}mFFuMjsŨdh/аի+#$ K#Vgu W-qߨs6s&kiD }+8jd$lgkt8ㅅuuE]*(ެf.%HE^X L*LF;La{a#-AT[p(,"hoi:ɽ\ cJ¬ ^(Jb <[\n%A]qOcd\EguL2OPrD.IҐL$D`dv?[A&BXjχ&DQ65QEAw]iF1&fd۷=jJƼ^lF)e#1}hA1tOĺaEkG~-Ơ' >GjA<.zs1kPSFYLF]~➵1`{ь]@6Ō6ze-NlǙj R6* t^^fԅLc3bMw8S/* 5XKG?CˌoPאOjI uI<+RޚV`̑?wٸr rUI/&&F 5w=9?ߪػpMS|W,kLr`/_ch֫61ĿL;zG`(i{\}=d=xdT?[{r!w}bNhus}Ծ6z 8y-nGY^:P5W尌>Pg*|`?8oڬ]6jnI2Zu/(~?<豺.˅'I{]\'蹜^8߹0wIUa^vkt1mFׄ;>yv;s![goa0quV$evTWQ}[w_3>CFZ)蘓eCerzʪ!ג èq^0=%6mr&Z#t`\0U 2ԥH0^F,Ytf-# X3&:yL$K*iNMTM kHm2g1D >ُbsQtGM$b -&E>kq yeyeДT# ؀L~=F?b VLa~3#3{2ќQuyih2/ IFYN_65SĨ^fc֓853iFٗY8@+j;XY5XG[XUmQ9{çQGґF ;~o㩗n5AU] D^Ʃ5y7%Œ)cltT/r  #V ۮޢ]et_(ț~IвOF7-[~<縯4{:`'; n.^zkizh@ϱ&]QFouOF#f&/vܣ#T/终ܴ |) d#F]rzǨ^Z=;dt2~֘ѷIE޼yAX ٟ v}a1jWWzrb:݃Fà [c5̰Frb]IW #6黀v4K MS(1t307԰(ʗ^bOgt"*C?efGnC.<K~,4k!YW&$< ȳowk42G9Ůyc<IyQ:LkW}&naRyXUmYǁJD4_nP]ֹuf:ۃWp{qԺil䑉 x]x65bF@/: 4ngRoNBiۨ0o/QDFl>sA6h"|ntF7}QqyN) '.;7MlkU;nQO!ÌXWXx 450$ܹXR=FU1]'I(cNQ:]:n]䬒W4']՚шA &!+MRd(GmQ2SNS(tv+5Q}.f{+=UeC"K\G+N>a+nb0 6m9Q)dEeU+4-C6'Q:Sb@襔T72Xi ^VL 6^Ge(en=[%{曶Yy0vV>;^# l(4{Dp|pf/hhk@QB[@@R)wH@!BwAQت(.Nw/U7Y݃sƻ\\L?ML7} Y|oA7R},h,w0KC.L#|(ZuIJێ.%DG5C(*ҝ]秮1Kٲ|Xv?w[xhͻZDL×/q_""s}(p`S VPiy2 .^h6Zh&gHvV(T) ٴT,',gdWƫ*k]N( 7L"0aGQ&7ZL1ou$A\[9u ]~zӰ("Gj' _lr.m(=a((-^ mbx2"Ey„Y2>JƋ۴# H77ߣ(Q $Q%)AJ% zQ,Z)q[K0mNVW`?ģ(-"Y*1(m,s>=Zʛr8/7<<[R%FGvÂa!S, r83&~_>*OE*ˏ\[| Z\x04ۼ7hD #P%񰮷nZ_4T Ssej|ʾ_-'{7Jo4<ԧ֤6n6bW:nOJVX}(DcmJbT~ ?GG-3y.|PX!USGWm\H*<޵v|ڑ֙ßDl!VѬρ+&v}vtLj/i@vt"WY%O۞Q_496zQT0k2%DsGڒ{ՃOΏuo{f%=4{qo .}گkeu،d5vϳ^-1Db Din:TaxR#2>lJJ,MNJ0e^g J_Tx`1}/͞}"~8nr]Mv֤A qSk=̋[R #(&J(Q QŖ`Rh +Y i[/&Dʹt3Q/%Jv(QdG%Jv()G4&jsATݳa~&ljι4+9]&?ٸ2|c8{|-0>XJk*k8Vߗ/D(~ts"}b V$>:y|8QAilᏫT Ga.Qan^fU,g'*'.Xhᦺ=*xLkB6w\&E+Y 9\(eɃhəs֮(˖$#>Xq~ 2,7y-m\2Ќ T,ړ?{)%fa=Qt7ۂR& @r-ZJAeKcka||==`Nifn1**At懓8Q}ǼŰ[g8^ <23mq "1k'Vt a[͛(IOw4t'.l(8T"vokGSo1]N#N+ٟr'#bs8[hW &R%xܽ"(C+  !fbDC0grX&(.Q(\v8+=;bu޽'Dh\.&lO&xOqr8p%b!@CoBK h}UǬ}P>޻ZBQѝx 3jc y": hC6.L!T ﱁP䈂Ң EJgI}ETEV6\HzΉ=\LzJ WDzΨ`mH9%Q+=%M4XQ)Q ˩”(JY^D\tÅzIJ_Tr\2$fΝ')rVDR3Ti棒RPJԛ!BTD`y+$QDCp9_,L -jZSw!1"8iqO'j ե %`] kQm;sJQ&{%JnV@T"yQ%Y4*{72QbE9T,kz6B*m}]ʠuPIENDB`homebank-5.3.2/doc/images/hb-ope-forced.png0000644000175000017500000000072313604617042015365 00000000000000PNG  IHDR(-SPLTEGpLYSKKK66AACCGGIIKKLLOOTTOOUUZZVV]]``rrvvrE1-tRNS -1<=?ACGHHHLUafgi{ bIDATxc` ؤQ\e9P丐uؙs#bolIII˺XY((]m,y`4 y j)"LnFf*p>\SIWUggDq8+^; 8IENDB`homebank-5.3.2/doc/images/pm-check.png0000644000175000017500000000067213604617136014451 00000000000000PNG  IHDR(-SPLTELiq~S(~T*{Q*xO&uM%sJ"1nH"kDf@a<\8Q/@"Ūɸ±^][zwqô÷ƺ̻ò˺TTTdb^gea̿z&ntRNSMghjmorrux{\:IDATxڅ@E ʨٜaVCܪ~nb;^"HQK WfLЩdPJqFR@KP)4>#Hc.`&ݛ6%&Xt-Hv<68๟g&h1IENDB`homebank-5.3.2/doc/win-main.html0000644000175000017500000000635613573204424013416 00000000000000 Main window

HomeBank User manual

Main window

The main window is the basis of most of the HomeBank actions. It is the first displayed window when you launch HomeBank.
Closing this main window will close HomeBank, after a warning if the some unsaved changed are pending..

Drop files

You can drop one HomeBank file at a time(.XHB) to load it.
You can also drop one or several files to import (.OXF, .QFX, .QIF or .CSV).

Menu

The menu is the main start point of most HomeBank actions.

Toolbar

The toolbar provides easy mouse shortcut for some of the menu. All tool button have a tool tip that will help you know what action will be launched when you click on the tool button.

Your accounts

This list shows a summary of every active account in the wallet. It can be grouped by: type, group or institution.
To open an account, and show its transactions, you can double-click on it, or use the tool-bar, or the menu. If you select and account and open the add dialog, it will preset the add to this account.

The first column indicate the change made to an account:

= transactions added
= transactions modified

The balance area contains the balance summary of the wallet (all accounts), see this page for details. If the minor option is checked in the preferences, a minor toggle button appear here, see this page for details.

Where your money goes

The small report show you the top 10 category spending for a predefined period. You can define the default period from the preferences and change into this main window when needed.

The top 10 categories are showed, with amount and rate, also a total balance for the period is displayed. And of course a nice donut chart !

Bottom transaction lists

Scheduled

This list displays the next occurrence of scheduled (automated) transaction and their state, please read the scheduled transaction usage section for more details.

Future

This list display any future transaction, future means date > today's

Remind

This list display any transaction in remind status

homebank-5.3.2/doc/use-tipsandtricks.html0000644000175000017500000001334513573210773015353 00000000000000 Tips & Tricks
HomeBank User manual

Keyboard users

GTK has native support for accelerators and shortcuts, in most window, you can focus a widget or a menu or a menu item after pressing the ALT key. Pressing this key will reveal the key associated to an item with an underline. In earlier version of GTK the access key was always showed, but now you must press the ALT key to show them. Then you can use arrow key, or press the same letter again to cycle for maybe same key used for several items.
Also the ESC key usually close dialog, or abort menu display.

More information and other keys can be found in the Gnome HIG keyboard input

↑ Back to Top

List-view quick search

For most list-view (account, payee, category, ...) you can benefits from a quick search feature:

  • select one item (one item must be selected for this to work)
  • start typing on the keyboard the first letter of what you search
  • an input box will rise, getting the text you are typing
  • you can use up/down arrow key to navigate through the item that match

↑ Back to Top

Date widget key action

On every date widget, you can use some key combination to fast change the day, month or year

  • up/down arrow key : change the day
  • up/down arrow key + shift : change the month
  • up/down arrow key + ctrl : change the year

↑ Back to Top

Change the account order into main window

If you want to change the display order of your account in the main window list, you can do this from the account dialog. Just use drag & drop to re-order the accounts

↑ Back to Top

Automatic cheque numbering

HomeBank also deal with automatic cheque numeration. You first need to configure the current cheque number into the account dialog. Then every time you add a new transaction, in the info field is empty, change the payment mode the cheque and the number will be filled. You can use 2 pad of cheque for each account.

↑ Back to Top

Add Payee/Categories from transaction dialog

Whenever you add a transaction, you can also create a new payee/category with seizing directly a new item into the payee/category widget.

↑ Back to Top

Euro minor

For countries in the European area, or those using the Euro currency (EUR), HomeBank deliver some extra features to display to Euro major/minor, and also to convert if necessary. This covers the 2 situations:

  • in waiting a future switch to euro currency, euro is then minor, and your national currency is major
  • after a switch to euro currency, euro is then major, and your national currency is minor
Display in Euro currency

Setting up the minor currency properties is done in the Preference dialog.

Once the settings are correctly set you can switch most of the displays to minor currency, minor can be Euro if your country is waiting a switch to euro, or the old former national currency if your country already switched to euro.

When the minor currency is activated, a minor toggle menu will appear in most windows.

Convert to Euro currency

From the account window, menu Tools/'Convert to euro', you are able to convert an entire account to the euro currency, according the settings you configured into the preferences.

This could also be used one day in the hypothesis a country will switch back to a national currency from euro currency, the rate configured in the euro preferences just need to be correct.

↑ Back to Top

homebank-5.3.2/doc/use-auto_assign.html0000644000175000017500000000376313560016677015013 00000000000000 Automatic assignment
HomeBank User manual

Using the Automatic assignment feature

Automatic assignment will allow you to automatically set a Payee and/or a Category to a transaction based on a string contained in the Memo or Payee. The assignment is applied after each file import so that you gain some time with assignment of Category and this permit to ensure the right Payee is set as well.

Step 1: Create assignment rules

Open the assignment dialog from either the main-window menu or the tool-bar.

Then create an assignment rule:

  • click the Add button
  • fill in the text to search into the Memo/Payee field
  • optionally check the case sensitive check-box
  • select the Payee and/or Category to assign

The rules can be reordered by using drag & drop, as they will be evaluated in the list order

Step 2: Trigger the assignment

The assignment rules will occurs:

  • You trigger it manually from the Account window menu Actions/Auto. assignment
  • After a file import into HomeBank using the import assistant

homebank-5.3.2/AUTHORS0000644000175000017500000000004012166572746011310 00000000000000Active authors: Maxime Doyen homebank-5.3.2/ChangeLog0000644000175000017500000022077113620042203012001 00000000000000 2020-02-10 Maxime Doyen Made 5.3.2 release. * change: remove deprecated GtkAction/GtkUIManager for rep_balance * bugfix: edit menu was not disable for closed account * bugfix: statistics show legend toolbutton was state inverted * bugfix: #1861337 transactions from closed accounts not showing > Transactions > Show All * bugfix: #1861008 after changing values in the budget, the save button is not enabled * bugfix: #1860356 transaction List wrong preset status dropdown * bugfix: #1860309 preference "Keep the last date" not working after creating a new transaction * bugfix: #1860232 crash when deleting multiple transactions from "Show All" view * bugfix: #1859476 budget "Dec" not included in total * bugfix: #1859386 unable to save Split Transaction in 5.3.1 after initially working * bugfix: #1859346 restore backup should be available anytime * bugfix: #1859344 missing texts under icons in top menu * bugfix: #1859275 budget table view balance sometimes empty + no edit 2020-01-12 Maxime Doyen Made 5.3.1 release. * bugfix: #1859279 toggling from category to subcategory level on Statistics Report doubles the amount * bugfix: #1859117 split transaction not displaying Split in Category after edit txn * bugfix: #1859088 crash may occur if you enable 'show confirmation text' in preference * bugfix: #1859077 no more pre-filled account when single account * bugfix: #1858945 keep last date preference no more working * bugfix: #1858682 add buttons disabled while adding or inherit a transfer * bugfix: #1858507 some menu/toolbar tooltip text remains in English 2020-01-06 Maxime Doyen Made 5.3 release. * new : transaction dialog shows weekdays and account currency * new : transaction type created expense/income and transfer * new : added a clear menu for recent opened file * new : added delete key shortcut to delete transaction * new : added budget pin icon to category forced to be displayed * new : filter dialog added select all/none/invert for payment * new : added account budget icon to show if account is part of the budget * change: xhb data file format (v1.4) * change: account dialog layout change * change: budget dialog layout change * change: assign dialog layout change * change: filter dialog layout change * change: transaction dialog layout change * change: merged transaction and template dialog * change: internal transfer payment mode removed (in profit to transfer type) * change: transfer payment mode was renamed to bank transfer * change: button add/edit/merge/delete to icon button into toolbar under listview * change: rewritten menus and toobars to drop usage of deprecated GtkAction/GtkUIManager * chnage: dropped significant g_list_append to gain in performance * change: replaced the 'remove' text to more accurate 'delete' * change: reworked the ui design of release candidate warning message * change: lighten stack usage for dialog * wish : #1851449 Add a transaction very very slooow with many account numbers * wish : #1848604 rely on type exp/inc also for split line input * wish : #1845388 remind the apply of assignment between import * wish : #1844892 detect/skip UTF-8 BOM (Excel CSV files) * wish : #1842897 color trailing spaces in assignments * wish : #1842758 your accounts list keep state after open/close register * wish : #1840100 updates when use multiple account window * wish : #1831975 optional visible/audible confirmation of transaction entered * wish : #1831372 add nett Budget value to 'Manage Budget' screen * wish : #1818320 add "void" status to transactions * wish : #1818052 copy/paste one/multiple transaction(s) * wish : #1813474 "Info" field for scheduled/template transactions * wish : #1812630 multiple edit enable change to internal transfer * wish : #1812598 calculate "Remind" transactions into balance (as configuration option?) * wish : #1810299 bold lowest balance for future date in register * wish : #1792279 configurable backup directory * wish : #1756681 ease debit/credit/transfer transaction seizure * wish : #1749457 change order of same day transactions * wish : #1740368 expense & Income type available at sub-category level * wish : #1719184 table view for budget setup (contribution code) * wish : #1708974 allow for transfer on mismatched days * wish : #1504348 improve control of assignments * wish : #1460666 features for scheduled transactions dialog * wish : #1173135 statistics report to show all items (pay, cate, acc...) over time * wish : #1095160 account: more type and created group * bugfix: #1854953 Direct Debit type ignored during OFX import * bugfix: #1853531 show 'Uncleared' transactions displays uncleared and Reconciled * bugfix: #1845841 check point and remainder on splits gone since 5.2 * bugfix: #1847645 number of backups exceeds preference settings * bugfix: #1845839 updating a transaction from the Remind screen doesn't always update the account summary * bugfix: #1844881 internal xfer of budget account "this needs a category" * bugfix: #1829927 when inherit a txn, the Add button faulty keep the data 2019-10-08 Maxime Doyen Made 5.3 rc release. 2019-09-18 Maxime Doyen Made 5.2.8 release. * new : import: auto assigment is now optional * new : payee dialog: added a payment icon column to ease management * new : add help and donate toolbar buttons * change: payee popover: improved the dimension of the popover to larger one * wish : #1843184 reorganize accelerator for txn dialog * wish : #1841462 shortcuts for register view * wish : #1828914 mark "Today" for calendar widget * wish : #1826211 csv import to assign category from payee choice * wish : #1673902 add a visual marker for uncategorized txn of budget account * bugfix: fixed compile fail with GTK < 3.22 and gtk_popover_popdown * bugfix: accelerator key was not working for date widget * bugfix: #1843648 info gets empty after editing a txn with paymode cheque and positive amount * bugfix: #1842935 can't save file after OFX import with long unicode strings * bugfix: #1842292 windows: language change KO if install path as utf-8 char (é, ç, à, etc) * bugfix: #1840998 transaction Screen only shows 3 weeks in advance * bugfix: #1840393 import qfx similar transaction dialog amount show $0.00 * bugfix: #1839851 balance report details view all show amount 0.00 2019-07-28 Maxime Doyen Made 5.2.7 release. * new : dropped usage of comboboxentry in profit of a popover list for tags * new : payee column shows >account or format-> numbers options is never saved * bugfix: #1562372 statistics filtered on category with split display wrong results * bugfix: #1535483 importing CSV file silently skips a line! 2016-05-21 Maxime Doyen Made 5.0.8 release. * bugfix: #1584342 operation disappearing and corrupted account file 2016-05-06 Maxime Doyen Made 5.0.7 release. * new : preferences, add preview for chart color scheme * new : doc, added every payment into the lexicon * wish : #1509485 quicksearch split transactions memo/category * wish : #1507252 ability to batch-edit selected transactions easily * wish : #1501125 export to CSV for all reports list view * wish : #1501111 double-click on scheduled txn in main window to open template editor * wish : #1292377 enable edit transactions from report detail list * wish : #880846 hide/show txn list column on right click * bugfix: #1577555 scheduled transaction edit doesn't enable file save * bugfix: #1556289 scheduled transactions disappear with no reason * bugfix: #1553862 budget report categories displayed when selecting subcategories * bugfix: #1523216 import window wrongly sized * bugfix: #1511325 no warning about old gtk3.x version when compiling from source * bugfix: #1464961 inconsistency in my file internal xfer 2015-10-18 Maxime Doyen Made 5.0.6 release. * bugfix: #1504514 next Previous buttons not translated when importing ofx file * bugfix: #1504359 assignment with same name should not be possible * bugfix: #1503682 app crash opening a file from previous version * bugfix: #1502997 || input in split should not be possible * bugfix: #1502496 auto assignment don't set payee on split txn * bugfix: #1502444 auto assignment can mark untouched txn as changed * bugfix: #1502034 translate homebank.appdata.xml * bugfix: #1501968 splits without category are lost during QIF import * bugfix: #1501962 statistics report crashes HomeBank after adding a new tag * bugfix: #1501144 auto assignment changes split category when only payee is defined in assignment definition * bugfix: #1501138 wrong number of txns in pop-up after auto assignment * bugfix: #1501129 auto assignment dialog not active when no category defined * bugfix: #1501098 litre symbol is not translatable * bugfix: #1500043 remove period from short description * bugfix: #1498622 translation: add developer note to FI Fee * bugfix: #1497630 translation: typing errors * bugfix: #1497521 txn dialog +/- button reset amount to 0 2015-09-19 Maxime Doyen Made 5.0.5 release. * bugfix: revert back fix for #1464961 inconsistency in internal xfer 2015-09-12 Maxime Doyen Made 5.0.4 release. * change: windows: upgraded to GTK+ 3.16.6 * change: amount toggle sign button changed from text button to entry icon * change: added/changed transaction are always showed by default filter * bugfix: #1492634 using memo filter does not list memos in split categories * bugfix: #1475969 no help file. F1 does nothing. Windows 10 * bugfix: #1473717 year on statistics is preset to 1900 instead of e.g. current year * bugfix: #1464961 inconsistency in internal xfer * bugfix: #1391506 windows: (gtk3.6.4 bug) Dropdown list appear on the wrong Screen (dualscreen) * wish : #1469424 bank Account window should remember user column arrangement * wish : #1338052 add option to show x days future ledger txn * wish : #1330156 in the ledger, a way to identify graphically the past from the future. 2015-06-06 Maxime Doyen Made 5.0.3 release. * change: windows: upgraded to libofx 0.9.9 again * wish : #1460370 internal xfer credit should display 'From account' * wish : #1444792 button to expand/collapse all in "Manage Categories" * wish : #1429413 thinking of icon credit vs debit card * wish : #1416957 add ability to modify transaction when posting from template * bugfix: #1460390 Saving a file as do not work since last 5.0.2 * bugfix: #1434972 (libofx 0.8.3 bug) windows: some OFX files leads to crash * bugfix: #1424660 (libofx 0.8.3 bug) windows: memo field truncated * bugfix: #1080093 (libofx bug 39) OFX imports incorrect date 2015-05-06 Maxime Doyen Made 5.0.2 release. * bugfix: #1448549 importing CSV files automatically creates 3 new accounts * bugfix: #1443782 date filter From/To fields not working in Trend time and Balance reports * bugfix: #1443048 saving cut file name after a dot * bugfix: #1443047 budget amount is wrong (seems twice) * bugfix: #1429414 calendar widget can't be dismissed by clicking on the arrow or text entry 2015-04-06 Maxime Doyen Made 5.0.1 release. * change: xhb data file format (v1.1) * wish : #1439015 use Segoe UI as UI font on Windows * wish : #1432204 inherit txn should set status to none * wish : #1435944 appdata is missing long description and screenshot * wish : #1432204 inherit txn should set status to none * wish : #1421326 "Fill from template" showed by default * wish : #1419986 reconciled icons, text and translation * wish : #1413874 keyboard shortcut to transaction none status * wish : #1377640 txn same consecutive entry * wish : #926782 for transfers, display target/source account as payee * bugfix: #1437883 edit/modify transaction box takes >10 sec. to open * bugfix: #1429410 document the "Cleared" ("Pointée") operation status * bugfix: #1429407 shortcut clashes with search or other text entry widgets * bugfix: #1427798 -0,00€ for total of account * bugfix: #1427112 status of template transactions is ignored * bugfix: #1425986 QIF import sometimes fails in v5.0 * bugfix: #1424437 gtk warning from console * bugfix: #1422617 trend time report shows dates from closed accounts * bugfix: #1420859 alternate row colours not working * bugfix: #1420495 typo problem in chart tooltip (apos) * bugfix: #1420098 ctrl+w no longer closes account window * bugfix: #1419992 visible column names are not localized in preferences dialog * bugfix: #1419975 not all languages updates were imported for 5.0 * bugfix: #1419476 edit transaction dialog empty category * bugfix: #1419304 crash if Balance report is open and transaction is deleted * bugfix: #1415740 budget line with value of 0 not shown in Budget Report 2015-03-28 Maxime Doyen Made 5.0.1 rc release. 2015-02-08 Maxime Doyen Made 5.0 release. * new : migrated to GTK+ 3 (windows target is 3.6.4) * new : budget report is now a stack chart * new : file statistics dialog was added * new : cleared status added for transaction * new : new column for transaction list with cleared/reconciled/remind status * new : category: added an Expense/Income switch filter * new : budget: added an Expense/Income switch filter * new : budget: added an icon for budgeted categories * new : payee/category: when you merge, deleting the old item is now optional * new : payee/category/budget list: added a quick search function, so that after the selection of an item, when you type some text, an input appear to easily locate your item with up/down keys * new : account/assignment/template/scheduled: confirmation before deleting unused items * new : reinforced the io error control on file save * new : charts now uses your system fonts * new : icon set was reworked * change: xhb data file format (v1.0) * change: windows: downgraded to libofx 0.8.3 * change: payee/category: renamed the action move to merge, as it is more relevant * change: reworked all the confirmation dialogs * change: relayouted all dialogs/windows spacing to be more Gnome HIG compliant * change: replaced 'remove' string by 'delete' (more relevant) * change: import process reworked and refactored to ease import and enable future evolution * change: lot of small visual changes (disable state, reworked texts and sentences) * change: split import menu by file type and preset the file filter on the type * change: removed the currency symbol into transaction list * change: doc entirely updated with new screenshots * wish : #1388402 'Pinned' remind transaction (with no set date) * wish : #1341202 txn state add of cleared * wish : #1318284 persist transaction list column width * wish : #1254650 transaction entry boc too small and fiddly * wish : #1231865 windows add version in EXE properties * wish : #1202500 top5 spending for subcategories * wish : #995436 average in Trendtime Report * wish : #706600 euro major conversion feature * bugfix: #1412200 Text fields to input a new category name (or subcategories) writes in reverse (right to left) * bugfix: #1410166 add transaction crash after selecting cheque payment * bugfix: #1400403 5.0-rc Reconciled status lost at reload <=4.6.3 converted file * bugfix: #1354789 windows: (libofx 0.9.9 bug 42) QFX import dates show as year 2059 * bugfix: #1419032 Scheduled transaction amount not saved in some case * bugfix: #1418968 Transaction list scroll reset when deleting transaction * bugfix: #1416742 5.0-rc Merge 2 payees and they remain on the display * bugfix: #1416624 5.0-rc category still display in txn dialog after split * bugfix: #1414267 5.0-rc Budget Report sort order * bugfix: #1411898 windows: (libofx 0.9.9) Incorrect encoding when reading .QFX files * bugfix: #1408966 move a category still display it in the list just after * bugfix: #1407091 5.0-rc cannot sort by clicking on C column * bugfix: #1400381 5.0-rc Memo column empty in OFX import assistant * bugfix: #1388520 5.0-rc Internal Transfer linked choose dialog box too small * bugfix: #1384202 Alphabetical category sorting does not work when there are spaces in the name * bugfix: #1378836 Scheduled transaction display is not complete in case of internal transfer * bugfix: #1355786 Vehicle Cost Report wrong label 2014-11-08 Maxime Doyen Made 5.0 rc release. 2014-08-09 Maxime Doyen Made 4.6.3 release. * new : enhanced categories completion (complete is done with partial match on both categories and subcategories) * change: windows: upgraded to libofx 0.9.9 * bugfix: #1351098 windows: OFX import freeze HomeBank * bugfix: #1349160 layout are not persisted well on maximized windows 2014-07-27 Maxime Doyen Made 4.6.2 release. * change: xhb data file format (v0.9) * change: sort preference language list by name (was by code) * bugfix: gtk warning on budget/stats report * bugfix: #1348951 when you move from one category to a new one, it creates a lot of categories * bugfix: #1348319 scheduler options not saved * bugfix: #1345739 moving payee creates erroneous payees * bugfix: #1340142 program crash when select Category on Trend Time report button * bugfix: #1339572 exclude from any reports and from budget, options with strange behaviour * bugfix: #1338491 add transaction dialog, Memo field autocomplete doesn't give suggestions * bugfix: #1338140 add transaction date defaults to the date the app was opened on * bugfix: #1336882 filter for unreconciled transactions * bugfix: #1335285 when inherit txn, date is not today's date * bugfix: #1325969 ms windows incorrect sort of strings with special/accented (diacritics) 2014-06-25 Maxime Doyen Made 4.6.1 release. * bugfix: #1333426 crash under ms-windows when no euro datas into preferences 2014-06-23 Maxime Doyen Made 4.6 release. * new : report graph now use the gtk theme colors for background and scale * new : scheduled list: added late column and splitted amount to expense/income * new : speed optimization file load, register display (tested with 0,5M txn) * change: xhb data file format (v0.8) * change: account dialog: relayout the properties with tabs * change: preferences: moved prefix/suffix symbol to a single symbol with a checkbox for prefix * change: transaction dialog : replaced the split S button with a most common image button * wish : #1317183 scheduled dialog listview to be resizable * wish : #1258344 template transaction with unspecified account inherits from current account value * wish : #1197965 text filter and sensitive case * wish : #1099026 ability to individually play scheduled transactions from the list * wish : #926784 per account QIF export * wish : #923154 vehicle Costs assumes UK volume in gallons - sold in litres * wish : #818440 scheduled transaction date before or after weekend * wish : #676447 change financial year boundaries (report dates) * wish : #564922 add Direct Debit as payment type * wish : #493162 auto-assign category from payee * wish : #455295 search functionality (thunderbird/outlook) * bugfix: was possible to quick edit the balance column in account window * bugfix: crash after a reset of preferences * bugfix: #1316252 Vehicle cost report: "Other cost" always $ 0.00 * bugfix: #1308745 Error in sum displayed in Bank, Today, Future * bugfix: #1304539 HomeBank crashes when 'move payee' * bugfix: #1301002 Split Transactions are filtered by category incorrectly in reports * bugfix: #1297054 Top spending not taking credits into account * bugfix: #1295877 Expense shows in Income column * bugfix: #1292012 car cost show 1km/l * bugfix: #1287956 Dialogs for multiple edit of transaction are too small * bugfix: #1286752 Screen Manage Categories: button Move is not translated * bugfix: #1286329 In preferences, file chooser dialog have title "title" 2014-03-01 Maxime Doyen Made 4.5.6 release. * bugfix: #1285326 export transactions to csv. Concat [dot]csv to filename * bugfix: #1285164 tags not well sorted when mixed with blank * bugfix: #1277622 problem with the split transaction and the Vehicle cost feature * bugfix: #1276377 qif import shows 0 items * bugfix: #1275534 Balances not updated with sheduled transactions * wish : #1273848 insert scheduled more than 92 days in advance 2014-01-26 Maxime Doyen Made 4.5.5 release. * change: extended number of split from 6 to 10 * wish : #1242274 balance when date descending * wish : #1238575 total percentages in "Top 5" and ordering statistics * wish : #1231120 record discount on splitted item (mix exp/inc) * wish : #1202503 clarify when move a subcategory to category * wish : #953695 sorting by date tracks the order transactions are entered * wish : #735350 ability to change language * bugfix: #1272760 qif split transaction import with >6 parts fails * bugfix: #1270876 QIF export date does not follow settings * bugfix: #1270687 balance doesn't recalculate if dates are changed * bugfix: #1270457 duplicate hotkeys in Modify Transaction window * bugfix: #1268026 internal xfer: do not copy the reconcile state * bugfix: #1267344 remind transactions affecting running balance displayed * bugfix: #1258821 existing Split transaction can't be summed again when modified * bugfix: #1254544 date get back to today in add transaction dialog after adding a transaction * bugfix: #1253004 rework the create new file from welcome dialog * bugfix: #1252230 editing the account of an internal transfer transaction changes only one transaction (out of two) * bugfix: #1250061 change internal payment connection * bugfix: #1250057 select linked internal txn create a same txn when no selection * bugfix: #1235465 auto assignment doesn't search the memo field of split transactions, so doesn't work * bugfix: #1234879 running balance problem after sorting transactions by ascending date * bugfix: #773282 QIF Credit Card import shows reverse Expense and Income 2013-09-29 Maxime Doyen Made 4.5.4 release. * bugfix: #1230401 running balance missordered after insert on same date * bugfix: #1232418 Account, Payees and category, wrongly disabled! * bugfix: scheduled transaction icon was still displayed after a save 2013-09-21 Maxime Doyen Made 4.5.3 release. * bugfix: #1225611 Trend Time report : categories crashes on windows * bugfix: #1221484 end date not checked to be larger than Start date in reports * bugfix: #1218644 there is a problem of calculating the column balances. * bugfix: #1216321 reversed transactions * bugfix: #1216284 balance report do not exclude account with exclude from report checked * bugfix: #1215521 when importing qif, automatic assignments are not made * bugfix: #1214077 windows: my csv file exported crash when import again * bugfix: #1213569 windows: program not all translated in french since 4.5.1 2013-08-15 Maxime Doyen Made 4.5.2 release. * bugfix: #1207156 Off-by-one error in range selection box 2013-08-03 Maxime Doyen Made 4.5.1 release. * change: windows: upgraded to libofx 0.9.8 * change: lot of code warning fix with gcc -Wextra and cppcheck * change: source code preparation for gtk3 migration * wish : #1163319 revert back date range 'Last Year' * wish : #814472 update main wallet view while editing some accounts * wish : #801970 add R keyboard shortcuts to reconcile/unreconcile * wish : #703544 account selected in the main view should be used by default when launching a graph report * wish : #559787 running balance column in the list of transactions * wish : #331113 keep windows maximized * bugfix: mainwindow, top spending was not refreshed after preferences change * bugfix: anonymize, bankname/number were not modified * bugfix: #1202507 moving a (sub)category resets its "income" (vs expense) status * bugfix: #1202503 after a move of a category the list was not refreshed * bugfix: #1197516 file COPYING out of date * bugfix: #1195859 expense Income Balance Total error in Tag Statistic Report * bugfix: #1173910 illegal xml character allowed in split category memo * bugfix: #1163749 positive/Minus button ignores decimal character * bugfix: #1163447 auto-affectations non modifiables * bugfix: #1156846 QIF Import with date format YY/MM/DD fails. * bugfix: #1151259 split transaction filter on category problem * bugfix: #1140903 Bank, Today and Future Don't Update After Adding Transaction * bugfix: #1138103 no error message when 2 bank accounts have the same name * bugfix: #1133105 more permissive QIF import * bugfix: #1103668 segfaults on file open on x64 * bugfix: #1102896 pick a date in calendar only works once (rollback #730319) * bugfix: #1099944 some strings in the main window untranslated * bugfix: #1047103 win: (libofx) Importing QFX causes HomeBank to freeze 2013-07-16 Maxime Doyen Made 4.5.1 rc release. 2013-01-14 Maxime Doyen Made 4.5 release. * new : main window, "where your money goes" report * new : main window, anonymize feature * new : account window, new filter on date, type and status * new : account window, label of account displayed * new : account, ability to exclude from any reports * new : account, ability to exclude from account summary * new : budget, warning dialog when no account is configured * new : import assistant, 'known file' pattern set by default * new : import assistant, ability to change date format * new : preferences, set a default date order format for import/export * new : preferences, option to append scheduled transaction * new : preferences, a lots of new preferences + reorganized * new : chart, color scheme are now available + a new default one * new : chart, some changes and add of titles drawed into the chart * new : ms windows, number/currency default value from user locale * change: xhb data file format (v0.7) * change: upgraded to gtk 2.24 / glib 2.28 * change: windows: upgraded to libofx 0.8.3 * change: preference dialog, moved the clear button position * change: homebank, clarified the error load messages * change: homebank, optimized xml * change: homebank, added a visual type of category everywhere (-income/+expense) * change: replaced '(none)' string by something more relevant * wish : #140504 category split for transaction * wish : #400010 csv export add support of mm-dd-yy * wish : #593435 add subtotals for account list by type or bank * wish : #660450 Cash Account hidden from Accounts Overview * wish : #688494 limit day for automatic transaction add in the future * wish : #722226 xhb file format : amounts and order details * wish : #730137 portable app for ms-windows * wish : #730319 single click in calendar to choose date * wish : #787131 Column titles in exported CSV * wish : #787134 csv add import/export for tags * wish : #833614 sorting on category / subcategory in statistics report * wish : #856477 improve category dropdown with +/- * wish : #886372 poland in the European country list * wish : #1006802 hide reconciled transactions by default * wish : #1088259 Handling "VOIDed" check transactions * bugfix: archive target internal transfer account * bugfix: closed accounts were not excluded from reports * bugfix: detail status and rate in toolbar report window was not initialized * bugfix: #123704 Numpad dot key does not work for french locale * bugfix: #599476 some English terms unclear * bugfix: #726052 Balance report not up to date * bugfix: #740373 ofx import, debit should negate TRNAMT * bugfix: #758281 QIF import shows wrong dates * bugfix: #772233 mouse over piechart sometimes crash * bugfix: #777886 Crash when I click "Select All" in the Balance Report * bugfix: #783787 Fix for a small memleak * bugfix: #793719 csv output: no rounded values * bugfix: #801962 win: Descr field inUpcoming Auto-transactions alters on one entry when mouse-over or near * bugfix: #813789 HomeBank does not import MsMoney-qif-exported files * bugfix: #828947 New Wallet wizard do not treat created wallet as modified * bugfix: #828991 Error message when you decide not to "Save As" * bugfix: #829362 Missing decimal separator with C locale * bugfix: #840245 Closed account on internal transfert selection * bugfix: #850996 Escape key looses changes on "New file" with unsaved data * bugfix: #870023 HomeBank can't find browser * bugfix: #872185 crashes on qif export * bugfix: #885749 QIF Import shows wrong amount * bugfix: #905277 balance rapport reports wrong amount * bugfix: #926915 transaction modify window sizing problem * bugfix: #931187 preferences not saved when ~/.config doesn't exist * bugfix: #932959 win7: import QXF/OFX file if path contains non-ascii chars * bugfix: #942346 internal transactions mixup * bugfix: #987144 QIF Import Error in Financisto * bugfix: #1024907 2 qif export problems that must be fixed * bugfix: #1074133 from date to date - does'nt count the last day of the months * bugfix: #1080132 4.5pre1: transaction split OK button stays inactive * bugfix: #1081809 4.5pre1: filter by category ignores split transactions * bugfix: #1082634 4.5pre1: transaction filter dates being reset * bugfix: #1094215 Button "ok" & "close" unvailable when changin "payement" * bugfix: #1096364 scheduled txn internal xfer dst_account not saved 2012-11-17 Maxime Doyen Made 4.5 pre1 release. 2012-09-01 Maxime Doyen Made 4.5 rc release. 2011-02-24 Maxime Doyen Made 4.4 release. * change: xhb data file format (v0.6) * change: upgraded to gtk 2.20 / glib 2.24 * change: auto assign is done when payee or category is empty (both were necessary) * change: rewritten the management of internal transfer * change: rewritten the old overdrawn report to a new more powerful balance report * change: date range information above the listview in all report window * change: #695790 compile problem with gtk 2.23 with deprecated flags * change: #690024 remove deprecated gdk stuffs from gtkchart.c * change: #685434 the date entry field doesn't follow date format settings * change: #617936 +/- are not used during "internal transfer" * change: #602443 cancel button different way around on Add and Edit dialogs * change: #584344 inconsistent translation - account type "Institut" / "Bank" | german * change: #561618 some toolbar buttons should be togglebuttons * change: #229904 wrong multiple plural in translation * wish : #682656 automatic assignment even if payee and the category are filled * wish : #657273 set focus to "save" when asking before quit * wish : #617243 km/l fuel consumption instead of l/100km * wish : #595540 'car cost' should be 'vehicle cost' * wish : #576878 filter dialog too high for netbook screen * wish : #569022 overdrawn report to use end of day balance * wish : #555186 all accounts display on Overdrawn report * wish : #446330 add a check box for a category to be part of the budget report * bugfix: after a save, the account list was not refreshed * bugfix: #722397 Remaining time in Automatic addition not translated * bugfix: #704111 Budget csv exports incorrect, so import crashes * bugfix: #694015 ui-assist-start.c has missing localization strings * bugfix: #692488 renaming categories doesn't always work * bugfix: #678121 windows styling reverted to "Classic" in windows 7 * bugfix: #677351 internal Transfer's target account referenced when it no longer should * bugfix: #674102 filling the tag of an inherited transaction change the transaction original tag * bugfix: #662427 account window and balance adjusted in wrong direction when removing transaction * bugfix: #632496 payee and category deletion was possible in despite it was used in assign rules * bugfix: #620048 wrong calculations in trend time report * bugfix: #617926 wrong +/- description in manual * bugfix: #615099 when importing OFX, memo field not properly added to description * bugfix: #609046 doesnt show error on save w7 folder permissions problem * bugfix: #609041 hb-categories-es.csv is not in spanish lang * bugfix: #606613 4.3 only runs minimized for me, 4.1 works fine, I'm on Windows 7 * bugfix: #593082 if lastopened file was deleted error dialog * bugfix: #577000 Problem with synchronization in internal transfers * bugfix: #540581 changing to internal transfer create a duplicate in target account * bugfix: #159066 Car cost 100km consumption detail maybe false * remove: the amiga computer version file import feature 2011-01-17 Maxime Doyen Made 4.4 rc release. 2010-06-18 Maxime Doyen Made 4.3 release. * new : welcome dialog at first run and available later from the help menu * new : a new wallet assistant to initialize categories and the first account * new : preset categories files for some languages loaded when creating a new wallet * new : account column in upcoming listview and report detail listview * new : utf-8 validation for csv import of payee, category, budget * new : utf-8 validation before loading .xhb file * change: ofx/qfx import set credit card payment for credit card account * change: xhb data file format (v0.5) * change: remember last folder location during import assistant * wish : #427710 Total into the automated transactions list * bugfix: #378992 windows: libofx not always convert string to utf-8 causes partial load on file reopen * bugfix: #528923 slackware64+kde4: crashes on start / load saved files * bugfix: #528993 opening other wallet with account window open causes a crash * bugfix: #527260 trend time report for category don't sum subcategories * bugfix: #530290 budget problem with category and subcategories * bugfix: #492755 transfer validation validate both source + destination * bugfix: #512046 links broken and file permissions changed * bugfix: #545643 def_pref.c - missing translation string 'Enable' * bugfix: #562503 string not translated in operation window * bugfix: #579260 QIF Export Internal transfer shows wrong account * bugfix: #580714 case sensitivity in QIF File * bugfix: #586322 x-scale legend month/year in statistics report bar 2010-05-20 Maxime Doyen Made 4.3 rc release. 2010-02-15 Maxime Doyen Made 4.2.1 release. * bugfix: transaction remove was buggy * bugfix: detail list for trend time report account was not working 2010-02-10 Maxime Doyen Made 4.2 release. * new : trend time report with line chart for Account, Category and Payee * new : chart zoom in/out for x-axis in bar/line * new : OFX import of memo field with user preference * change: transaction and archive dialogs widget was relayouted * change: default archive is set to month, instead of day * change: the storage for user data into appropriate config dir * change: account selection widget was not sorted * change: the icon format to window 7 (size > 48) * bugfix: the deletion of all transaction of an account was very slow * bugfix: minor toggle display was sometimes not working * bugfix: #516560 Last tag can't be removed * bugfix: #502621 Transactions sometimes lost when added prior to minimun account date * bugfix: #502491 Please consider using XDG /home/user/.config * bugfix: #493160 Multiple transaction type: internal transfer - cant set account * bugfix: #492872 Account transaction page minimum width too wide for netbook. (1024x600) * bugfix: #492127 qif amount import problem * bugfix: #491861 csv export category * bugfix: #489969 date should be bounded to 1900+ * bugfix: #421228 amount display problem * bugfix: #399170 Carcost calculation is wrong when adding multiple car transactions per day * bugfix: #379760 problems with csv imported transaction with payment=5 * bugfix: #326844 Re-edition of internal transfer is blocked but possible * bugfix: #319202 improve OFX import using memo field * bugfix: #288874 Graph time "line" chart by category 2010-01-24 Maxime Doyen Made 4.2 rc release. 2009-10-31 Maxime Doyen Made 4.1 release. * new : automatic assignment of payee/categories in import and accountwindow * new : new payment: debit card, standing order, electronic payment, deposit, FI fee * new : account type: bank, cash, asset, credit card, liability * new : payees/categories can now be moved * new : archive can be inserted as remind * new : stats result can be exported into a CSV file * new : filter on plain text for info, description, tags * new : preference for transaction list columns: reorder-able with drag&drop * new : preference amount colors presets * new : preference for treeview rules hint * new : preference for displaying splash at start * new : preference custom amount colors can be disabled * new : mainwindow saved sort column for transaction list * new : mainwindow saved adjustable repartition of account and upcoming in main window * new : mainwindow view menu with saved option for toolbar, statusbar and upcoming list * new : some icons into option combobox for filter dialog * change: xhb data file format (v0.4) * change: import was simplified * change: moved the recent file menu to the toolbar * change: moved the total accounts balance at bottom in account list * change: amount colors are now more visible when a listview line is selected * change: upgraded to gtk 2.14 / glib 2.17 * change: native gtk 2.14 function are now used to open local and web location * change: reworked the icon management to follow gtk+ standard * change: complete new iconset in png format (no more blur svg) * change: (beta) added a dialog result for auto-assigments * bugfix: #444015 If an account is not included in the budget, Budget report's Details panel should not show it either * bugfix: #434877 import file filter is case-sensitive * bugfix: #433396 sort list of archives and "fill with archive" alphabetically * bugfix: #424046 QIF wrong import of amount with not 2 digits after decimal point * bugfix: #406880 tag sort has no effect * bugfix: #406879 date format display in account window * bugfix: #401947 QIF C and N field seem not to be treated at import/export * bugfix: #400483 Zero balance displayed wrong * bugfix: #399170 Carcost calculation is wrong when adding multiple car transactions per day) * bugfix: #399038 Payee column on Automated Transactions list is blank * bugfix: #398585 HomeBank crashes if Add Transaction is selected from the Main ... * bugfix: #396964 The automatic cheque numbering is no more working * bugfix: #395254 Colours not as selected * bugfix: #380642 Budget report shows an inverted Decay (screenshot Attached) * bugfix: #329897 transaction list sort by payee doesn't work * bugfix: using the clear button on filter was not refreshing data's * bugfix: dropping a non-homebank file was causing to close the current file * bugfix: imperial measurement units display in carcost 2009-08-28 Maxime Doyen Made 4.1 rc release. 2009-06-10 Maxime Doyen Made 4.0.4 release. * new : add some new euro currency preferences (2009 to 2013) * bugfix: #371381 import QIF file with date format dd-mm-yy (instead of dd/mm/yy)... * bugfix: #371404 budget - doesn't save data when 'same each month' selected * bugfix: #372204 payment images for transfer have disappeared in 4.0.3 * bugfix: #379372 problem in multiple monitors view * bugfix: #370922 homebank 4.0.3 : make error * bugfix: #361242 sort by state not possible * bugfix: #361246 filter by "reminder" not possible * bugfix: #380550 import problem with QIF from National Bank - NZ * bugfix: #385164 budget categories with different month value display nothing 2009-05-01 Maxime Doyen Made 4.0.3 release. * bugfix: #364480 windows: 4.0.2 some French translation missing * bugfix: #349067 dsp_wallet.c - missing translation string * bugfix: #349033 4.0.2 German translation error causing half translated homebank * bugfix: #339871 [OpenBSD] Regress tests failed * bugfix: #338109 no other cost in car report * bugfix: #332671 no decimals importing csv files * bugfix: #328034 missing added categories in budget * bugfix: #318733 "inherit" doesn't use actual date * bugfix: #314248 can't import non UTF-8 QIF/CSV files * bugfix: #313609 can't select account to import from OFX file * bugfix: #306742 move the filter widgets out of the toolbar * bugfix: #292316 header in transaction list window could have better look * bugfix: #290440 budget should be calculated for all subcategories * bugfix: #207203 two untranslatable strings * bugfix: #147410 display statistics and budget reports by top-level category 2009-01-31 Maxime Doyen Made 4.0.2 release. * change: 306967 "Save as..." menu option unavailable to unmodified files * change: 306750 do not show scrollbars when not needed * change: 306741 do not ellipsize toolbar button labels * change: 203663 sate format entry could display tooltip about the format * change: 203653 toolbar style "Icons beside text" isn't displayed. * change: 117857 french text on the main menu icon are too long... * bugfix: #321237 category dialog box and accents * bugfix: #315071 fixed minimum version of glib to 2.12 and gtk to 2.10 * bugfix: #314817 manage categories dialog does not show all categories recorded * bugfix: #314049 missing added categories in statistics report * bugfix: #307803 Import from Quicken creates duplicate transactions on Internal transfers * bugfix: #305974 using "&" in description field leads to misinterpretation inOverdrawn report * bugfix: #305692 closed account should not be displayed to main list window * bugfix: #305674 suffix and prefix in display format 2008-12-04 Maxime Doyen Made 4.0.1 release. * bugfix: #303886 after a multiple change of categories in account window, stats and budget report crash * bugfix: #294755 windows saving of file is not working with non ascii folder name * bugfix: #303738 after removing payees or categories, statistics and buget reports crash * bugfix: #303666 removing an internal transfer transaction was causing a crash * bugfix: #304484 does not build on either GCC 3.4x or amd64 on FreeBSD * change: xhb data file format (v0.3) 2008-11-22 Maxime Doyen Made 4.0 release. * new : QIF import/export feature * new : tag can be assigned to transaction and used as a new report axis * new : statistic report is now possible distinctly for Category and Subcategory * new : date saised can now be day, day/month or month/day, or complete date * new : direct creation of Payee from the transaction dialog * new : direct creation of Category from the transaction dialog * new : autocompletion for account selection widget * new : autocompletion for payee selection widget * new : autocompletion for category selection widget * new : autocompletion for description/memo widget (transaction dialog) * new : drag'n'drop of homebank file is now possible on the main window * new : preference to choose or not to load the last opened file at start * new : preference export path * change: removed the account window csv import function, global import menu must be used instead * change: inherits transaction also inherit date and permit multiple add at once * change: internal datamodel + refactoring of source code * change: account/payee/category dialog changes applies directly * change: xhb data file format (v0.2) * change: forced dialog windows to center on their parent window * change: reworked and clarified the import process * change: listview title columns are now centered * change: subcategories are displayed in italics * change: full category name is now displayed in listview * change: rewritten the charts using cairographics * bugfix: #187952 spinbutton in manage account dialog do not persist seize sometimes * bugfix: #201704 closing the main window was possible in despite there was changes made in an account window * bugfix: #188236 monetary display - the grouping char was causing bad display for some countries * bugfix: #210497 import csv - lines containing UTF-8 characters were ignored * bugfix: #244365 in account window future transaction were badly also summed for today total * bugfix: #256703 windows crash on saving when no owner set into wallet properties * bugfix: #226122 crash when exporting payee * bugfix: #260973 filter by amount doesn't work * bugfix: #238571 balances sometimes wrong in account operation window * bugfix: #152556 balance for new ofx created account using import feature was not computed * bugfix: #238571 account window bank balances was false when modifying transaction amount * bugfix: #239939 crash was occurred when loading file with orphans transactions (deleted account) * bugfix: #240247 editing a transaction to transfer, the invert transaction was not created * bugfix: #244621 transfer inverted transaction was not validated if the source was * bugfix: #263024 removed obsolete GtkType and GtkSignalFunc * * bugfix: #207203 untranslatable string "Bank Account" and "%/%d under %s" * bugfix: #244365 future transaction were faulty added to today's balance also * bugfix: #244622 zero balance are sometimes displayed in red color * bugfix: #253390 fixed the build break when linked with --as needed * bugfix: #267473 lastopened file feature was no more working * bugfix: transfer transaction was possible with same source and target account * bugfix: preference display format empty value where ignored * bugfix: statistic sort by amount income/balance was wrong 2008-09-14 Maxime Doyen Made 4.0 rc release. 2008-08-18 Maxime Doyen Made 4.0 alpha2 release. 2008-06-29 Maxime Doyen Made 4.0 alpha1 release. 2008-04-01 Maxime Doyen Made 3.8 release. * bugfix: removed the -Werror compile option * bugfix: transaction window in add mode was having button add and close action inverted * bugfix: ofx file with a blank line were not recognized 2008-03-22 Maxime Doyen Made 3.7 release. * change: removed transaction register amount inherits from the category sign automatically * bugfix: archive changes were not considered for save changes * bugfix: strings change (British units to Imperial units) * bugfix: remind transaction were not displayed after save * bugfix: transaction window close button was faulty add a transaction * bugfix: string in account window status bar was not localized * bugfix: making an archive with empty name from a transaction was possible * bugfix: statistics rate columns were sometimes displaying 'nan' as rate 2007-12-14 Maxime Doyen Made 3.6 release. * new : transaction register amount inherits from the category sign automatically * change: transaction register dialog buttons to follow gnome/gtk+ hig * change: charts now uses theme color (no more forced white background) * bugfix: prototypes declaration check (for 64bits machines especially) * bugfix: statistic 'by amount' widget doesn't work at first * bugfix: internal transfer changes were not propagated to opposite transaction * bugfix: filter force option to include added/changed transactions is now off by default * bugfix: reordering the accounts was causing a mix-up in target account for internal transfer * bugfix: specific month budget report display problem (decay with the previous month) * bugfix: detail list was not refreshed after a filter or deselection of a result item 2007-08-22 Maxime Doyen Made 3.5 release. * change: GPL headers update of each source files * bugfix: FreeBSD crash when 'lastopenedfiles' configuration file does not exists * bugfix: MacOS amount display problem due to uninitialized preferences 2007-08-16 Maxime Doyen Made 3.4 release. * new : local on disk program help documentation * new : a menu to close the account window * change: new GPL icon set based on gnome 2.18 icons * change: new splash screen * change: native en_US strings translation changed as requested by some users * change: statistics does no more include internal transfer transaction by default * bugfix: csv import/export for category, payee, budget and account was crashing 2007-06-28 Maxime Doyen Made 3.4 unstable release. * new : windows position/size are now saved * change: converted amounts colors to Tango palette colors * bugfix: .desktop file menu Categories was wrong (GNOME instead of GTK) * bugfix: charts amount display was not affected by the user preferences * bugfix: account window for a same account could be opened several times * bugfix: when adding transfer transaction from the account window, 'account' widget was faulty set to previous 'to account' widget value * bugfix: internal transfer transaction changes/deletes affect child transfer * bugfix: amount display was incorrect when the grouping_char was empty * change: transaction window 'fill from' widget is hidden when modifying 2007-05-24 Maxime Doyen Made 3.3 release. * new : preference format sample preview for date and amounts * new : transaction list columns visibility can be configured in preferences * new : transaction list 'Amount' column * new : preference folder chooser button and dialog (for path) * new : preference clear button that reset all preferences to default * new : backup of files: saved to .old * new : mainwindow menu tooltips are now displayed in the statusbar * new : standard args are supported now (--version and a filename to load) * new : menu list of recent files (GTK native one) * new : menu to revert file to the last saved * new : gnome complete menu integration * new : mime integration of .xhb files * new : launchpad.net integration * change: main window is now maximized at start * change: account window is now horizontally re-sizable * change: transaction list columns can now be resized * change: new icon for the toolbar 'view as list' button * bugfix: minor currency settings was not loaded * bugfix: compilation without OFX support was ignored * bugfix: transaction add cheque number prefill for pad2 was not working * bugfix: inherit transaction with empty info or description was severely cashing * bugfix: date format set in preferences was ignored * bugfix: import ofx with multiple accounts was adding all the transactions to the 1st wallet account * bugfix: date widget string input was always revert to calendar date 2007-02-23 Maxime Doyen Made 3.3 unstable release. * new : list summary of upcoming automated transactions to the main window * new : import path in the preferences * new : OFX format is now supported via an import wizard * change: gtkdatentry: up/down keys change days, with shift for months, with ctrl for years * change: list of account is now display as a tree with total * change: moved the total balance in the account list * change: minor currency checkbox moved to a menu with a shortcut * change: number format is fully configurable in the settings * change: get rid the use of strfmon func, amount number format is now HomeBank internal * bugfix: overdrawn balance was false in partial view (when not displaying all date) * bugfix: budget category name with entities (& < > ...) was displayed wrong in budget list * bugfix: toolbar style was wrong in report windows * bugfix: fixed a possible segfault caused by automated insert on new, open, or at close time * bugfix: transaction list was badly sorted on income/expense * bugfix: cheque auto increments was not working on transaction inheritance 2006-11-27 Maxime Doyen Made 3.2.1 release. * new : title in chart tooltip * new : preferences statistic rate column display * change: new category and budget icons * change: chart month displayed full name * bugfix: inherit a cheque transaction was crashing * bugfix: overdrawn balance column was shifted 1 line down * bugfix: charts tooltip was a little buggy * bugfix: charts were sometimes all black colored * bugfix: statistics credit charts value displayed were wrong (bad column) 2006-09-26 Maxime Doyen Made 3.2 release. * new : sum of multi selected transaction in account window statusbar (missing from amiga version) * new : statistics report dual barchart display for income/expense (missing from amiga version) * new : budget report dual barchart display for spend/budget (missing from amiga version) * new : filter invert button for selection of category, payee and account list (missing from amiga version) * new : icon to indicate automated archive in the archive list * new : csv transaction import wizard with user control of duplicate filter * new : statistics report toggle rate toolbutton * new : splash window 2006-07-12 Maxime Doyen Made 3.2 alpha2 release. * bugfix: transaction lost problem, due to xml entities not escaped. Data using "'>&< in name were well saved the 1st time but the glib xmlparser was crashing and not warn about it at reload, so if saved again, the data were lost :-/ * bugfix: description & info transaction field were impossible to blank * bugfix: empty field were badly saved with '(null)' instead of '' * bugfix: a change in the wallet dialog was not enabling to save 2006-06-21 Maxime Doyen Made 3.2 alpha1 release. homebank-5.3.2/missing0000755000175000017500000001452011023413026011617 00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. # Copyright (C) 1996, 1997, 2001, 2002 Free Software Foundation, Inc. # Franc,ois Pinard , 1996. # 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, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.in; then configure_ac=configure.ac else configure_ac=configure.in fi case "$1" in -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file yacc create \`y.tab.[ch]', if possible, from existing .[ch]" ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing - GNU libit 0.0" ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; aclocal*) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`acinclude.m4' or \`$configure_ac'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`$configure_ac'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`acconfig.h' or \`$configure_ac'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' $configure_ac` test -z "$files" && files="config.h" touch_files= for f in $files; do case "$f" in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`$configure_ac'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; bison|yacc) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if [ $# -ne 1 ]; then eval LASTARG="\${$#}" case "$LASTARG" in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.h fi ;; esac fi if [ ! -f y.tab.h ]; then echo >y.tab.h fi if [ ! -f y.tab.c ]; then echo 'main() { return 0; }' >y.tab.c fi ;; lex|flex) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if [ $# -ne 1 ]; then eval LASTARG="\${$#}" case "$LASTARG" in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if [ ! -f lex.yy.c ]; then echo 'main() { return 0; }' >lex.yy.c fi ;; makeinfo) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` if test -z "$file"; then file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` fi touch $file ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and you do not seem to have it handy on your system. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequirements for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 homebank-5.3.2/config.h.in0000664000175000017500000000700413620035155012254 00000000000000/* config.h.in. Generated from configure.ac by autoheader. */ /* always defined to indicate that i18n is enabled */ #undef ENABLE_NLS /* gettext domain */ #undef GETTEXT_PACKAGE /* Define to 1 if you have the `bind_textdomain_codeset' function. */ #undef HAVE_BIND_TEXTDOMAIN_CODESET /* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework. */ #undef HAVE_CFLOCALECOPYCURRENT /* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework. */ #undef HAVE_CFPREFERENCESCOPYAPPVALUE /* Define to 1 if you have the `dcgettext' function. */ #undef HAVE_DCGETTEXT /* Define to 1 if you have the `floor' function. */ #undef HAVE_FLOOR /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define if your file defines LC_MESSAGES. */ #undef HAVE_LC_MESSAGES /* Define to 1 if you have the header file. */ #undef HAVE_LIBINTL_H /* Define to 1 if you have the `m' library (-lm). */ #undef HAVE_LIBM /* Define to 1 if you have the `localeconv' function. */ #undef HAVE_LOCALECONV /* Define to 1 if you have the header file. */ #undef HAVE_LOCALE_H /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `memset' function. */ #undef HAVE_MEMSET /* Define to 1 if you have the `modf' function. */ #undef HAVE_MODF /* Define to 1 if you have the `pow' function. */ #undef HAVE_POW /* Define to 1 if you have the `setlocale' function. */ #undef HAVE_SETLOCALE /* Define to 1 if you have the `sqrt' function. */ #undef HAVE_SQRT /* Define to 1 if stdbool.h conforms to C99. */ #undef HAVE_STDBOOL_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the `strcasecmp' function. */ #undef HAVE_STRCASECMP /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the `strtoul' function. */ #undef HAVE_STRTOUL /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if the system has the type `_Bool'. */ #undef HAVE__BOOL /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define to 1 if your declares `struct tm'. */ #undef TM_IN_SYS_TIME /* Version number of package */ #undef VERSION /* Define to empty if `const' does not conform to ANSI C. */ #undef const /* Define to empty if the keyword `volatile' does not work. Warning: valid code using `volatile' can become incorrect without. Disable with care. */ #undef volatile homebank-5.3.2/install-sh0000755000175000017500000001440611023413026012227 00000000000000#!/bin/sh # # install - install a program, script, or datafile # # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # 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, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. It can only install one file at a time, a restriction # shared with many OS's install programs. # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" # put in absolute paths if you don't have them in your path; or use env. vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" transformbasename="" transform_arg="" instcmd="$mvprog" chmodcmd="$chmodprog 0755" chowncmd="" chgrpcmd="" stripcmd="" rmcmd="$rmprog -f" mvcmd="$mvprog" src="" dst="" dir_arg="" while [ x"$1" != x ]; do case $1 in -c) instcmd="$cpprog" shift continue;; -d) dir_arg=true shift continue;; -m) chmodcmd="$chmodprog $2" shift shift continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; -s) stripcmd="$stripprog" shift continue;; -t=*) transformarg=`echo $1 | sed 's/-t=//'` shift continue;; -b=*) transformbasename=`echo $1 | sed 's/-b=//'` shift continue;; *) if [ x"$src" = x ] then src=$1 else # this colon is to work around a 386BSD /bin/sh bug : dst=$1 fi shift continue;; esac done if [ x"$src" = x ] then echo "install: no input file specified" exit 1 else true fi if [ x"$dir_arg" != x ]; then dst=$src src="" if [ -d $dst ]; then instcmd=: chmodcmd="" else instcmd=mkdir fi else # Waiting for this to be detected by the "$instcmd $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if [ -f $src -o -d $src ] then true else echo "install: $src does not exist" exit 1 fi if [ x"$dst" = x ] then echo "install: no destination specified" exit 1 else true fi # If destination is a directory, append the input filename; if your system # does not like double slashes in filenames, you may need to add some logic if [ -d $dst ] then dst="$dst"/`basename $src` else true fi fi ## this sed command emulates the dirname command dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` # Make sure that the destination directory exists. # this part is taken from Noah Friedman's mkinstalldirs script # Skip lots of stat calls in the usual case. if [ ! -d "$dstdir" ]; then defaultIFS=' ' IFS="${IFS-${defaultIFS}}" oIFS="${IFS}" # Some sh's can't handle IFS=/ for some reason. IFS='%' set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` IFS="${oIFS}" pathcomp='' while [ $# -ne 0 ] ; do pathcomp="${pathcomp}${1}" shift if [ ! -d "${pathcomp}" ] ; then $mkdirprog "${pathcomp}" else true fi pathcomp="${pathcomp}/" done fi if [ x"$dir_arg" != x ] then $doit $instcmd $dst && if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi else # If we're going to rename the final executable, determine the name now. if [ x"$transformarg" = x ] then dstfile=`basename $dst` else dstfile=`basename $dst $transformbasename | sed $transformarg`$transformbasename fi # don't allow the sed command to completely eliminate the filename if [ x"$dstfile" = x ] then dstfile=`basename $dst` else true fi # Make a temp file name in the proper directory. dsttmp=$dstdir/#inst.$$# # Move or copy the file name to the temp name $doit $instcmd $src $dsttmp && trap "rm -f ${dsttmp}" 0 && # and set any options; do chmod last to preserve setuid bits # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $instcmd $src $dsttmp" command. if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && # Now rename the file to the real destination. $doit $rmcmd -f $dstdir/$dstfile && $doit $mvcmd $dsttmp $dstdir/$dstfile fi && exit 0 homebank-5.3.2/compile0000755000175000017500000001624512367655477011642 00000000000000#! /bin/sh # Wrapper for compilers which do not understand '-c -o'. scriptversion=2012-10-14.11; # UTC # Copyright (C) 1999-2013 Free Software Foundation, Inc. # Written by Tom Tromey . # # 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. # This file is maintained in Automake, please report # bugs to or send patches to # . nl=' ' # We need space, tab and new line, in precisely that order. Quoting is # there to prevent tools from complaining about whitespace usage. IFS=" "" $nl" file_conv= # func_file_conv build_file lazy # Convert a $build file to $host form and store it in $file # Currently only supports Windows hosts. If the determined conversion # type is listed in (the comma separated) LAZY, no conversion will # take place. func_file_conv () { file=$1 case $file in / | /[!/]*) # absolute file, and not a UNC file if test -z "$file_conv"; then # lazily determine how to convert abs files case `uname -s` in MINGW*) file_conv=mingw ;; CYGWIN*) file_conv=cygwin ;; *) file_conv=wine ;; esac fi case $file_conv/,$2, in *,$file_conv,*) ;; mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; cygwin/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) file=`winepath -w "$file" || echo "$file"` ;; esac ;; esac } # func_cl_dashL linkdir # Make cl look for libraries in LINKDIR func_cl_dashL () { func_file_conv "$1" if test -z "$lib_path"; then lib_path=$file else lib_path="$lib_path;$file" fi linker_opts="$linker_opts -LIBPATH:$file" } # func_cl_dashl library # Do a library search-path lookup for cl func_cl_dashl () { lib=$1 found=no save_IFS=$IFS IFS=';' for dir in $lib_path $LIB do IFS=$save_IFS if $shared && test -f "$dir/$lib.dll.lib"; then found=yes lib=$dir/$lib.dll.lib break fi if test -f "$dir/$lib.lib"; then found=yes lib=$dir/$lib.lib break fi if test -f "$dir/lib$lib.a"; then found=yes lib=$dir/lib$lib.a break fi done IFS=$save_IFS if test "$found" != yes; then lib=$lib.lib fi } # func_cl_wrapper cl arg... # Adjust compile command to suit cl func_cl_wrapper () { # Assume a capable shell lib_path= shared=: linker_opts= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. eat=1 case $2 in *.o | *.[oO][bB][jJ]) func_file_conv "$2" set x "$@" -Fo"$file" shift ;; *) func_file_conv "$2" set x "$@" -Fe"$file" shift ;; esac ;; -I) eat=1 func_file_conv "$2" mingw set x "$@" -I"$file" shift ;; -I*) func_file_conv "${1#-I}" mingw set x "$@" -I"$file" shift ;; -l) eat=1 func_cl_dashl "$2" set x "$@" "$lib" shift ;; -l*) func_cl_dashl "${1#-l}" set x "$@" "$lib" shift ;; -L) eat=1 func_cl_dashL "$2" ;; -L*) func_cl_dashL "${1#-L}" ;; -static) shared=false ;; -Wl,*) arg=${1#-Wl,} save_ifs="$IFS"; IFS=',' for flag in $arg; do IFS="$save_ifs" linker_opts="$linker_opts $flag" done IFS="$save_ifs" ;; -Xlinker) eat=1 linker_opts="$linker_opts $2" ;; -*) set x "$@" "$1" shift ;; *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) func_file_conv "$1" set x "$@" -Tp"$file" shift ;; *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) func_file_conv "$1" mingw set x "$@" "$file" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -n "$linker_opts"; then linker_opts="-link$linker_opts" fi exec "$@" $linker_opts exit 1 } eat= case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] Wrapper for compilers which do not understand '-c -o'. Remove '-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the right script to run: please start by reading the file 'INSTALL'. Report bugs to . EOF exit $? ;; -v | --v*) echo "compile $scriptversion" exit $? ;; cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac ofile= cfile= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. # So we strip '-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) ofile=$2 ;; *) set x "$@" -o "$2" shift ;; esac ;; *.c) cfile=$1 set x "$@" "$1" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -z "$ofile" || test -z "$cfile"; then # If no '-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no # '.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi # Name of file we expect compiler to create. cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` # Create the lock directory. # Note: use '[/\\:.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d while true; do if mkdir "$lockdir" >/dev/null 2>&1; then break fi sleep 1 done # FIXME: race condition here if user kills between mkdir and trap. trap "rmdir '$lockdir'; exit 1" 1 2 15 # Run the compile. "$@" ret=$? if test -f "$cofile"; then test "$cofile" = "$ofile" || mv "$cofile" "$ofile" elif test -f "${cofile}bj"; then test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" fi rmdir "$lockdir" exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: homebank-5.3.2/aclocal.m40000664000175000017500000023503713606633327012113 00000000000000# generated automatically by aclocal 1.16.1 -*- Autoconf -*- # Copyright (C) 1996-2018 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) 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 # Increment this whenever this file is changed. #serial 1 # 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]) 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], ...) # 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]) ]) dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- dnl serial 11 (pkg-config-0.29.1) 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.1]) 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 # Copyright (C) 2002-2018 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.16' 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.16.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.16.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-2018 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-2018 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-2018 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-2018 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. # TODO: see whether this extra hack can be removed once we start # requiring Autoconf 2.70 or later. AS_CASE([$CONFIG_FILES], [*\'*], [eval set x "$CONFIG_FILES"], [*], [set x $CONFIG_FILES]) shift # Used to flag and report bootstrapping failures. am_rc=0 for am_mf do # Strip MF so we end up with the name of the file. am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile which includes # dependency-tracking related rules and includes. # Grep'ing the whole file directly is not great: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ || continue am_dirpart=`AS_DIRNAME(["$am_mf"])` am_filepart=`AS_BASENAME(["$am_mf"])` AM_RUN_LOG([cd "$am_dirpart" \ && sed -e '/# am--include-marker/d' "$am_filepart" \ | $MAKE -f - am--depfiles]) || am_rc=$? done if test $am_rc -ne 0; then AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments for automatic dependency tracking. Try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking).]) fi AS_UNSET([am_dirpart]) AS_UNSET([am_filepart]) AS_UNSET([am_mf]) AS_UNSET([am_rc]) rm -f conftest-deps.mk } ])# _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. # This creates each '.Po' and '.Plo' makefile fragment that we'll 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" MAKE="${MAKE-make}"])]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996-2018 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-2018 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-2018 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-2018 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 whether make has an 'include' directive that can support all # the idioms we need for our automatic dependency tracking code. AC_DEFUN([AM_MAKE_INCLUDE], [AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) cat > confinc.mk << 'END' am__doit: @echo this is the am__doit target >confinc.out .PHONY: am__doit END am__include="#" am__quote= # BSD make does it like this. echo '.include "confinc.mk" # ignored' > confmf.BSD # Other make implementations (GNU, Solaris 10, AIX) do it like this. echo 'include confinc.mk # ignored' > confmf.GNU _am_result=no for s in GNU BSD; do AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) AS_CASE([$?:`cat confinc.out 2>/dev/null`], ['0:this is the am__doit target'], [AS_CASE([$s], [BSD], [am__include='.include' am__quote='"'], [am__include='include' am__quote=''])]) if test "$am__include" != "#"; then _am_result="yes ($s style)" break fi done rm -f confinc.* confmf.* AC_MSG_RESULT([${_am_result}]) AC_SUBST([am__include])]) AC_SUBST([am__quote])]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997-2018 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 ]) # -*- Autoconf -*- # Obsolete and "removed" macros, that must however still report explicit # error messages when used, to smooth transition. # # Copyright (C) 1996-2018 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. AC_DEFUN([AM_CONFIG_HEADER], [AC_DIAGNOSE([obsolete], ['$0': this macro is obsolete. You should use the 'AC][_CONFIG_HEADERS' macro instead.])dnl AC_CONFIG_HEADERS($@)]) AC_DEFUN([AM_PROG_CC_STDC], [AC_PROG_CC am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc AC_DIAGNOSE([obsolete], ['$0': this macro is obsolete. You should simply use the 'AC][_PROG_CC' macro instead. Also, your code should no longer depend upon 'am_cv_prog_cc_stdc', but upon 'ac_cv_prog_cc_stdc'.])]) AC_DEFUN([AM_C_PROTOTYPES], [AC_FATAL([automatic de-ANSI-fication support has been removed])]) AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001-2018 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-2018 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-2018 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-2018 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-2018 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-2018 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-2018 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-2018 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 homebank-5.3.2/depcomp0000755000175000017500000003710011023413026011574 00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2005-07-09.11 # Copyright (C) 1999, 2000, 2003, 2004, 2005 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, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, 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. # 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 outputing dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac 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" # 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 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. "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## 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). ## - 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 -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ## 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. tr ' ' ' ' < "$tmpdepfile" | ## 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. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -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 -eq 0; then : else 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 ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ tr ' ' ' ' >> $depfile echo >> $depfile # The second pass generates a dummy entry for each header file. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> $depfile else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; 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. stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` tmpdepfile="$stripped.u" if test "$libtool" = yes; then "$@" -Wc,-M else "$@" -M fi stat=$? if test -f "$tmpdepfile"; then : else stripped=`echo "$stripped" | sed 's,^.*/,,'` tmpdepfile="$stripped.u" fi if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi if test -f "$tmpdepfile"; then outname="$stripped.o" # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; icc) # Intel's C compiler understands `-MD -MF file'. However on # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c # ICC 7.0 will fill foo.d with something like # foo.o: sub/foo.c # foo.o: sub/foo.h # which is wrong. We want: # sub/foo.o: sub/foo.c # sub/foo.o: sub/foo.h # sub/foo.c: # sub/foo.h: # ICC 7.1 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using \ : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : else 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" ;; 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. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then # With Tru64 cc, shared objects can also be used to make a # static library. This mecanism is used in libtool 1.4 series to # handle both shared and static libraries in a single compilation. # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. # # With libtool 1.5 this exception was removed, and libtool now # generates 2 separate objects for the 2 libraries. These two # compilations output dependencies in 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.libs/$base.lo.d # libtool 1.4 tmpdepfile2=$dir$base.o.d # libtool 1.5 tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.o.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d tmpdepfile4=$dir$base.d "$@" -MD fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; #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 $1 != '--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:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" tr ' ' ' ' < "$tmpdepfile" | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. 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 $1 != '--mode=compile'; do shift done shift fi # X makedepend shift cleared=no for arg in "$@"; do case $cleared in no) set ""; shift cleared=yes ;; esac 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. -*|$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" cat < "$tmpdepfile" > "$depfile" sed '1,2d' "$tmpdepfile" | tr ' ' ' ' | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. 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 $1 != '--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, regardless of -o, # because we must use -o when running libtool. "$@" || exit $? IFS=" " for arg do case "$arg" in "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" echo " " >> "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; 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-end: "$" # End: homebank-5.3.2/mkinstalldirs0000644000175000017500000000132211023413026013017 00000000000000#! /bin/sh # mkinstalldirs --- make directory hierarchy # Author: Noah Friedman # Created: 1993-05-16 # Public domain # $Id: mkinstalldirs,v 1.13 1999/01/05 03:18:55 bje Exp $ errstatus=0 for file do set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` shift pathcomp= for d do pathcomp="$pathcomp$d" case "$pathcomp" in -* ) pathcomp=./$pathcomp ;; esac if test ! -d "$pathcomp"; then echo "mkdir $pathcomp" mkdir "$pathcomp" || lasterr=$? if test ! -d "$pathcomp"; then errstatus=$lasterr fi fi pathcomp="$pathcomp/" done done exit $errstatus # mkinstalldirs ends here homebank-5.3.2/mime/0000775000175000017500000000000013620077507011246 500000000000000homebank-5.3.2/mime/Makefile.am0000644000175000017500000000163611023413034013206 00000000000000 appdir = $(datadir)/application-registry app_DATA = homebank.applications mimedir = $(datadir)/mime-info mime_DATA = homebank.keys homebank.mime mimexmldir = $(datadir)/mime/packages mimexml_DATA = homebank.xml #mimeicondir = $(datadir)/icons/gnome/48x48/mimetypes #mimeicon_DATA = gnome-mime-application-x-homebank.png EXTRA_DIST = \ $(app_DATA) \ $(mime_DATA) \ $(mimexml_DATA) # $(mimeicon_DATA) ## Update mime only when system wide installation takes place install-data-local: install-mimexmlDATA if [ -f $(DESTDIR)$(datadir)/mime/packages/freedesktop.org.xml ] ; then \ if which update-mime-database>/dev/null 2>&1; then \ update-mime-database $(DESTDIR)$(datadir)/mime; \ fi \ fi uninstall-local: if [ -f $(DESTDIR)$(datadir)/mime/packages/freedesktop.org.xml ] ; then \ if which update-mime-database>/dev/null 2>&1; then \ update-mime-database $(DESTDIR)$(datadir)/mime; \ fi \ fi homebank-5.3.2/mime/Makefile.in0000664000175000017500000004153713606633327013247 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 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 = : subdir = mime ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs 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)$(appdir)" "$(DESTDIR)$(mimedir)" \ "$(DESTDIR)$(mimexmldir)" DATA = $(app_DATA) $(mime_DATA) $(mimexml_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEPS_CFLAGS = @DEPS_CFLAGS@ DEPS_LIBS = @DEPS_LIBS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ 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@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSOUP_CFLAGS = @LIBSOUP_CFLAGS@ LIBSOUP_LIBS = @LIBSOUP_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ 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@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ appdir = $(datadir)/application-registry app_DATA = homebank.applications mimedir = $(datadir)/mime-info mime_DATA = homebank.keys homebank.mime mimexmldir = $(datadir)/mime/packages mimexml_DATA = homebank.xml #mimeicondir = $(datadir)/icons/gnome/48x48/mimetypes #mimeicon_DATA = gnome-mime-application-x-homebank.png EXTRA_DIST = \ $(app_DATA) \ $(mime_DATA) \ $(mimexml_DATA) 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 mime/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign mime/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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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): install-appDATA: $(app_DATA) @$(NORMAL_INSTALL) @list='$(app_DATA)'; test -n "$(appdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(appdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(appdir)" || 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)$(appdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(appdir)" || exit $$?; \ done uninstall-appDATA: @$(NORMAL_UNINSTALL) @list='$(app_DATA)'; test -n "$(appdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(appdir)'; $(am__uninstall_files_from_dir) install-mimeDATA: $(mime_DATA) @$(NORMAL_INSTALL) @list='$(mime_DATA)'; test -n "$(mimedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(mimedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(mimedir)" || 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)$(mimedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(mimedir)" || exit $$?; \ done uninstall-mimeDATA: @$(NORMAL_UNINSTALL) @list='$(mime_DATA)'; test -n "$(mimedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(mimedir)'; $(am__uninstall_files_from_dir) install-mimexmlDATA: $(mimexml_DATA) @$(NORMAL_INSTALL) @list='$(mimexml_DATA)'; test -n "$(mimexmldir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(mimexmldir)'"; \ $(MKDIR_P) "$(DESTDIR)$(mimexmldir)" || 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)$(mimexmldir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(mimexmldir)" || exit $$?; \ done uninstall-mimexmlDATA: @$(NORMAL_UNINSTALL) @list='$(mimexml_DATA)'; test -n "$(mimexmldir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(mimexmldir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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)$(appdir)" "$(DESTDIR)$(mimedir)" "$(DESTDIR)$(mimexmldir)"; 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 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-appDATA install-data-local install-mimeDATA \ install-mimexmlDATA 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 pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-appDATA uninstall-local uninstall-mimeDATA \ uninstall-mimexmlDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-appDATA \ install-data install-data-am install-data-local install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-mimeDATA install-mimexmlDATA install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am \ uninstall-appDATA uninstall-local uninstall-mimeDATA \ uninstall-mimexmlDATA .PRECIOUS: Makefile # $(mimeicon_DATA) install-data-local: install-mimexmlDATA if [ -f $(DESTDIR)$(datadir)/mime/packages/freedesktop.org.xml ] ; then \ if which update-mime-database>/dev/null 2>&1; then \ update-mime-database $(DESTDIR)$(datadir)/mime; \ fi \ fi uninstall-local: if [ -f $(DESTDIR)$(datadir)/mime/packages/freedesktop.org.xml ] ; then \ if which update-mime-database>/dev/null 2>&1; then \ update-mime-database $(DESTDIR)$(datadir)/mime; \ fi \ fi # 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: homebank-5.3.2/mime/homebank.keys0000644000175000017500000000052511262177611013644 00000000000000application/x-homebank icon_filename=homebank/homebank.svg category=Office description=Free, easy, personal accounting for everyone ! short_list_application_ids_for_novice_user_level=homebank short_list_application_ids_for_intermediate_user_level=homebank short_list_application_ids_for_advanced_user_level=homebank open=homebank %f homebank-5.3.2/mime/homebank.applications0000644000175000017500000000027711262177641015366 00000000000000homebank command=homebank name=Free, easy, personal accounting for everyone ! can_open_multiple_files=false expects_uris=false requires_terminal=false mime_types=application/x-homebank homebank-5.3.2/mime/homebank.xml0000644000175000017500000000070011262200530013447 00000000000000 HomeBank File Fichier HomeBank homebank-5.3.2/mime/homebank.mime0000644000175000017500000000004111023413034013574 00000000000000application/x-homebank ext: hxb homebank-5.3.2/images/0000775000175000017500000000000013620077506011563 500000000000000homebank-5.3.2/images/Makefile.am0000644000175000017500000000021511247546461013537 00000000000000## Makefile.am for homebank/data/images imagedatadir = $(pkgdatadir)/images imagedata_DATA = \ splash.png EXTRA_DIST = $(imagedata_DATA) homebank-5.3.2/images/Makefile.in0000664000175000017500000003455013606633327013562 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 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 = : subdir = images ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs 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)$(imagedatadir)" DATA = $(imagedata_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEPS_CFLAGS = @DEPS_CFLAGS@ DEPS_LIBS = @DEPS_LIBS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ 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@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSOUP_CFLAGS = @LIBSOUP_CFLAGS@ LIBSOUP_LIBS = @LIBSOUP_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ 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@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ imagedatadir = $(pkgdatadir)/images imagedata_DATA = \ splash.png EXTRA_DIST = $(imagedata_DATA) 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 images/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign images/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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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): install-imagedataDATA: $(imagedata_DATA) @$(NORMAL_INSTALL) @list='$(imagedata_DATA)'; test -n "$(imagedatadir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(imagedatadir)'"; \ $(MKDIR_P) "$(DESTDIR)$(imagedatadir)" || 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)$(imagedatadir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(imagedatadir)" || exit $$?; \ done uninstall-imagedataDATA: @$(NORMAL_UNINSTALL) @list='$(imagedata_DATA)'; test -n "$(imagedatadir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(imagedatadir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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)$(imagedatadir)"; 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 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-imagedataDATA 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 pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-imagedataDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic 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-imagedataDATA 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 pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-imagedataDATA .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: homebank-5.3.2/images/splash.png0000644000175000017500000022304311023413026013467 00000000000000PNG  IHDR)O!sBIT|d pHYs oytEXtSoftwarewww.inkscape.org< IDATxkh)9N'S;=y؎86_N-$mQӳV;>ص>}p>})sRW9\}/:2<ڣ][> wqm)}k;߭e})s{Uʹ'c]u i%] 'lc2Oģ 鿐/'c]{s)-&GyboH!}%}k!}vQ/'13O!])|v/Z!ģp>>ص>_HߵQ_Ϳ.6J!}%}k!}WZ_LJP?~kq|R?صk=j_%'.¿|Tv_u=jOQҿڿz{v }ADknmH+M Bҿڿz{vq>E Z JhE_HkQ|R?صw@:̷O~`>avע?w_I! ͩD@zdč~!,J<=> DGXF]_H+}cE~*'|+h3Bf'Bop/V? `>5F}.‚sO.-v>',g>,6?"-)_έ_H1^_z/K"碆wC10\%\f5*mH+Oαۯ/]=w ZoAC%qf78G{/~k{dŏ"cw@˲ו1}<j-?v4*wI9<#r0*S@7>ص=BflA _s _X1=r ? ^|9q{G]vwm|䱿`~۵>76kHWԯvi\89E{o³N@h~O%th/rrό+ hg/sMA ~{!}k3/pdM[ل{曧7 Bd+C$a}ҫv;ݗ-/=:_Hg)~ģViUe FYzkF\PۧkN~"k;̵ܽ)ŜYpSP_^t:R73o./~X K ߳:ղ'^ic͢# h^=W]ܷWhRDˣ8o|0 ӵ fOCw<,;-nmfksn=i՞aʕOO\o a ˫^kF<җ]c?YT;R۹o*3ѽm힮].5|s'}} Y4=,zӰ"γ)fccRVy=Zz{ i! ~%bυ/ XY'g6Z8qH'PHZ_c>qNӨO%N:#H_t65x nyKCaU{۽};?/߹O׭~7\K\+zVuEv. hEy\N649KWQjzqicd+0V:y6r\0nУg(͢ Y=2%׽dq!Pn) V QV''X@6zYh7륧׆GWhCe w/ =$m}cߑ@چΦ?+;Q,U |O2ءz e~w:K#b0H}H!3v(U\y;UOzlo/={ey\-fԞh|/:f=ԫ(oLΆ#hiQ,Ož*g7DԆ{`x HC ~3mw0 P]So鍯2CnB7;x7Nveh3hvoQC~7= εq%Q9 Odr"ۀ&ŤJ(jQxU>fpݓ(Ut[$?j1<3-<#ߢW͟ $_DyT8JY[Dlٵk;VPozυ4܅kA*jC+:pnYw˟E͒ ̄gEUbrm+] j@3Ңo FLo^7]{̈́<+euz4ڊY9咜l;_$$f$)gdQB8*wmf#xTj>}G7CM/T?c}De2#68k3ʿ} E]a?w@bd."T|:.ق "8kqǕ׵ ᬣXP%ZX&@)7u'SSڤa%p$4ʯ)ɽAY?]oDE[y.Oivk8W!hE[wIEip7>/߈pN[J&uS߁LnxBeYiuЃayaU-HT<; +oT/T  0H7 !C1@wُ#'*VUq#]NC! ZR$<@[viUM:нܫϊ7nDY!y2ǧ o{k*?ڂ"}띈讹`vjJpP'A(W); +f m}w A{n(צQh!ymː\&W:֘a;Az^ O DVͨw5N~q8׽'xaGG\>pwG^: @p1'ۂ-GkiP~Tz:j^0w]t #h$ @s-bK[ 54=(lrk \ۇ&d|/n.R[~YmW|6r| -HƬ(%VWV7?D\8\6p|Vj0(AP RLhXT{b@urSd_k^ی֍}-hH8SK 6|x m7prUph2 (nR!N!!^n{Eٮm^ lp5X2NǶIOZB^a\Jj4VMe΢%h>FPD&?2s#_ٮ4>ڹjw%XOvZ^HJ#[:?ȹ+)bU%J\h&)I5u^}aЙeC V< $G*Bdtexpzm8q)UBrs:0&Q@}IDllRa%Ez7qFy8}T|\t-o諓~L 1uг#}>pY _GU/fƅw Ƙ]uB,Let&c{V(we?jؙ>Ԣ\>^+%`me@S6,/wI>kG/vkM? @ &vqS)]:9JoyM!w@%Kc7^GЃX;eF6R]7b ݸ[̌.w(=2JG`KS6?G fa*b|F5 :$IAJ.PAn[%Qҭ?+Qp]n]# \:V.`e55NVHvݦ|Vo |p ߠ={ #zd=uecФ&gv5׃$*"G H J悽46bss9=i%^8c/,92:)ޯ|T>y%a"[6.'ƶzآ(Lأf2d\tZDP7DB{kz wN 3jeHXȵޗS_7'{R gِur 뀤t+V/\)hUojޙE'+ZޱsWNbC=##_Zʗѐ8TaARϨ b;ڔ[|} =7ʎ?hU;\hfUQ;^0Ѯkh:G6ͮg]D,ds;O0'D哮S 9g4;(#agkN)ralEUrh]̗81z1_3Z"nzxέ!"19$/fl=~+YEq q("{'va6^ȶ(&Y;l Ρ_"F20D'u{3ʲ^to'͇ 2 Wn;׏Cwz+]PoBvzޕ~^Q>K F3g> 2M8bۋI a_Xjo vA<=]g=b=CbѮ Aҽn0|\Fqq}:#bk*K' EStFr =ݞ|se@5? Ko'Z Eq񄬀wCb7d㑎Eڋ?9 ktt4ҹґ a=29gpor'sTFeȚqEYb[/3"Z:9D(pPe'@ dN܏||NIg@/ˁ.#~ y2wz*7FOw%_'aaa2k d7c2K:J\`3{B^սɸuei}tɟ(${h/pABGrޤaIu$9+RHW,Xϒ.rG;.|:zgZQqt.{뱵L;yElgcԮg3ܛ h9ddžئ7A-d2htӺ!m4 ?<6qEVw!720.慡#Vӕ%HKVX=J*S 5D=홤geR޲yݯjg-0l&j \/PC;Tz؈'K>.,V#DGi}, (݀t5j9 vƉ+W?z{YpQ `ԈeF-2nRA o+/=SuDW \\C=Tl,a-e`SZR2Ѵo~.YB_ ?a)B!Ѯԩ}>EyLA ͳ%gio%7bht&iz396i )vU}6pB_#<ݝ+57`z PM|+:IDMm @."pin+ߘ.4>&-\;&cO'^),% 3@msLW| JMzw%G0J hmC52Җm+p/UHJ u[Z%/teYpEfG{Ϣޕ1x4oQY>֖*e~kᤗlGc jfM`ct݁FyS,m](&5`J Ia5vE,as-O IDAT,x4wU|ꏾC\._z)+EnB72WYf8o|uN0n[%_53Tm)2^nw7O\]=b|[eӅ6D/"tM|7 ~N]At0aS<5Sv"hWcE=q-^y|*hCA}އDu$^baHǀ5%h_M9|#སCyݭsguwG ![ϋWaʀ8 [& ke81 a'a !_oj!9> Ty'XydwRᏮKپ]+GRȰd6tPߡA$h{Ǡx%חP(CF&g'wY"6Ui{o.̟pX0D^R >+RpfnY:0JW,-ݨ|j:Rq!0e8Wgzkq 52Jρy/Oj +d0ƟzbMtJN tHɡb,:0 : ;U ׺#st@,偎9}5TD_#h!0 Gj,g(芣2, `TB`i%mN@Ztҟ܅J'&٘|cAT~c27i лpv`=HF,M9ʇڄ,UP!" >b7N0k.AY'\ʋE>dGِNc$&4J\/:$Fl=Nx2W?08'kNȋCqswE$M,Y!0W/wTwԩisˏ .2T.[*MF7x@Ȱ;eYM 9&IrhC%~$YIiw|,;T0.+2|Wq4 4g$xdͩ{!U_ mqiN9 gu+bv%vZ9^q {- !h4ګpttLbCo z)]b)Lyޚ$?'yp]U|2:ʔ-8UN%.~_K-A#"u Μ[e8`$9kk͍Z_;a@YE2 wo8^)r7'fчȽf FU U^NR*GN]֜ח0[\}rJ_nz(INI&HGI6tv]*7ׁUβ 1|2F~˼X?KF"hHH@M8..N?FcjfLcw3Rv.+JXPV ߇eTo`rW\" Gdx o\N%veRwQ'a%"4`n%t3WWdGteOֺ>ҧ͏7?^DDAzUs̑1~; 'ͺw/$,4iKJoQSP}A:2o]}Ri֕s贋6`hv4)ue765N;-2HD6͖p_lc\Dw ;ZMuA&团+F xG_T-Q??~˾j?^WB>RL}Y˶M%gez !;ifIJ|N'phCĈJ'ˇŔϊS&i:K}h:(Ԗ6.ҁ"$Q{͇OPA ev'N UꋣwI1h72ye}#y((o,^} : sHtQfz&T_u8L.PH:>Y;=XZ 5,Hv ] 73_ 5ޢF_I}[KXWgj\с\NzX٤CD#߆m巀eBelMg]R `Xhd]pY,T sc1BPGSW?RH׋?WvPرFIvNN|/7~D/\#:6 'y?\j؃#{?=L8`gh mh٤jM3F$|H1pSvu(]cT‰*< "טV";-^# ;*1I./ &Կ,GG}n;*!!dq cuy;%&:[ ]+;i2s B9\h 9Os|!wByҰvwi NP U<ٚDҙԦ." D =%B~8X- [[HP6(R_?'Ʃh헅]W%š)hn4dmlDX3m.mK)zn(ޒa7 _A!GF6ӡj8X1l7:]WفTѠ<~s\0 Y{Uft?]|@'Yg@̳قY_=7x@'}9ݑQ9F#T ' Uyxˤ5 i}*I ȾSHsqcMŚgt<\;~TU6HN&E80mk;O.*Ǫn??Б|i".}}qqxǖѮ5:i5'iRJfvA e%j0PvN%;uno] 현pJKFRbysmD/h0l8m{*lWy5Z`@bXٺw eA(\sԩT5- dZPBDܟey6e}Y7Fo2,YNlh9U9" Qwh:~'Gsd!L&-ZNJ%?F#1V9zyw긪k[gE矗CK,\<蓍RN aHG!  ՝8 >ή5 Qꏋ Z_`|eB5ZDh0~7A;'@|tQ-}daGrGǰ \$=>EOpr;%,)/zYm@Xu[ FQ,HED_u8r$vĎw t3]3}33]qR{vlYK5zs-k4,$Z@zI[@pѕA޿6Ƥ|P/ <)!s sg fI@.@nŬ UQiZC;Xo.B*XՋZNBVu"$4s0rwcYc1yf0EQ[KNFc(gp-5?AM9-Wwy0p#W|TVyENVNO訰 ї=b&L&|y )D'c]S K>5ʹ:{u  oj]d\(Fk|$A4E(u%oO:4`jRR(sܤblFme ,J" e|H_P,cSu \RA֕6q/*KeNpy8AD2ߛwn^ Sh  ^_|7rlg1;a3jt8cc%AY#~'4t j%\{} ]W]G{m}o¨σQTul}v Bt,ǖF_rp"^cI\в9jdW+K'k% +ys7U~xWwE[u]Ma`> ls48KCs, %D 9Lz}%Yf庛?nw( tsx)7?/^l e8Pl@{8|n!]܎E 5%@8jyf%(a[/cpЯsX)eqi> O7[e;BNBdёB³[N _@V*@ KA8[B:ˍ Ln%!4c]Z Aɢ21Կki|9:5ks5}Γ9@EPMIMBw |!(l{otw;#[6 5iΕ.{X*nAW9G,IVpp.&3!R~w((|i;ןnpiCJ4U9w.%7mHs\LK; Ȇ} \6]GڌeҶ|tf0v>k5}GPԾ@6Gs?S6y{w 5/w~@w#t/1Vq"(yWZu ;σBt{:ZPzOe)1JaWc#7X,:n(M{uR3taPq)Vm2+sE#Y Ft`T 02 !yVL<|ƛ5[O*2q:|ן0Doi#x~N3aM8?1U('Idr@6eօҋ{وHd IDATi'@cKQt TƔlkP@scK]0!uXEc*Gj3YOȓ81qΠ^op0_}N|a;K$|˒氲 F.q2H|+`Πt ej!ka`}~Vo+UʈJ8U̯nFm7[h@PqBg$(m \>H#tFb X뜰1BQGAs/ 'mg/zO1~P,c._o3/t,d py g񛩉rԫ;B:UW3A(eU\| gmG9k(ٶo+! xOA1Q]AC 7.lϣSPE~Pw 9#uUJwc2Uu'LʍfT,*aQg!ܭhyo s A` 7#m;LUB$y}x/FW'3/nOi}) iۿm4X`8A㟁TtxՐ\%44>svq8 KG]ꍜ,cCYb93gZuHi`q7(’rSne`1h1TFgUu WB fC;0Jlfk! fR@ ?͇P1'fI_jԏWOV^ r*+vB4jvm շjr3H՗ځ)B@ `#.ZT cY8K\TG'Uj +}8Ot>}xIi%OMN{MZ;0t]e!7eK9T%>M3<EǖF ^wΎ4tW`O$*8뀰p;(wT; [ EaMi p4R*X/55'g@ҖQxCy9J4b=ad16+]HtNBsym%Cؐ5-tSxP6!Z "ÑOp]fg  % @g:^'I_o#?g |Du;p^C0?Uux|NP itց ,qh%b ޅ$r٦@3xe@! lK}T^ZRV9uٛ/3#,5uuEO.os7[$8{ȷl+3gvL]d7q{ g2M]SQN@ {H+2lV2ThHm *To U 0HDP oYS(tk9>G:pwW R3Lm=lNtX>]УYS@W^s"] NZ#8d8"'d3g+y"[;yXḃP;E5QYg] ҆+8@z9"\;>(5ѣ.eaHl}>\ ,Ƴ #Q] ]CYVmu=u; < ~,=ȏlڂG & NQ0duzo0ӆa#N2Б* (t3eUde-U| HGmK׻9Gdd ʳa %A w7ckWdn)60_חWB̯$ka;y3H0SgU]|jU9%8ʅ4ԉ[T#jZ<@&ZJJ<G62Pvtި mh{c 05 aC~3CSu%]T5Te%jϠPŦjP7 =-WPY##ayv, W#v s -_8J~Ȇ)%) DX"ʔCqڒ2 Gݛk*Kh4m^ 3ڎIZ:Q@hzR$rxbppܑ푎̇4Ov.ZPpjT|ydF RP6~YA}DJ^[^*lV;2CR AptRAp?dc න" Ivcmbqի0(mk: ѧV :igPEkp G=[5h6 Ꝉ?Ĺno l@x#_z2 :1&Cֈ]45v˗E:%28Oh9HDEl_-2vV%:kk 'A^ym;( =:6RLםv-Xuop4孎ie3e]xI\ݴhmLUbqa2Wbn}]&U9eM\, {gHfd]}}wI*lχUiY9ya{}.NplޅQJЧ(Gm 7X=2l T|@Yyb()j}!!h|e"#U9\{ŭ]Z·j+oR:?MEU. Huh0qZgalݔ)]DUЧq 'DFu6ו&@nm>^"tgQHHo$t<;ӊ,_|+umNDE=2,m-CY-3KWjW'=P^Y:/W988i>ћ ȣ\+?i!Z:Q/%?a1WSg0enǨ ςERua܇3{ =0ua:.6KcY1Yr&4|? W >;H`r9o{ԵYW#PS' ʞ~暽6(bO*s9%G@}Njc|!8U aE_ib/E9r9 {mf!z]dD"5b)[?~6"0rW H5MwwlAuО Hy-MFOR2#p$. WcZ"%.@a;_]>9KFaYv'eɛSkte [9;9./hY6P ]U~FE priNVvT(6Rʆm`<\R#H8 Ju-m麴T9dxQۋ;/kMV0fTk/#hYgP+}+"[Lmˀ&_X$:N &F @=D7|gj9mF(JYv-xt]O+,ϔ9cFH@NDbzW ee;y,CEL [zrQT MȂF!v6{]e 8,rdt> =~5?!Ow惣3.sj?6TMѲ v~ 0Rf.Ѯ-#k <. |V(t C ~TNV3 :T@Cyf} MaTX)!"ް07V}QlEqcױP$aI}Ņ.XeCʄd?3nua:|Q'eiz"P1W *_C#D^+`~;eNmvsd^15rpnq N:jSlL]j(̕ɻ8Xkj$WbuJ8׳[<>#w4_A  NBm ?k~WOpINt xބ*x#Y~>M؎lL蠟--2xWqmkeEA^:$i@ϸ"q {:^j1 Sit !O>d'WtߋʌjRa%'wQeav<@]MalUM4}Hށ ՜o"pSn;ؙL.RbfnLA u&Dvն5N ; 긠RE;R ,S^ꛢ>@gFy#WtD~ evie˫ς bYCEО'9=zL VC^2oP 9FSR񀲠`v^_P}UpIa:TܶG5Gdca\VotNTQW}8xrr+LfNfYL{ɨ#Ql:B??ʉͮ8cF%o~Kp3R*Tu#~+v tg]Uגlⓕ?Hl>ȇ>h2vMסv W*M Ϗ=a! Iu ^9 pF;']vJ/gJDKR˳A#W`#|dbjekN7]'Yf<Fv4(23)F}DINr3V P_;}Ei.o;]%eŶML@Hlj^/ɻ f " 1"P@N"juu}\|Qd/8 "sT"E`TF`"0rk]c|PЅZǡr_T&x!)'*CI/%s mD ;`nW= ,k 1(4ʧ`X5<r9r8PfyܩsΡwjYolK!  *t~(Gplތ|2U^ lȶ#0rZfC'|<-A8O:Ryn TLgBPUK9Wڪ{ʐ҉mTQ;".oӖc,"9hP,*e@ MSG֟)7fK]*ߊY{$cz%jG{iQ6 < Ɲ0O:8S8tL5R' .l(9zJ$ Q낑F'7!!GyEܴSտ-%P܃10^>_X0.*IE35y.6W9v껬_s<Qݖ:Q I?mדN$*.#}{ӎ"`t&7l~wY]MRrN1q{> AY O蒍Z]U(3f (Wol}x+:z/ٶmԏ+ xք1ա\[Bż}>q"Su*w!l,ЯYBjy@{w/zCɌsW;i@pT>&g`&ORP8(JQ VJxNZ48mhGͨ@ΝB`u։N':}V,D1AdWםHSn}ւlP]PLU Ht:HU^aUiNY ]X[+yVx@w]L> ]m+ˎ  7V@U/< &ZI|*yV+qOTݭsMUAmce҉xbtq5j,fKt|'TcSwi]hZ,hB 8*dg/q%~ՏLPE <ԷݎFy` .uXdkP}֥@@1(@ft"Sȡld1oW@=KNdg~DDyR; -]m*5oRb4}oƊ+,z#?+t&4l.Q9r`JMJ˂9,œR uH*=iL7h pSV#}D~.U?ΆYv[v*8 gؖlȭݯ/ ŲݣyHGYU!-ADm$RN*Ю TFus!q>kj 0_KGZlޚӝZ .Ul0B"-Zbx4yv,Z]亯{rwdr;\91ea%[!;(3((QQ)n( i~Y,tP+0nrƼ*KHF_Y*R@X1&!+, ;*NSmh2;9g #n+wғP&"ՉlЖ-u_f|C-aqd:>x{~md:sDW݊]ʈuʿ].CpYC)lx&O'm2f"0+}(];g??΀tI;zk;62u1mjX}.>-W%pcD֭h0ϲ#;,\dByȟ!b @~l͹i"4"pF~Ƥ݁iʡi]0vo/Y&oAY _<¸v0xdoG2YAy}NC𼗅 ʌ/,\םmLftq뼭#Gʀ9/-]wnxof{;QQLLWwrG|DsEn 򏆟g@yGEdWHoFx[H=Nd|ԡkD&5a*"wΓԆ|Aqˈl2eЎk^w:{ #3r\JXUp8kT&h헖> "_ğ.x Y/NE6Ot)ec8g`Ά@m~5>UDcUGr^a#@&L!\<RuvQ'(+iQDAM^u >,]h+tհ khybF^D[Ͼm'PVga@fYnpFDo$ Sxr7==&ihB:D-0Z# ٝF4yᩲCSS  ѷF+0F2\U}O>Z˟"uYU/605ԉQ%r,/ׅvBu.bv2=/ ޝ& {ƭ,&Y~?$F)98ɭDrO8d_To!env(qwU'7EXEzy-[fg@|rr"j b~LDΆ˱ cli61>2B#'9]e> AG2,"TQ %Ѻ'vI>yzh)XWz_sB(X|WvVqu($2@s=+G!0f6gzg^ MRp-@eXyK> p7ErA/@y7JvL!`i  \fEv5|1h=ɞ3`ٿ*dL,^6,(X&QԉmJ5?7&蟭eeZTubYJnHΪ@U .g`"4I](uM.Auĭ5ݲ"^UkPfg uE'|. dy4H!erIJo$ubY]%Y;؛=^9=ٽ6$ HL)lcxlYBξX٢}hTd6ʑ-K]F2U$^qۛ2'_%J.N!#o-kd *sMWZU凞ut&r-$I[i?-W9iNԆ9q0'8ՙ݈W] PZMm)yAWZH쐺Vl'̍yM"OEYxv%*b-3X| h5Eqv:\ ^#;@t&5O*xgP[v\I]C; 5Qe ʞA9hSl{U>YB_>tx1 3^>:,9s(/(݉r>/2_xRo$Gpby&NpPY£uebvn5l\]ܷ[P) IݹFpF'\k|N24ė.S< [;آީS: 7)2! Mk vq~d_<1\R>ؓn Q_q~ة%FTEAh>Gy~|2{Lm5T^ }r ~_cRyc< PO`_qDvҬSeӷmTCXuz&sSޛ@=WY_dQo7$K|2wŊVVT*(o}I`gzqOm?{mfDW` rhg'::~6;j7_/ARYߚ~?׋ 6\'{l%{{QGWjT uyq-@{^#vt'g҂̊dt~ PgrGy"Oݍ ;y{V0 >@{1j.\wғwnF΀H)2jDB8i;P:UwOݼjw%"EDM0dk"LNdE0aV@PEV+jsytGP3\mOթSs*@KRS ixҀkel4V''1>,c6iCAH1@ٟ> N^9z^uUcaSd *Mca']*m'1(Pt+$|]*3*% a@[YC\gVt^fRTA,y'Ev~K鏕XBee9 !-oS`d#eq>Xe/e._|FnV#2d)yzrQԮI>" #%IX uMY/0-'+˥ٻv.A=u/V: *!!KY8%:k )pN '$ +Jq1)i`%M>|{H!c-f/}*JE/kYgtnbWŢ.v:D\(oz1 \yxrMdŁ{Ða5>m'CC|mVG$dS=If ,}wO:cH;}ڇuع!l7}&;oYNR'Nl b/Yξ!p0*4DW(º䕔>&(Q~i> Ud8pcTt.rlZ|N˔a BtZ%( =;H׈T*Y<}K +CdLJjeajۂ4_o׵C-ʋ+clRX݃N/OAGuwbu~}(Yo)A/\4<)8*W by#u`J*I WGF^ J-6b2XuPNZJۃfOx=޴`&CH$?'BlBB70@'H T~!`U t]9 }w"ȦSh0V>\H(os$A>/_JJvk̠Nx@y%d X]n$#%ʰv64H[r(z{1&)}gD=#jX OA|× "#`ixbI\x| .瀔^8](D*Uu8RA@\\ᶐIYǁ_ ȁ;wA3" guWWGxłLL>֗4\@&Q !]r{IN:{v P |A#;|qh z*gq(G}T < )B XYz~d ~'([״T36N%$@ewrr,Sr*cW7ƩK 7/) UxG?cVĶz"vm:@boMn:K^7uR!YtG[ٝ0']7yRl>lM I6.}nDL!0KIVr @)Ʊ<0OJIgu5Vq$NF‰%͠2#_+о܃/qΩo_BMYƤah J5v⤔X}O{[R8 J`*$k(k/-owDU@08MNZe,B v!@0(ETɈ4h9bwwE,ܗ/ZShHy[ܛ^ʈ$o&vHBTK 񤒱,';-_/܇/*E(2:<@#?ˆ IDATjcf_5VMr)T AVL D\Ԫ$)\p Dx0+d VPh?=1i) ix~{]QUw6h^p!?0.%#׾T^]qYl Wnn8SI?È*KyMX (q?i.eW~uKiBf"XG}mn I Ц9DEyMnj>CWZ`:{] F&F: *+!N87LJ{!$+KG|@gM󧲂U@.N~ïJVN#˱o0MiAWs:Y~8# <~#et`#&] H \{?ׇateKW XJOHR&;;DG7 ᬢvbl(AjopۉIz%rcN t|zRݾhVbt o8 |So\ 4X2zo̽ȑ@:u/ǸZ!!9q1cƪ,m YΡ,9Scy2qVNSQ$%c ےE7@r="%RI*#9%鴻}lEO}87O'8*#x7hQIsTZ PVqIZh`OC<x+OE@^p`O9+Rz KA}i^BCҁδ% :]['ѷiN7mI0}rg @ỌqpX{P@/`WD+U0 ƪ/V愻r|/m @Ø!} ҀqbR7{~R&;Nq$ctų I)%FK-mujҞw><,[[V$r?EsE_w!a,Z(+:nE4.E iXUi"|]nȍg ״ 4)I`DuJBQ]AIcwtb a/r}xlr{4#c;~R)-B)4ӟ3EdӨާN=//\z$@ -^G2ӯzXVVQ'FU}`܏) XLJ ,*Bvc<#=Gi>2H?nEkn]/sս^&I^)mGQ 7> *:, @bA8.:ǁirBI2y%Gv8SJ N~vDȺqvel|>xxMg`hxD )(-q8>l5+sW(aC"@n=7̩$\']2?ĝΒp_]tYG҄\-*Ն!hC`t <9S,ax@6kh{{^q2R\"QTkj5zjj06v$E2CuQ,Y4#`c U ٴ|a0VR `!شNx˰$-o/RXHȦӀcH~N6u D>nȻ쏋Z2D' h=RN1It`N;_wAD i.yUYR N"dur a!B ,:2<G5_7Է_'Kxw?2@34Xbbtr~oh/2rУ4.UGʼT,Ҹ{ʯWbO#FbuφjMX#{t?M^:Nh\ӎRl< w|kJpA6q >MGڪWZl1 `~)6C<~^xZ((AWaWu|R>e;omo*j ]. ?odtKP2%t "`Y qt ueA ~'w TeAADDd)ߖYH=wW>.%v߃5wtB(E(>N$C{QG/~Wn p2S>[on,} ƪDፑ`C1G'IǔYwߣ?+NyZT |oP~/6mJ =gusyayg908Pۺk'd3O1\p5<:OUDQ ü {о6  U`Ӎ/RI!!1 t /7Re}wkaP`ˍKR{gFN.g d)@2h 1T7)Z(P;hEދhC!0s K2"3˰%X2H}pa!OҸ2ѹWhWU1I+_)< lBqXiAގIH @<1 ֿN ҋ!9C8M$"A?v§[˖.mo};eq-7qI4[lO40wUׯc ZƁ潸ڃh3Zm#B3r1! A2Z9hToQj7@hXhIsiX#wҗ5܃l^_t}>[w4 OvZwT6vMM{C 8-G&<W'/-*_MG"oȠ/%^{2Ԕ'+<]8 U-VIV=drLq2#@qh4}WMX,ML>M~߇5F^Gc )P T#`Y6G()B:3jQݎL ) ['"ev.y'kuu%#?uEbη6onf9R>{c4{Qk,t̩ǭcWRgRpWuX䞇w#{hfiڌX:Zf g#KZ~@@JiZz=-!l{4Z>Qn`AFG8c9  Z'%##d$s'$ss%GYN~i,]OLl6i/yu 4'sGWX@C{ZҪ&!A 5 ZTg71v> _25}p4?@p  FD%|3ue׵H2WSQthйKJ{ ݴd(S$XJ멇xp\;y=r9,C! Ҳ04Iq C3P1Z7߽~Z4-.>oMw>gj=D:HI&Zs̚ qꆕ^#o!84]!_(вB ie>HVO:7O :G.|LMwmX@q ˲Iyٌγ?׽,ƇՖKh7D-OOVvI K.T]7uV5@Zhж,iY^B8H^Kxҹ`z׼\׿ _C&vgsxk}ٽr hr |_P,K^Ʌ=n']v@Sy7a(ZE^Ͽz)I-ƣ,_DV\8z=V{;Ȇkt ); ȬP^ê_ҵOgƫ;ވY<ʒ. UnVv/nXiS[뎎2tfJS{8΀]-m˷t"VgMvJI b1$g`߽˿{#Gϗ[P,Sdwz7ܽkn}g]xyFnh\( y<ҲySO߻ݏ/Sh$yPw|v {ؾ{jL) S<>|4P\x39&{ L^;~}z~#xNm/?\FmSC*wX,FmU5V^mwhے_+^~ բϲfX`H_ʗ/=|GY `Y&#C%{mro~_.'y*9jdEF ]8˖HU;ܿ J ?"]O2DVU#~ Bmhmx#qYsX~ ; c/ԇ_hg螆x2\wv#J ndv=wy?}}Ox0Wjl2[c(4= ]羏V8G~`pc3KXxuv⢎M(:@ !=^r--'?c=E R9-l,} eYWi˲H[@}~>GэAKEyJ:ǜOAZs?@w^麞Az:)]Ά#er?Q E`z$O6]]ToαƟ .\}$T@v T;] (- YM$;3"wUϞc*~JG9I`a|BQF#.LEF&˒dzԚ_- Ƃ, jR7L\.B&kJeNMqŏou$ LIˢY``bӖBz[0L0h[#_ ܽl>Oe>rhk oOɖcAXJIV!#$B&aЖFl=f Ej7'|C/ ʴI9IKD52c)˲2:6G>1tMK_-[RD"cWjM B4-ZaاxIr1O6r@9m^=.dY*->0t ]i2X.L! سow'tʂpW}cQOSsNLKl2r&>h¢5s%9@Mqr+WK4݆ LLP ߬n/cbb#g,eC7Y-I2dÓ^7~=o/v/o/?/#~v *I`_qjKO_&(;#skW2:XdiIB([m=[9ԣ@nWg)2Z39SOy^frn܏쳟o{-iq)rg166CC#βwm{].+U/~\ ǟ IDATpO{ƳXr5ZݻvЃqM70:TG.{ߊq'voY>1vj+>Β ^ĹR}[r셗i:V^t.ӵټ,[v$']X BZlgSj{ݒXŞK{9䛔r;1О _sٗ˘}G4d <\]X19u݆IΛ^NP;k*E bvH["tִK*?2e'&5lfJc4f4/9eJ/O bx.>8>FdhFP_ͥsA8O~X=WլUyg*~W= ~t|k#Ɣȕ_}(/oە̶oRR6hڔJeͦV\sWz<+aqOK^\9~sR͛ZR,[l,c`h9r] >bt:*O4'ϯ~2ʌ쟬yN9HW!V-k~ŋ_?IGEO~ |9\.ǛvFFǙ*)KlHO:45[aŪ5\/z c7+ Ux["6.lG6}%cdn=0߼ t^x,h.d 1؆9驔N5Sys+n?;l&븟WJ{vnkur4 azzY9xh /d8=OE@UvCgQ0|hl,2Re_kY7+Sz饤2NXq;ÇHݼ5oְ}3ZV풮ת[5pAmx2V#ډ dlI#49U 녜gxz%#頵$_d1k`5 nz2s>G`xK@SnS6ia6 CGZ&digl60- Ne|i6j>IJ5p>/@}eZ It ";z.|7?Iw@I.a2jy}Vx Jw@.pbXtj҈W3O%Ve}qǯ]F>kn5sfp]v*]h4ɤXd9k Y{ŭ:F} {CW4i<=yO>\{u ޾׽lK}3*&=ʲt{n@P.啋2A²L^cwɖ-y_ԥфd9nQ4֭;]7+i177wr!KI)?9igso#U5w ~Κ'^4inRәn]qôHҴLj:Aղ 6M 95mYZ4YD6>B~rxv%tLmgT<nMQ/dN^t `aj4TYNlBL1޳6`(&K"*v-g G:uRE琈n b-/RLfeVH%-`EއwWt`wj3OX&N gx5#kѦ׵r5oc%&j ?Εdn~z离4mZۭ{v>Iѹ4L k^*2,LfIRazvm۶qm?r`1Җ ]gΕw9rMrXů+ٱ1Lr @ "}yU'QaCי\M*#l*{!e f'I7=,$PscbJ^7w%cIVR8v7HeoS<6JNp2e`Zpa4M*àn!M`Y)RvVS;+qOOkם}> H5ٸOb#w2:I~:IaR Cˎgl20rO^, 4~Vr(L^0uҁ! >5lUzei j}lFsePu=r)a)%m^sX7"£R 98K jlbC1g@z%|NeaP€^I5I-Gw XVq}8Hi4})y»t]oBm !3[+˒De/W޺~||#O:>9s'/㞻d|4^0 Ro}ۿ?1{gO|cԪ GHtg3F0i\p8}K.C|KB>u/[ ʻv>,:h [`.80w4>:2:X4Mݶ:3ٿ,dR%`MT-Kn7t ;A ѬX(vL>up-]cY}ܹ4%99¾GW24y:Υ8Z5d{'RV@k3HI6S"-#O'q_⫙, ) s,i3Վئ0HW2u؞ 錣\|:̄5=p6kpb#.}oI'+6YbMohtSx!4f80^ąwmje4IhF;p Z: 2{53s3 DAc\[oa},Yv'o[|exZg B?Y(䛵 ,Bo|3蕆;֘iL\yZ?-dz"VIeB&юӝ) I C"#VTQcdd {A+ ]N&f^NDR_C)&ڵNqѥdeփX o#:\YhGj<Xvl5v~=LJoFqpHeS)zRw]i:Wf1p*`Ja H)[?lMZb$kXF.Q"zY4mi=L\nqNJKi24Py 0 )CirM72k_?U,R΃K&UC:h&[b*7[ xdkSW3Xla67AmGnjй/_463NiKu ҹiKJ9 BNbOw4 V<ӗlPj=2-[E厏 |'u]&W!; ,&4pn8o!kX͍+?De ^O|Ci]tn*Nv-[πNT&EJLoܾŰwV_JI.d  E1M]g^FJkA"Cf*5IfőY.5k, ӲkܹK릾瞻?a}.5[mjtdH $P**ta VrHI2g9)b-F0!,VJD^hch_bQdsK) TUo؅PLff4 oEi9kY6w[fA6uعs svXI$sp`FK*ߝn ߂i} D1!4*eLV\HL9iXX:p O *J+E ^:/LHԢۧ/2X+P?p?.4 v܄1WmDҨ+ݩ*HZAزX{MJSg0-K9vڭW v+a4U ;z|bx sUMVSOgٲe/axdi6n|oY Ľ+9:_L:4=ah )N*r-}V݀_ɗɗЪ\ T,'V4iPe2=3C.l @h3sJGӒL20P,"{uudxxک,) jn4!4J)k݊rkHH&G[VG }rv!C\B>=̽{l05m{1# fvcNMWx%7Gz֯{M-UeJ IE%,Ԓ4s?C:z*[Lvq$;džJHkW3[aceY ;HYşKP p@َϝ;hoWvfUǒVX}YCg=wu'V *=ǥo~#O|ҹ6PgD~)X 4S3e)E ?p=wpPE΃uKKk]v$ Y70l%#S25=M.0!5}1q[+6FƠ^!\.9YXHj200ޝ粤TVk+ M0SĶLqexL8WcV~lu<ʉKѫ&< f93t#XCr~Kd|SQuhMmr4Q,A6g6 }yGTa1 ޱWfin>ܤ!B6kA+4* snW,*sH7 vI-wchKMi!ZpɁ>nڅR/$*sMLJ"{ݓ UQ,aɎffgcBhւ ﮽fs䋟Q(\U~}PJ'LّH;=[ei97] 6M /~~ QP.ruHs)%ƈ}\ig$[$|Fg/4xq#*e{ْz\2eKcZMC۫BTAZX`-B؃N}幫k_'ʵ.g1"GΩaN:p.dd-Z-\gsr8W0$ʯXsu0 eřǯVe3)0s򑴛곉lkoB9~S5G4N?XG@%p8&(]`D L,ZN奶w+#Lk_ >= t05[4Ճѡwv?GW[6^Lkd#b&-` ؖ}fs6eu8:??j6M&<3Ssٶ;Y k)l2>>dMB`"%%uqax Q'?YIMl\FV2fB:Ww5s|c xRJzie&-?@զިld2XE!ffflPv\o>5la]9;7 .;nd2T,d=TU]v FM4kǼx G=vz̟V(!|Y%-5 ,YIt#\uh9"IA3|'.g򥌏 ˴׫i #O,z9:KIݚ֍7(\oS`ձgĴ#0XT*J%N,֨sclٺ͏lf]HWA^evv(k5[ .e| ǝybKBg_S )ΓKt avB-(@11d}]iÑEvz9܂n+͔nfEx~vn&?8SkaF4 $*ySO![FǿsI*2 IDAT?A\1&h4NJ4vh)J)fwO!S*qˍpֹq nؘ,/tcaٗ[U =g,2$2Ұ4 Ґd~ӵ!υ*c3o0h0t^YoۀpֿXh+]""Ce=n]"hS%Ǭ_gˑk,[q(2gR03;Mbْ ] nš#ײtrv\ =Km`nr@b6ep/)6(Ue9uVZ"P"dm\*fh4T jrܳhF:Km=Y i!-ZK§0r?x\s:9sx;t]ct׾qW02ޭa| l9+-iI,dlgG8ѪR($h$0m{]E>5ÿ(ꯔ'kMd .nfLf *9ڍH 3Fѳ%;BÒx@* pdsyi#177K\j;vsȑhdIf ŮߖU4k%ӟ娉:tZg䔃(|WaņHQN0.WTL0Aa4I [.q8Y c\g'sg_&c *%) Gy/PE-+|{o`u&;."|C=! PQ"KÔ3@زlq#ozч?&'1 six0]}CPyi/<g+2O"ŧd{%ZIJkwէ%Pձl˲H$i)&%f&~2ȉBdL-DFW;6R(J"6No~7^8LrwE/&r@6 N=1ڄitc{a&<?Jv4 s_O utJ4%6A""&L6Wic:vH#W;--MtP馬4"rwwHe\jPv?/b$\z1: z>3+HT@A 8pهP|I3yg3`Y8Rq;UjyH\aחGuJ:zak7'Aw^.TS$,\O~u18TX2 >Y R0}Uy1?i|^4@AbY|c/\/bi}@_fGv#OXk`&"{f׶LF6#D[ɕ,sd]P]U̝?{ּa ?R㑔#EtixyT:/XvBiHyXyxToE?]>(3a+&<ڥU>e\q ~q6~ @>t,dL#e3NЯv~7{1>Zrt uܳ(qru7n:7Og*Jj&}~~P0"[JcD&ͷ|YC? qʶ%C1^S2@[}0vb;>Hq cwSV?_G㜥2.Uzzt i 8!Waq|)X}"3%쿎HLTY@GmzN(j^(~l i !108IJ)Ea$R V{b~=Q###Sps] 5auӝR+xz_B4L3:Ǥ6JqJ{TCflƆaAJ񓠄ܹ@q>ŕI. L-hB FZݔNeٜ[p+kq_lYa[M}M9gϚu+`fM~)-{f͚M̳? MS5"%eTTT0a3f΢:^9 7~9xxؿ/PUY4% ӧ7pE+( G@JOo{??w9E0 Ÿ‹?#ֳ"TJYY[AXJIiiUޞU(nr LYW_p{|Kػk;'{/H~-*g[y/BJl0EP$(Bbck8;R4"u/VDOuRr2Cwr+_^z =d~{Е睅F(ڷ󝅡Tlo/;<]HJB88lfx0v).,%3mVmƏ2R?ճ,=mfOQSFKmLuf\fH/ɯAVmNgw0g~V"P=8]'7+ bÞ(;ioEވxo2hGI?oaMyI !tU䟕GNmσ7&.6}MEGe3D@(e |D(.=+*{4hzh44 @ *}~O2,mɦ2aB Oph*Gi3d3{zS|LƢ {52mL)1-I['gc H.n}4ǾM]lJ{#C3T0/1uFh#@3E:lY.ƐZ$ӣr䚥AȞT9og=e!t܁zJ ]1dfyNG %|]$El!Q[EHq6ι׀8J_9ۦ1~60CAkX&;M[z_$BuRҶ&>݇e0iNN̈́K"HiBuQcpm3d 16C@|&  1mM>9 dSZH:Цe%Zz<7a!͈xp[ XTyN` ќOg3ndM9PlPlNfs?XZPk4"uf8 {E;AS5UL|MN @MFܠcpI2_@fj@EIV<'H$ε}TVVaY]]TVV9`xiNi"}i!QwЫ.$^!mF&H) cHJ@Qp@^ QRfi'(*. Fb:]I&MȖ{1KH#m cc"]d4d~Kg*0hvyiGQ]iw!)u{)RLZ*2"PJN (@Zg2h秵05ezpS8͇ LLVaۮz;קBWڊ"}}-6 J``ʪ*bݔWTL40M0ߩMu@ q,->nZŵI -o%WVHi; ("JF㘱F݋ "MP\5iGAƐ1FRHi ֱBӞMuyyI S|c$bW1ǒ#:JpOKv|vyM4T\Sf_~ Koo7OEw&=\sd1;}v IʣҝMҜ21M]i| B8QJ2 )\KmT-BZƉϚ;8_EKb)K3>? 8y >(z b>Z[ EBI͓9j$b1.8B/)hi$Y˴F0DhJ_oMOŨPt^{;R써PMh'E˜4 ~K h5%3*Hh8Oretʚr<1qҠ)c`$b=> # 8 2g7] <18l9zò3 js{v4 Q<1 H7>` #ȤL ֬C݄2ΫK!$ |=QcJS(裺xDC rp0EK^ )lo ?o|GeضuM⢚.;@Z)DG ǏBνnPO<ȏ)ˠj%6-<1wHX~4PT|(2$*z-W78 HCwsյ0S&c&Ae^{߅iZHtl@/@{.n;F~>tJŦaY  $ *6 .BDDz$}(H6(e0JeD:@w ,+Rq1F+Yjl7~T >7m>Y&5*D _A>4y 0<Ɛ#is:gQ=wϾ*z8b 4׍3f ޴IU̞:.z2~3(X%GYӫhɴ|)S@v$'öm,r$bDHNMAĎ\sLKU 9rD(+--§ERyvf~v$N(Eh p|a!.EX^Ah hsڶHv|c+a'"/SLq2?:G9I~'Z#{9O5/2-L!;Tv$c!PIn)H x,XcHh$>G"HEGƉbԩ, Գ޶NhG I+/L=OJoXz ~H3(4޲xGc( D˩77m*[GO\ yٌ| ȮCOY.|#WPf ZPptPrUSFXo~gBR䗕 {@X-3R{Uڶ=ySm#9G IDATYKVބBEط72]Giyŕ!0M2{yö-ie`{VBdJ5x6 wh LT @,l4R^s)z-G_`bF`SHl.>H0\E<#IR>b>Ŀ 3YTl wNLx$N?N8öz^Ć$B"n"-%34@q6QQ#bh<{γNlqAP AΌ-zޱʊsmIzG(ٗ Ǚ1y4UeϑVfLLJo80Rp?<5Qsy3yʳ@>ef;inUo=Bsɒ\,wyV.crɧ~0ol>;hW7k/CȯcY6?yvjCUΝ?\tWJcs%=EdoZ1'yq{u;X0՗e X=Ole֣D&..[@YI':ilbRnf1 f9t5LXGn<Gɓ/\Gwu"^x0`W? ˲]/73;.OmHS7.`#JE4L_ \[i"!?} c ^]Z5/ƛ."<d,Z]|Wr]ϣ*i}1{| Spђ.Xۂ %^?q\z,Jqlw`Zd> d=PחrIdrPs` ZŘÛVg* ix+}CU"h  #`ÃݘfS̭M m<.h?waЬeGMJ,MLR"-Ԣ9=e;,2GiTME8?!y5 t`xz"݆he+L(vlr0kb;n /*DQ@ X_PsMć,?6Bfxcq%ضd9SɝR?eGňL`F6l; @g|~#W?;Cg^' i0L>y,;usAJdӶW?%sXa~}~Isw uInڽt a[6[;{UU( <ǣB8@Lf\1?;yY"qcE.;a< %}[Yp {30@_cu3Y>}{uq}~vnEJɎM:љZ4uI Kl{i*JByi1PqM(e |:S&Vh;t–CMLhS7##XN.ڻ8[_]P Й6M(>~Mm,_ϞC|{9c=Ǜ{=uOd}~ },[8~>_p]Llw_;MlxAӲ??y7d^C Uean`#w=)%'zپla֔,UK]uwe&zy񕃌(&aX|珰C5i_{Azz+;71~^9o~!5F~<&O5o8:挱tFDzUgB`R.Fطyvy(dt1,z/#bwּcvs!N M'x'wzL7RS(y t5,ۇ庍LݤSa'iĴl,3a 8TfrTc_q?TU u uoL+:U9+Z5RȁmFӽL2t6 4:A4HD-E:a*>7QTHi JA0G Wc-ù@S4hw䃂{c6Mmi˺lq9l>GZ[Y0k5J=غ7?>u !%|gwrtێp+~W]<&͇o\N87-ͼOX\,_0"ּOclUl<19s'qۭmǷuI9W>x-7ߟ_bۮQ}q@P_޼PYQWQߺH9s&>¿^Mw97 xgw^D8:ߺlTMyit>5TŽ-3=( ܂q@ /l9[/ϗߟ{7O Y_u- <$ӣP:Seobi#MXh ]2/gr$ _̜<Ιq/n>9y}97]|7sx5K2ͫL.c79m~!SZdI| {xKS*Kw> >`P璥3v_H݄2ް+Οc祿$%6⫇8Ň߾X`]-MKIձob̛QË[(׏χ~!+ϛ-C_Oe$_@(J[C\kW:LJ>޽:JI$XXNc᤯d*Tl,pN*Pkx=ScS^=EMķo]eGД>thAei%Bm椱}ƇZ5r&H 1%[V1#4F|42s(r5ނq(2rs" Gj=~"TUEQTodb)mԯ7woGhP ;LG->KN8BEAlhPBMrߢ0$сTT,}"G ]! }FvxkE[x7jT@` 3L3s8g2ރelww}/tC1_2\rJ&'A?M/U&UAW0BW?Z>Y| yӊ9_[hM3mr1Y񭴶s䤣?MѨi:o:S74xtn]y5v[Wroajmejr4r涾 5l}O|! MgPХgUO"z=:{;5A&'9S2ou*$$g5.i Ji=*[IQ?ё\^)lȲSؼ̞6>w6OhjcRJ1Ź#=Ϛ2 46u1MpW{`(|~u w-EUUO:wB@pdu5RJ>KXqQֿz(/,gL}Ss9s%uy~;k<7;88L!M@-` grv*؊PUBQUTi#mFc~:^8m&zp9ق8waW@m+H B)FMEQˈ ut5{=>oBUUT)( PP-PD8 NgS86-L´lic&G0n{ig-BUXHˬM@9*q#yF"`_+f=ԕ>Mց&Vma l)Jq|,ϔA 0"WT;$'&.D.MN&s4I9D'\k "3$͝k$r|)ę1gǻ@6H $Y{cҊy[ \c!ɗ$BWTF#gogջホ>_~m`I܋gOsxj;?qEz^*g=OtyWf?'5: Tq[1{Z*UzG3)To\Ϊ g<8CT8ԃi94G|KC!#?>2R%}tdɌ?-=Y0k" q*rTtx.㊒ѸAG Ua:{Q^hJ,y-l6"'>7sM0w_ďx[r;>pvʊC9J´5M8߱t+H8ϯ/]aV=&xf~gW]8SӅ׵W_|6O[GGy2bgtQ;Yl4*9eyK9  LRW*[EU$RQQU%ZHLN/>߱ʉW߀Zvl䩟+"Ъj%ZB"O˱wkNagk"# E%up(nSaKule۩m;=i̎ߒز ЃaX v)=_aWaeH*}B.&6+Ȫ ۥ|m;G{iRo.{8 4MȅݜN+M$.p ֜hR9H 6tpC0ϽWf6H'瞬%eH  5TE1ywcj]%'V\qlʊ,?gm_y7]4(}C%t q/q3XGEXۏqxiqd=|F(B`ieys'#|:;?> MUyfUGcs7/m?Fcs7?H3k*n/nƲ%{w_ckp2!qg򳿾O| MmFKm[JJbOmKYq݇c شw]83HM]lv@rtܸ<=Ww`قzΞ]CyI< 2[/gxg3;ݒ8gNo9ċ[10vV.4UUx}T Q?.;{'1gv0q| /Oqٳ'W6mI~u:.\4x !%sw2H' 5r©wt@q.?2Jl!U9NKg&Սj TLՇmv!edkW"UA&сzwŐUOjPU(! ](R8j`hHEAt`!Q\P$¥{mh,%u^('^sS\y1vV(3KU1x,% E3͑=xk5{Ctp:#)z{E/!4Ĩa{׍~9=4Цx{Gޠٷwmoe(TfA4ǹ)3d/6SX9{:!sgE!^oy>[J3N&/5[܆jv"tM%3ټ(C1ϛmUE*~{ϋ/kJyRK|׏3sL]'yaA;,] *y yg#+L#Бkfϑnz"B~k:*5W~˴R[{a?a?|O0mR%]Ô{48Czq>zTxe TGaRX"7t"w@yIWbߑvΙSGRz Ei+G|?^s?z9szk&f|K0L 8E?,1PJs{͟m\x"񱛖siH)46w埯%;ڞzΪJ#A޾l~v'0x@앀~јݴx ˖޷+Π9•5ȃk=͗0k8,>8J7-b0{xbEpՊy\Z+Ksy\{KV6;11!*Js}){y9΅;0rO*,ɛ8;?/O{|6r( >I5 hld`8ot'tM]@H0]@H^WAP0t[x)v1kh?EQ>*Bŵ(/Xϛfn:هLq|/! EՑU %WuAYEQU'NPUHi%q$g[hخАr4v9݉:eVg*h¶ڑVv|maG߀ŎOnwHڪ.&T磨*Bl[˴ 6e%6*9kV|#YP}S9?Άsi]nXSsnڂ9$suq)~OϡL ΡdЏG ð% "ET'}Q_Qð% qV1* $ʈ H2uۿ}}-,9_߻oʠM|vM_aX3}1|yVdȲ%Cz[g[Jڻ9ap8N8 _o00'c0SLӦ(FI$dƱm;${Q̲BDC|7Ll& )h߸GWe/m(3 p>ۖE{MPg`0)=}m3k7_ϏVspp8NȯGHoѨcE }!- 4k]4GecebX&e94eaAyre3+kbM"'p.;t -9aYH뚊 8{Tf4BU-詴PC-#ehpjef%Eq5%˫ti!#=Ҿ`NښJ ^4UGtTݱxV5Eymeb$XD H`&bTOx.\1d{&zlA!E96uj:U>?/ sH/=Rdh"q;:ўx]Wu5e x 7@&;OÛG4f_=Ng&1KE˒ ' 9Bt/Eya#f瓏p4W-\s N A_n<0䞱*"(((jXĚܧkCÚM5&]hvӃ! znJ?Q]F.%nXH&)*Bt(, %-%﫨X A&;`KwX;q+ Bؐ<ݬx)4: &kM˨”΍LoE()|4=Èc$1z0h圈/C*49_UsjhUsSQUTEA*!m jtWBdZEt͘VA 4rf{c#@.v4,_|>G"vט%1K#HӓI 4]CSY>R?3't^}PaOr%OUhnJ1thFB4XGngNC5fL̈c1,.dQI?BI Bi9Ұ8°mib޹8\xoKL;'!)MrU:ibgו] {$SI~0$; %pjXh\VR`)7^C.ZEZaD%CfF=YBw˜^L(JTq)Z{L#av4XFLPj٠Q\"5[J1o֭p(^uCtϏAt_ Χ/#{xnO{ʈ ߙNhɝG|1#XF͜PF)mҼeK8]8 `sGH V#o>I6E[(m4B_ e4vS4(y{kl,W mٖsr0,tǶZ$[a-6NظGk,!T‫ EE B\K|>J-i`jz2 Ҳ/dnHי60/WxꡤzUhsip <{F:$mbĢئញN`1ZQ&t)qLOTVgNO]]#kE}|B.دFQ9gyq'n gT*>4}0zJxnwۘ@t,4y$&37Gc?,yyv$S5z#C0Fu#ſ[ ZT3/Xh΄t61BFJ^)YJ,+(qOWQꙔ)Nc>)޵-Q/>ftCa$M[W8hDžjeboj"\PѨlK˄i_S]ސLal/BD@V/ K@_8>l{:SΫvmj~0ztf<,b_0}0~O}7OکB7+,;e(# O׳SeAQM+:E:c"=aTWyK"BJ_x/ JLJ&d+~o+/)NMD˘˨$W܂n1z/v_F7oY*ިMFLAű,0oJeFAa&EI hY!M؍Y=ćYHvG) *Dq8Xd}c>/hKBb{v iBWʂ?TDbJWNuj\/qz>~Jf(@fV!ӐBSCCICKm5ޔ&.+_ 57;K@Z/׾2֮׾=g+ڧuw=Qvºj5Gp]2}QMXu]"+TהW{4*Ud e=_%i0&nS վ|A(ܩ?KN-\bȳY_ͨwjq%8}/ڇ"lg2"UI,LG )1^ ,R [*eXG-Di\Oܱ`,` z/^;&ʓ|hSN*ŇKLQlyp+`,aU"ޭU(w)|*)Jʕ3YRɄʕu9_h7,c§[~dꗌZ #u~#UX0:]K\DZ/Y}`$ qTb "]7޹ap(Kñ' 3"0 xL;ġ~ I*qDcN9dባ'\'ӐPE^+w%TW^Jb,! 8\eqUI;µ0k(FOMPﻮKDF-"F2]z{FzT@dc#> |ڿrGڍ[16t%Q)@jbձdF qʶڌ~d~ɲo,\ w*wm7K|~5廴Y׫Tb$ڿJR9 yLm"}//i[5b9la򁦏XHuJwWZ̹&ÍF#IaI64RҖ`̈́) .}Aȧ|#7kwQD竫eCQ;jq)SNOl_nWSF޸= v-|:nZU%11+]ӲW*%z>Eݚ?&0zvlNޤUm(K33.D[O&Z 772% ѦTe`|O5*׸ONSJgdm@^ /xL}ֶM(ؿjf-)3czuA1vuK<ۆ|:ͱyĩ%}1YquҚ=?f>FX\5l6i< FMY# u/U~q)W]$`9|W5+>DNgˍ|q{G}D%G"537h>7)ck/-bV_[;KAf6+;VKy*΅[K_{wbeOT۷C&Rv>ZVX?)7VGg%8v.} T-5D&b>V,u`7pqA_?=^@;7oM10b XAAf6*9"ʜW m/R'.HQ% Ic'+OVtS|X6wA5*x'qY"92l|b"@&\"ĄQb6؈DpV<ɰ[}VvYw^.ݿPڿCہK߮|0 u"S;qrѯu|@{Z&=fT͒Swڲ5Etaڑ p%R'88&6,SL+)y(/pe:zl=XsE+"6.BL<%1f,B7mv?iSJqO1Pl.J[_ 3A$[6;x k}_%-A$nD<#xA{=st<)GGLKB-F!.)yN+Nw8>cS~PalWVVas k~*yfƢ/J2-* _cF ;5P0˦)_D=" Iwx[w_j|p[dQIJ8*]Vۂh~15Dy0֍ZK". *MlEN6fwRv͎`Z1<% " Nrm}\UӃ Ɗ:;?d2cJ88j_=o|O0={e;V1H9vBdZ28 bi%UH=OE6%&zhkn14C9P~e~ᑨǐDay>X;caVM6I\Ásˊ@Wv\P7ak s&y&.֊,/=܎Z\4]]U+)v۫x# ߘELrnK/>GBe?WǪi*D/RWc?~گڿ8Y:@ӗt5߹jwa*29$VwQಌv,=ΏbyP=\ٴo/\FBˆc0eKYIeUTD')u\DTP~EM@T~0MUqͶ!o0 Wغ^;T/W\jݛ=fP:d,=keMoYT1򬞼I4FU^ $P\g1R"HL'XYqJGr޻HRƽ!]w#A(bĵ#Cak,7kYli [ڙ^AlrDspQfWpFz9ej I꩸8p&1?&fc0M sm{l)0jGD. U۳)Fӿ/3=7<^MO섗߶)>;ETe!yʎ8k^yNطܲ}6zl)k-8xRw׳žA83%0 D=kt# P)rrrUlvڴq*sGuJp{*)d2f-UK@o*'SwD( ApGgTɚ- D9*[bf+rVۼ#v?Qʓ$·vŊ !LBdsu4aj${wN9/V&B9ujXx88Fr{>̫󝙐{c3&ob5^ħX*ի[8 ocڕUuFͦ(OLEy}Z^ԴR`^7~z*^da 4:,4-ٹ] >ܺV%?4}) 5#$!+Fw5LZQO 3`Q)O+0;m>0}Y]vm|ǔkKAn*W^gk`O.wKO C}KIN$e-c" $I |)~!WcLj/=/a@ͮa7\Gfxm#kj"f4&.כTt-;;>(N!Jx+~\5XHlX%lSnŲ)nOmNbU*8[~%r=t:ٛ+5*$JxEcԞ130~STwd' fbpʹ_/.Sl#]50;>vr 7T M?x& 4klryfLw3d\R)"'eZM}4IDATZ|_>׷/ +n+ p^0\%ϻ'E-!XT2_(@V*^W`eu\t5pKaozخ.E?b)nLk% 9GÃjc97W٠;۶x<n=U-oGr\%)oVAŸA?ֱW9}x*޷V]Iv*^ ۂzRKcvZp#Dն+SX:,obʘWZ0BkP U*K.ִz*ښzh%oa1ub ۫Fok*s>sրgcO919ct7k7CO~&AQkղRbijE[C~˲>4®}D}GJ(*ݶ`[q83;'a4WgyH-5VvDLXn爁fU2?8Z=`Ǒh &b#y2Ō ݫkboAGz<*o¹Vw*X nq(}xK=bgIAnvLZ0dV́<ӫ.8F,;Kx.LK+cV?L7T̮n|Pq*I>)q} ./O~~cùps_ĕ5 ޓlykp Q<',O)| O\Y~e6&Ǣ&qڴ)ZO޳]=$чud!AiaLwUOaH#gs8n.1E`/EQAVlxUG#I#J9ԞԏjW9 cPf9Xo mm @gqbV,T˲_& Ƙ9v|*XQ ay"!kk8§E]K{|iw|ɱ٬o2wY-_"(}]~PC!cDq,8mgxĝ2< ;?nJnYxYЦu%C{=X%_lǷ! զE+°FŬI,`0;F_Êь Jm\4U{È_'+e'IENDB`homebank-5.3.2/themes/0000775000175000017500000000000013620077507011604 500000000000000homebank-5.3.2/themes/hicolor/0000775000175000017500000000000013620077507013243 500000000000000homebank-5.3.2/themes/hicolor/hicolor_status_16x16_hb-ope-new.png0000664000175000017500000000114413251014734021612 00000000000000PNG  IHDRabKGD))&r pHYs  tIME .ˎiTXtCommentCreated with GIMPd.eIDAT8˥OSQx-jh" FU hb\& nn& [X#mCBJ)ujCiy=>%g8=/d)[]D!"wzOFny^=YtV_ksݽ;6<1#njW ,5g(ST[nhivgf|-"<(JWAN0G%f Eq4ŵ䶅-Ѱ,Zh$Jwqp|K0iln,F@ a0O+k6mZex&EǡUH}ˑi>b("R,~"}xsCx`wX5K},K$SbJOs H ĞVbznz[[|r*~q? ~/L"IENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-ope-delete.png0000644000175000017500000000207013251174542022377 00000000000000PNG  IHDRw=bKGD pHYs  tIME '.;iiTXtCommentCreated with GIMPd.eIDATHǽMlTe{ܙvZ֙Zbۙ*H6XZCB-)FnݘhH\b+\0&ҟ*MP +Pgiig~qZ:p߽}=£ݧ\{iuеEžJYe01H'.x~ +WDk-ɩ ܹ!<0=Kkaάcw( VwB?vnض`E%?>2WXiʈ݋qw 5{HN&<`zU'Q3c m!p`m((X`D J};vr7[}>Wa!d2y7OGyY,{fS'N)`Z0ޝ'On,DdqMi}}#fz{Z㮮Ƴ=Diz,l:~o<$!;pebLAܚ`VfNZB%Bx׫Ll3W(4 fHzJ0 R(֘+ТJf0I2!F5=%dm@ֿ:K ^2_L IOx\m;%OVJ0()D$R_Of/[/^o$ӑ#_as:Z|_o m 4fLQ* JmkS`n[ `JLK oA/xfIENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-view-refresh.png0000644000175000017500000000167112505431134022762 00000000000000PNG  IHDRשPLTELiqÿ|tvq|~|BD?rvnlnhxyu|~{dfb{|yYYV{{??=~qtnXYUegc_`]fhcY\WilgÌ쏒ޫ廽řզ󉌆څok2WtRNS-# :>O&m&b(+ahʽN3;Aϡ7=3RS@PVa/ݤ(<mIDATxڝUsPRwwwwww܄4 ^xenz~, LM͌Wp٠~IfyyzQ0p4P%G+ 1E c^Y,hvk=BȎEi8&K o;S(!%<;w\.]f;WGԼD3Vf##OWxYd2>GiХzCJygM种MnF b$~%U79ߊC;kRԷRJZEW[7'.($fRUQyaQy|w{}su7! RmM[+M\|HuIENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-budget.png0000644000175000017500000000113512505431134021621 00000000000000PNG  IHDRשPLTELiq؍–^ZՖſ兹Ḥ̌Ӳ۬jf»ԜȽḺĶa]eaƌեĞѭ筍Ȇڽʉӳv43MtRNS߇1J (ZaqdkIDATxڵr@h^.Rj'4;D9̜SWr~V7 8;Mɝ%A>(g|#f.Z7s,EiBk?~5VsLDHXw{_ ?c'IENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-file-invalid.png0000644000175000017500000000150112505431134022707 00000000000000PNG  IHDRשVPLTELiq311@@@,25144333 ! FD#"-59133.25))31333$$$088/47""!!""43%% *)@@@ q w814 )) !!##&&""DA$$)(6332/.76&%! VR64/-(&id@>+*OL)( +**(%$KH[WWsDtRNS)@+&9)NLy~  0LyՄLyh\ND` VIDATxڝvPESww[ B !8H/g{zwX}8lۻa9ҭ> ڻnK's: GBk1ȲoR&~8uZё$h +H3,UjQ7dN @\6`"6Rmp yX(/mA2>Pl1TS`HQezpH`aɢIrS$]KO8Rjwq`sOWmqYͯ zXg3G7nQ >g&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 = : subdir = themes/hicolor ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs 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__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEPS_CFLAGS = @DEPS_CFLAGS@ DEPS_LIBS = @DEPS_LIBS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ 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@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSOUP_CFLAGS = @LIBSOUP_CFLAGS@ LIBSOUP_LIBS = @LIBSOUP_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ 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@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ NULL = public_icons_themes = \ hicolor \ $(NULL) public_icons = \ $(NULL) private_icons = \ hicolor_actions_16x16_hb-ope-future.png \ hicolor_actions_24x24_hb-document-new.png \ hicolor_actions_24x24_hb-document-open.png \ hicolor_actions_24x24_hb-document-save.png \ hicolor_actions_24x24_hb-document-save-as.png \ hicolor_actions_24x24_hb-account.png \ hicolor_actions_24x24_hb-archive.png \ hicolor_actions_24x24_hb-assign.png \ hicolor_actions_24x24_hb-assign-run.png \ hicolor_actions_24x24_hb-budget.png \ hicolor_actions_24x24_hb-category.png \ hicolor_actions_24x24_hb-currency.png \ hicolor_actions_24x24_hb-donate.png \ hicolor_actions_24x24_hb-file-export.png \ hicolor_actions_24x24_hb-file-import.png \ hicolor_actions_24x24_hb-file-valid.png \ hicolor_actions_24x24_hb-file-invalid.png \ hicolor_actions_24x24_hb-filter.png \ hicolor_actions_24x24_hb-go-down.png \ hicolor_actions_24x24_hb-go-up.png \ hicolor_actions_24x24_hb-help.png \ hicolor_actions_24x24_hb-legend.png \ hicolor_actions_24x24_hb-ope-add.png \ hicolor_actions_24x24_hb-ope-cleared.png \ hicolor_actions_24x24_hb-ope-delete.png \ hicolor_actions_24x24_hb-ope-edit.png \ hicolor_actions_24x24_hb-ope-herit.png \ hicolor_actions_24x24_hb-ope-multiedit.png \ hicolor_actions_24x24_hb-ope-reconciled.png \ hicolor_actions_24x24_hb-ope-convert.png \ hicolor_actions_24x24_hb-ope-show.png \ hicolor_actions_24x24_hb-payee.png \ hicolor_actions_24x24_hb-rate.png \ hicolor_actions_24x24_hb-rep-balance.png \ hicolor_actions_24x24_hb-rep-budget.png \ hicolor_actions_24x24_hb-rep-stats.png \ hicolor_actions_24x24_hb-rep-time.png \ hicolor_actions_24x24_hb-rep-vehicle.png \ hicolor_actions_24x24_hb-view-bar.png \ hicolor_actions_24x24_hb-view-column.png \ hicolor_actions_24x24_hb-view-donut.png \ hicolor_actions_24x24_hb-view-line.png \ hicolor_actions_24x24_hb-view-list.png \ hicolor_actions_24x24_hb-view-pie.png \ hicolor_actions_24x24_hb-view-stack.png \ hicolor_actions_24x24_hb-view-refresh.png \ hicolor_status_16x16_flt-exclude.png \ hicolor_status_16x16_flt-inactive.png \ hicolor_status_16x16_flt-include.png \ hicolor_status_16x16_hb-ope-new.png \ hicolor_status_16x16_hb-ope-similar.png \ hicolor_status_16x16_hb-ope-auto.png \ hicolor_status_16x16_hb-ope-budget.png \ hicolor_status_16x16_hb-ope-forced.png \ hicolor_status_16x16_hb-ope-edit.png \ hicolor_status_16x16_hb-ope-cleared.png \ hicolor_status_16x16_hb-ope-remind.png \ hicolor_status_16x16_hb-ope-reconciled.png \ hicolor_status_16x16_hb-ope-void.png \ hicolor_status_16x16_pm-none.png \ hicolor_status_16x16_pm-ccard.png \ hicolor_status_16x16_pm-dcard.png \ hicolor_status_16x16_pm-check.png \ hicolor_status_16x16_pm-cash.png \ hicolor_status_16x16_pm-transfer.png \ hicolor_status_16x16_pm-intransfer.png \ hicolor_status_16x16_pm-none.png \ hicolor_status_16x16_pm-standingorder.png \ hicolor_status_16x16_pm-epayment.png \ hicolor_status_16x16_pm-deposit.png \ hicolor_status_16x16_pm-fifee.png \ hicolor_status_16x16_pm-directdebit.png \ hicolor_status_48x48_prf-backup.png \ hicolor_status_48x48_prf-columns.png \ hicolor_status_48x48_prf-euro.png \ hicolor_status_48x48_prf-folder.png \ hicolor_status_48x48_prf-general.png \ hicolor_status_48x48_prf-import.png \ hicolor_status_48x48_prf-interface.png \ hicolor_status_48x48_prf-locale.png \ hicolor_status_48x48_prf-report.png \ hicolor_actions_scalable_edit-split-symbolic.svg \ hicolor_actions_scalable_toggle-sign-symbolic.svg \ hicolor_actions_scalable_list-collapse-all-symbolic.svg \ hicolor_actions_scalable_list-expand-all-symbolic.svg \ hicolor_actions_scalable_list-merge-symbolic.svg \ $(NULL) EXTRA_DIST = \ $(public_icons) \ $(private_icons) \ $(noinst_DATA) \ $(NULL) ############################################################################### gtk_update_icon_cache = gtk-update-icon-cache -f -t 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 themes/hicolor/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign themes/hicolor/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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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): tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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 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: 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 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-data-local 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 pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-local .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-data-local 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 pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am uninstall-local .PRECIOUS: Makefile update-icon-cache: @-if test -z "$(DESTDIR)"; then \ echo "Updating Gtk icon cache."; \ for theme in $(public_icons_themes); do \ $(gtk_update_icon_cache) $(datadir)/icons/$$theme; \ done; \ else \ echo "*** Icon cache not updated. After (un)install, run this:"; \ for theme in $(public_icons_themes); do \ echo "*** $(gtk_update_icon_cache) $(datadir)/icons/$$theme"; \ done; \ fi install-icons: for icon in $(public_icons); do \ THEME=`echo $$icon | cut -d_ -f1`; \ CONTEXT=`echo $$icon | cut -d_ -f2`; \ SIZE=`echo $$icon | cut -d_ -f3`; \ ICONFILE=`echo $$icon | cut -d_ -f4`; \ mkdir -p $(DESTDIR)$(datadir)/icons/$$THEME/$$SIZE/$$CONTEXT; \ $(INSTALL_DATA) $(srcdir)/$$icon $(DESTDIR)$(datadir)/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \ done; \ for icon in $(private_icons); do \ THEME=`echo $$icon | cut -d_ -f1`; \ CONTEXT=`echo $$icon | cut -d_ -f2`; \ SIZE=`echo $$icon | cut -d_ -f3`; \ ICONFILE=`echo $$icon | cut -d_ -f4`; \ mkdir -p $(DESTDIR)$(pkgdatadir)/icons/$$THEME/$$SIZE/$$CONTEXT; \ $(INSTALL_DATA) $(srcdir)/$$icon $(DESTDIR)$(pkgdatadir)/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \ done uninstall-icons: -for icon in $(public_icons); do \ THEME=`echo $$icon | cut -d_ -f1`; \ CONTEXT=`echo $$icon | cut -d_ -f2`; \ SIZE=`echo $$icon | cut -d_ -f3`; \ ICONFILE=`echo $$icon | cut -d_ -f4`; \ rm -f $(DESTDIR)$(datadir)/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \ done; \ for icon in $(private_icons); do \ THEME=`echo $$icon | cut -d_ -f1`; \ CONTEXT=`echo $$icon | cut -d_ -f2`; \ SIZE=`echo $$icon | cut -d_ -f3`; \ ICONFILE=`echo $$icon | cut -d_ -f4`; \ rm -f $(DESTDIR)$(pkgdatadir)/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \ done install-data-local: install-icons update-icon-cache uninstall-local: uninstall-icons update-icon-cache # 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: homebank-5.3.2/themes/hicolor/hicolor_status_48x48_prf-euro.png0000644000175000017500000000432112505431134021416 00000000000000PNG  IHDR00` PLTELiq__g<`9_V_A_Г#___`BГ#`S_^__]__`D___T6^__DŽ^`7^__Qr_WIƄ37ڢ-ϒ#c/_T_^^e;D<_:`՜)(`NHJMc@A_[Q,m ت8h OMБ$9hŁJ6uQwfe_ćI͍!ΐ"̌՛+R\L`Ā?Y>_.M_J_K@Α"/Gڣ0Adѕ%GLg Džń_?u62y4T6ְ˿#7T?v05Q%I8?$Ys̘TUJr~  [L{ȹDKhYv Y !WQi=-•;/]1WhF{v 08A"r5mɓ'>?> }ǎm@x=\|p ȑ&"[~~Xfaa0(:M][[>7j* ڑjy% PPꎚڜ:u\uի#/i.EEӧO4]ik:r69իb( l}@שS.@0 =P\[V6o^E/S>%̙={Tk0ӛ!TM#dƹi$rtJ嵬X TdqJhR>Wԋ VN-O+̼{L 63 K}Dwx`z,EUfܹs̓MIT;"eL F 7)aޏ2&He_zjս1b q*\(V,--+s޽1X4(*|DbEͫ{^q-BIQ,`s奍xMwMYH)J\ U'{Yc +dqy9Ҙ`eQ{EU^P>; X=P5//MNݻ7m*C7MZɜL<̾~~\'_啔TYlub.?.?_f{}q6fNT=qkq\U`Nf6:9{{'ء&@a)jx8*;üIENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-view-line.png0000644000175000017500000000054112577237700022262 00000000000000PNG  IHDRשcPLTELiq JItIt J J J J J J2asr JIt0Za4eyc[ǯtRNS[^?z2G3?9[8IDATxڵY0  N{RO'ɼX^̔ X^9q HnL-'",HWbeKOl6CQHDp"Q"1d h#AYJOt`1-3ry|NÅ +IENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-ope-convert.png0000644000175000017500000000166313251174570022625 00000000000000PNG  IHDRw=bKGD pHYs  tIME ([iTXtCommentCreated with GIMPd.eIDATHǽ?lu?s8&M늪PhTSG*ҕ$ EHP$2 D" u;[_|8ܸ4R7'}ӴW ;S싍_#ITOQ'~=Ĩ@zMyA!.iFF/y!DO@q@wQ T؃#yfyHwYRB4Gӥ!q{S0ro_9z>/=@Jٮ=-7 8AruG@ LrlV1twj[v{{!yk/Wӕn=kyhU$ OHzP+ 98,~swk%%+55kպ_=stO?a,gP 3 `7DzC?=rtWǃb8⏽c'Ğ ~ UssshNZ,h/W*wNր `1'Ǩ|j7O\o=IENDB`homebank-5.3.2/themes/hicolor/hicolor_status_16x16_pm-intransfer.png0000644000175000017500000000043512505431134022434 00000000000000PNG  IHDR(-SWPLTELiqAsT+h04]D T8T"D)TDЩ_GdtRNSjH{jjjjy^1NP}t7A`IDATxڥ90 Daw,ps4xE|d$C3 [{OE yB@A uqFwv#윻,ht1NP  IENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-assign-run.png0000644000175000017500000000104212505431134022432 00000000000000PNG  IHDRשPLTELiqŭJJJ SSSX[VX[Wƭ==='''UWSBBBOOOfVWUppp[[[YYY]]]uuu```hhhEEE2Q$tRNSXcqjk]E4]."O\_Ů݃qBR2IDATxڅV0b(V̎4*@_[= b?߻POٝ:09mn.`s#Rqp~&q4:9h#혼oPtN:vk; /O8\yO粍̃oTk=Hk됳Xg9Zz[ T[t!!=jD^=V`MBVcalV؇IENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-view-stack.png0000644000175000017500000000051512505431134022425 00000000000000PNG  IHDRשoPLTELiqWQS*N.WJ=-F8NaU|wl5%^bZcdqmlu}ii\pdOAM?JtRNS污IDATxڝC0a jK[?#d22|'g 0ǫ,몒*:jZJVH"e|(1ىLaqMѽ(Hse6N/Luf ?~" =tIENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-file-import.png0000644000175000017500000000175713526524250022616 00000000000000PNG  IHDRw=bKGD pHYs  tIME 0*MtEXtCommentCreated with GIMPWWIDATHǵ[lu3-lwwڕTx!\j$&%(V}($Z%PI}01 !^^ J[Rlk-Dh%ݥۖe*leR_r?3 ϐLά<:`J`7U.ȘU2c}5j7\殟a"LNEťCd,?$I$r[FW[;mFrֆqSNIJ)-ֵ|YjJ`\G^!:i ?ubSA6Fg 8.. 7/{}mČĉ`1yS38<#JS ] fn>f@e34z"h^ [loF,GW4j}v!q~l{mMKR;@vvxrtXyZma^Be>9RiDNV8?`z6g-]IcsKi`MHOu:tRNSգ f}\dC@ͽUHtp0&C71\ݟF׫?ŤrFIDATxڅR@')J޻"Pb=Dj|gv lP]{=]e?ҋ0lwLMsg"д8V(^Ӵ,2Z*%%1~at$-yAX v:$853^yMK'pŌ ~\d A̟ԧGL-a$TR޼8޳k}VbD"|oe> A9*F(s?fW{АWL໿;>c~~_1\Y~CyN:^'_\0=褝NJ6Mon ӫKVGSu)vGGުsDϝ;{H_4c=^ر3.n3lrwҘdmiȟc7_HU4B[狤4IOp ǭu5w6mb~ic޼"܃0׳vr:P{ebͨ`\8KI8tt7P6uQ%ȈqFL霍Ҵv:l=?3s,Q08 UU&̍۬D*1 6@YɫqcӍcEL:9G;ZIJ[1sV~C8 T^4Fmbgf⺮RK|Gh(`@Yx/ׄ RlvǓ !*|J`RzvFqd4rcv7[i1Y0腒s8kzUZVOnnDAZ| 8KN Xk\yc:XYE1.D XJx) xods7:@>$RfosV̻)LOX|6wCUtDKRgQ^J+C@=Vtc-94gT>o~`Se"8Q2iGW5/j>]Noq!Qy3x*<(؛1RSj.L #4I>y`t"8D9,1ѓl4Q^qpUѤ@N@*2eYC3WԢ hzX;#">O'z==C 8ts+C3hb> _=CUJA0 {>Јع~7 "$jRK90[VDhY-NllGvi1Z̦ o߰;<Ťɠ U /UEmsf~k%AлQu-+n5 Ûn~h4ag;sc:s6{m7c37l얀#z2)@@ lسqwm<&4+נb}'oWxhcs m[#!*Y!+J~.cL`yv=GYj5 nm/B雱ݕ()c1F銣5*ziwk3\]Y>ObjmGLw"ꪠcs%̴uoʕ1t^֌3>XdypQkU@^y%L&%dD>r*O^R B##^HtmynEv 1Eގ5BYcO%t|Jw2@hyEM(U1eSgoljuHm<k"=C݅USzmDTf `0kl'j=8;/aVCrWSe6,&_He]Q3m !Ԉ~_VyEY" cqQGFWF 6x}OsY:4;ysjzI)+Z"+ nDM-qs^}ok#5z8?3zǞ8=qn:EhKj$_gu&66SwBkƚ9UkP?mgeog+q巿K48?жnۛl|4 [G~Gnʯ|oA@Vs^8e_@ un#,0Lp֚0`%` "a/h"<3,m R[}RBTo!n{x@ZCFҹɾ(!U@esK??'< ^ c"[ "}AXIENDB`homebank-5.3.2/themes/hicolor/hicolor_status_16x16_pm-epayment.png0000644000175000017500000000074312505431134022105 00000000000000PNG  IHDR(-SPLTELiqVXTz|xCCC^`[Z\WuwsjlhY\WnplY[W_b\UWSψD`=X|?Z~qsnC]rupB\WYUXoqmE_twrd_`c^JsdfblnjgjeVXTק]_[x{hkPxhhj}tRNS< oIDATxU@@51XiK_fsy.>;pDz~?%>%!DYn>)js`ܪ.ULHbH+6riM7[ɷ#y0416ÈSj5e ՃWcXIENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_scalable_toggle-sign-symbolic.svg0000644000175000017500000000406312571401470025022 00000000000000 image/svg+xml homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-file-export.png0000644000175000017500000000201513526524225022613 00000000000000PNG  IHDRw=bKGD pHYs  tIME 0,!tEXtCommentCreated with GIMPWuIDATHǵO[e?hy+ ĭ5flqdlnj̜3 /.t3_1q96e0 KtKf7V B[Zr s@lv~/y~~y%'#PPi}SUvMrVX4vCMj!湩伬Mǵ~7P࿥Щ ,//Y?{=uvs}Wdhr 7"u۩hpY Pl?ۀ`ʚ~4q‘033Өjj[ V%n^DҊP`DHR|8O"IՍsb7Z qL o4hrрlTY6oG( kX]6N{};NVɢ(( zQOC[V"+̏%]'OD@dKV'^ i4ݻw&(/.Mx M6K e;I܊ql(Ӭ7'2MtzMά7*5ELT!ߎOѧF]&o0bc0tN强s%-.;Z{?uޡ&"* (m ]D&tU4 >[>8_7uJG*DB/ovUٓ\LfoCޖF%Ţ(JZ^u|c image/svg+xml HomeBank Symbolic Icon Theme HomeBank Symbolic Icon Theme homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-view-pie.png0000644000175000017500000000137512505431134022102 00000000000000PNG  IHDRשMPLTELiqBr:koJzmDtA^>kjdAqr{{DtM{_n v[CsNAr\=m\tpAq[Y@pl[Aqli"n Aqh X n[U[[Zo>rϊ4}k!jvRmșxk;ޫnYrAM}tvHVqd=wMV?awDARӎJa8lzџ^_t8-]lƕG[RMO{R0tRNS _tӢʭb=71\AF׫F?ŁDx/IDATxڅ{PqJ08u_q c KQq$22Ql)nJdѷCbB6rp"b2allZZ˵h: ==&lqP1w"N@&"xMm%t`pvw}@" 7EZZa|| 08ԟ8h;8::Ue}@VV:;;7_E4RRRn]CK4#K = xYy 6AFf**w$7)#8ğ潴]U]R]񅾠##PRV- N.{Ќ,f(-/8..^$ǩ(H)'C4=LE#$f33t 433C,Ҋ]uRLq'c }j~b练!mEc}x%زC9T|>zk?P*A;ZۨEW˷wuB6%'ili44$F_Svʐ+pK 'VWW#ķ~'Y+v1²re 3W,yN3$wc4, \wykL\ֽ˹%O:PUן$߷}8bhIDAToQ޽Smb]ٶmI39>f^enؚѩI!5= ? "gY==s̺*'}ŃQUU i!!X6ı PlR%V\~b${.YϖU o<0oJpgE"kҹZ:H&b\U[7 O׍b_%D{)vX(6IENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-ope-show.png0000644000175000017500000000145012505431134022110 00000000000000PNG  IHDRשVPLTELiqUUUUWSTWS?'<>3&;VDT>&<>&;^N\A*>>&;fXdVXT>&;mbl>&;VWRUWSUWRTWT?'UVT>&;?'=?'&;舊񛛘wwt]M_Q7Uđ¿S:Wuus{{x紳eZfŠ^P^R=S}զYE[XD[zqxWAZxow45tRNS+4 N%7IB[nMW$`Ʋw݉6gzw`LIDATj`x|g}2܁W UQ k,I[/+TTg_NPd2šFܨWjl+6E1[2Z pŭKS^QlhWW6%F /~w='.r_G85D݉F gFum-^lA7d+J1.i}t*I]' 4/sL1Bi8lnCikwQ75=sTIENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-document-new.png0000664000175000017500000000100113237031621022746 00000000000000PNG  IHDRw=IDATxaFk7kqjƬm[1j1m۶ƪjZ'9{zF18քG`LM}e\@NZv)wj bJgo$2Y#\EMi}C]YlZ; ]rm 4׿ u*>}ʎ ƖZǙ4vhꛪ ,K"r&-: V z*:9g6~%yzgpD5 9Wp]>PqY>{=0w`jqYbV`BrzB"gcF$pF(0if?ۈ89IENDB`homebank-5.3.2/themes/hicolor/hicolor_status_48x48_prf-backup.png0000664000175000017500000001115213246353043021720 00000000000000PNG  IHDR00WbKGD pHYs  tIME6a#%)iTXtCommentCreated with GIMPd.eIDATh՚y}?{{co!rIBP` Ǝ _UqJL\qBqR *rS]e8Se;.p;V@B}=3^Yiرn=~zm|֭[u{+ҕ+t+;]);뺮&WpKưۧBF@)%5D-haB pxٿ~Ϟ͆{X}hini$*Xtu]s=qe~'.tΎE@m&P,)(BBa"!pum]bpp@UDž<[~x{tMQ{঍xPJQ.83 RlJeQ.[Mg @{[IwWJ)\R,yyLM'݊/|a Ǿ_Xj5J)lf[ؿMLYK8gjrHg3 f"1NkKmmm_OoJ\)q]cǏpaZu򥇾?&#{>Z[q]SOsK&Bc b|>Lg NT,f*V.c[i^:`vMMT]Ib|o+_;i? swmpv/ 1ƛk5,nèpO4au_F{[;RJ{=59>p$̚U+1}bvv0BI{2FGotswz/穛oE*Αc"t&/'GO58IIׇTlRT*R4A.g /3 z{Yz-R*߷v\{ߵ^PۮrC&| w<pɥ<&Y^`4hFy*J2U©T>[E)Є50,"5axx!4"(a"̦RX[8gVi,'e&5璞D7/+p$}yA& DA⠔b M׹n5&CI,DwW7T}:|_o}͚Wuo|f?"Iz{W&F?UL[`?H@oɓؖEGg^[zP\a4M(YJT*Rur6+cW hBCj\T *8]WO]vdh4N\ƶm4 M.FjdƇе%:@ 022:]\n կ55>vǢZR,śFP( A%V^@@J4}ضM\ӛDII!=E!s)rSObߧڿ#޺v~DZn>Rrn64MW/jF54^K<3x h`&: ;4n%-sSh 1躎x<^4]zy{0<XZ>zO>G t]^zi'~+}m?g^}xx,F,'lY<* ǎ! Q, (%.*/H,{ hPR R:} ^c;Xe ׭mX\ŕ wR2=V H(J4 ,:>4pxoReftM $ŲNܥtmʎ9z8A0佟GzIX!jmQf3>* @rj|UH&JRT]P,0QRWpa)'y5 N6mڄ kϝ-mrY% i͕FcXRR_ ?b۱j/%N->͛7O-9dY|>laYyP r\6i4 sds 5ܯ%)=w~ֲʜuk s1^pIF d%]e&''(-B h>{/*e$> ͑&XFobjґR-eb:Z,b0\˲.>jHi.i&''DU/tm؂躎g(f~FSS~u &|.dAggbWkeR#S;///ۇ[0<4B<T|44A[ߖ@GkSl8m--x&hϿxb ۶ij({e!6yZ6 4]C'l&53W_#R,Ytuuq183O>o߹sTjP,b->1ⱦzQVmC~{aǪ*#Clstw/PzttW^~Q*W|x*־g/Mӻt&iJy 5`JX isJ!yݣ2;ppuG?zeՀlV$C#cAt01 AJ /9;4hCƝWiFG_;0utrnh֖BA?/#Qw=O[:qeccٰ~V]1="aF(@*^ip rK933LLqiٶW830Dss3]j۶S[~f; CG^]vꡡsW_ SI ào Nᣘ\>C*^N$i2|IFG8783۶V]B(]ݝD~\.' s_{>C~]0LF(tvuEclt{YfPz08|'0:>U},P(r dfx啝|xgn)@)U,^0嶛nmmW_⊫TrzZLLLP (24\l!O.CF"#bMMxt/$Ilۢs-}{'g&۳g^*uk$"H4x]ҵ]|_,ݰau\T*l|6󙘆I Gmcm E8֖fuqAf_:rdždžPpVw"G[@.5kWeŚ5fEx<^r,U;[r* (0z~hb!3 f&:q<ꖯ:jQ^'0G"DK/vYgUXH8YC9ԴE@a]?.p9`5e9"gsQ&H&?0TWr8r"=( D`_R܀LFKCȲD? u=nYZ @Mu5&-e[25ŞVH$P%ra24ͼY$Y,3,{<4!#m,|90׮_eff&=?L=/vhe't`OsSH%=vE~i2 uW%IX$KzSJ׋l/dvzPk,vnO0GXm6Rg7yq$%hk޹K?{!ڥ^tXDB`(wX[̢|r:h?JGQh=P nR[]Cd-f*>?GݸjM(}8՛t}n0@Ϩ:}{3C&czjnzylG\d]Y=ܼa,!أ%Xm-}5r|ا!IENDB`homebank-5.3.2/themes/hicolor/hicolor_status_16x16_pm-dcard.png0000644000175000017500000000112212533125642021335 00000000000000PNG  IHDRabKGD pHYs  tIME;.vtEXtCommentCreated with GIMPWIDAT8œjTQgon6j%6QFK;}K,| ADpbch2*XE {93caf7sOo֥ <u6p?V_p梪9wc1x7XlLTw2E=̡u&VUӋ:aQ#%M"Z?ϭ,{hImT)e"-!hϽ7Qr1RQG҄%U1z*çǨ]ǵKxAM.Ʊ~deg2wtmK44MÝ[gyu|ж44d'4U)7_ ^Ji<^HR;[Yns$~ `#b yzgP<R(MzzRhEM]/R-N=\VDHmkDZKr˯{E~R dj'gkA9^Oo[0b ~[ \'ىZn<\&"` o@2 (YTI~JD#$` ag/~KmsGWIENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_scalable_list-merge-symbolic.svg0000664000175000017500000001302313506135621024652 00000000000000 image/svg+xml HomeBank Symbolic Icon Theme HomeBank Symbolic Icon Theme homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-legend.png0000644000175000017500000000024612505431134021607 00000000000000PNG  IHDRY PLTELiqN4e\4rM:btRNS@f image/svg+xml HomeBank Symbolic Icon Theme HomeBank Symbolic Icon Theme homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-document-save-as.png0000664000175000017500000000146213237031621023527 00000000000000PNG  IHDRw=IDATxœY-c^۶ƶۈm8OlG|N=K5$5#K>+HixQ.y8Ѐֶ(SYf݅s΢l0s@Rf^ߢ>I6Pܽ{+W-P?dȆ#w{Oa )$`8c|2lZ . DD`E}v1-^pۯSXr<"K^-82ek {G9aqHN@߂gp3< ڦA ]h"]J]m :z9IZZZ*[,CCQC=[[`Ϋx5bZӧOӵ͛7pe\p6(1z5gz(1aҸe >c/t{1()e$Ӟ^e"(cRx5p}h'g ph힡Jb% ]O6z Y""EVt9T VJۭvhV>yX䝵"zL칟\Y✾h)})""p;bUDXЄZ8[~c꡶D^I3!Tamp "1l H@8&cvPFj=2~DL,@0k6\w:%$ ہnk ")f:_'V^Pq9d&}|ʷ!>sxgMX@g8rG$BKP! #h@8$P */!]][ !_EĂX ` M1R?kwxZ!3I!W8i x8tU'V۶RyJ{jܝG"d,׮kGDjWpe&52#N ə'wbr/Z Уǫ~W4$;Z"mqcGdviKÿ)q~$b'97#͏rg"};; 5\jz /[S Ue8IENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-rep-stats.png0000644000175000017500000000140012505431134022264 00000000000000PNG  IHDRשMPLTELiqOlJymBr:kiR>kNDtCsq{{M{Aqtm[n [op_AqArJztAqAqm\[@pl4eDt[un Yh i"UZo`[[X >rϊ4}!kjRvvxWk|ҭq;tI[np@v˥dM=mElDžMV?a^ADJa8lS8-kƕQR[sMO_2tRNS` CBƢpby[71\ի=DMѣ0IDATxڅVPHD@HIL .I` i]|gi$_]NRV):ggT5!,P$y&[kp͑X>18MI,ɏLm'"}EQ1~$vTy'ѧ & %4'utnbFL%a eZ*W'BPFMi_Pcۦ-y ܭ!Ea!X”Y7h٦!]iz #VA=\`JBeYζ 0_Wj(IENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-category.png0000644000175000017500000000071712505431134022171 00000000000000PNG  IHDRשPLTELiqlR,t:lP)qQrW,mR+lM'nT.pU.jO+iN'};~iO(÷µlR,x^Ŝu8a0οŵm5q7®y=˼}DoV1yXvX,{\.e1i3vɼ̽ɹD5 tRNSo!T.̌IDATxڝGPEQ1@P$}r&3iUʈ;79)-jem~uiy4CeȋqcJ4dZ8i F ld8>˪c&Q@rHC@A]ZTn)IU?lh HR(pqqD Ж;@nfzXwcIENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-view-column.png0000644000175000017500000000047712505431134022624 00000000000000PNG  IHDRשZPLTELiq_7FB .E0`c9VNIENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-document-open.png0000664000175000017500000000114013237031621023122 00000000000000PNG  IHDRw='IDATxݓ\A v9`p-g8- 8j<,q 7P`RJ7M_#ZpY0o#?~ş"6eGP)ʱ ](8 ```DDQO.̱ >WO:*"aX!' WKk>Gac}H7f;1mkÔЂFLac=,a [u!mPFz0IA z wh50-*yew5[" zO3)6]/`RXi#ZaR8 >o`PI>,8CxM7uNsǶpƙKozIENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-rate.png0000644000175000017500000000064412505431134021306 00000000000000PNG  IHDRj PLTELiqpqlTWT{}wUWSUWSԁ~֯޸߿रt|`jsfmsnyȰX3 tRNSp @HIDATxu a*M%R70Kh|3/by=IhDy柦u*|{dqPJ!"NpB0VZ!a3oy룩LIk#nPM};>q:DiȈi1Ep.eFcto]'G[v ܕ ;:s< ؾf 菳1'Py V42뽯&%Jk1ff̹WM49Ǩ#ǙVC3@6Fq4)XYۻ㎮5HN s]MnX:A>q)r"$B#q34Nyss%C2 . 70V |I$MhZe ya2n%ϬFydA=8hR0L@ngx{CxyǨ9F` 6ÙC^^>O<4-[V-[{<5~ % .'bC_M^D/]q3u.q\D(*V5|GDG͞5uxU E1ڽjђe+s%hڂW4+#mڡG]mY9_Qc=P(~hgv)dWnKww/RJԽՏ\@A|ʻ&ockET<d)999!={ ZBL5^y]*i)Y#.bPh}7EF J#DDFZ'SǴRnJB*ni8]8}oNM+.IF}8orijIENDB`homebank-5.3.2/themes/hicolor/hicolor_status_16x16_hb-ope-void.png0000664000175000017500000000064013477652225021777 00000000000000PNG  IHDRabKGD pHYs  tIME  q%tEXtCommentCreated with GIMPWIDAT8˭N01XXXRbkt{0Vf9nhBmȦ`9idOOjXlPػ`9iwJFeSiSrtoŠаo_!i&ƨ>=woqlqsn7>ZUfw]5g$O$Mprm|Z_7iuQ{prmtvpPNOtvquwr~{MQ،־wOy{vΨg=N0Shos踒TdvǣHf%OXsrOωˌخyauO艻ጼWXмͅeqtp̴Ɉorm\ϸ˕QȲƱ߁6xѫ{ȭZqt}}T/z!⏴rHeī‚{t»_qqu°sxw;ҿϾʜڤjߠiZnUjh/ɼ½oPh{Ŀӻ\f[e}_eZøǼZtxjŪWVSjl{Һpqh?tRNSHHi&"z`f+;E%mRjyȳKg?`2^ҾTDrs}er~IDATxWPQkQ Tb { 1k$PTP  `nvn4$O͹,Sh#jcmg]#avSvhʴa`Nvm6ljpψ?chǴ8hks' lf{ ;k`6$(+lDںth@;t\pkc27~.8D ܱczyo?CN\Vrl@Àʫo3;wp7u@k(%(oeH}]5$b  mKfr YCM k&}G9 19= UY#SEd~)"-u& x&+U"#c)aLYXHQO 2o;[wb^AVmD<5s4VlVKxX9A(<:b+88lP Q(ؙ5NB5paˣV$"ɢygi ԁShR" kOHԃycN@j05ҧ[ZQ?D&`GcB4 Lsd/SSYH%ӎ;#H*P݁NǏp R|>kƞi)~\.i7R,= 7Ć̾w MS7m8j]GFز#|;fʼn'x^Gߋii1~'zՅ_b5jZ+{;j,"Մ샵J&q\v~'@k/а5IENDB`homebank-5.3.2/themes/hicolor/hicolor_status_16x16_pm-none.png0000644000175000017500000000014012505431134021211 00000000000000PNG  IHDR%=m"PLTELiqM:tRNS@f IDATc 0 HIENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-ope-add.png0000644000175000017500000000171313251174434021670 00000000000000PNG  IHDRw=bKGD pHYs  tIME &$iTXtCommentCreated with GIMPd.e/IDATHǽMlE;k;N֦ҬMćP@UR*'"ĵBHą z pAm@(BTUpjA: idqI$Ozμ}Yx6>9`6\쵦clL]V'TJ4KO>³z+$b7[+74NzMӨVs9}SW&4'Nu `'?l _5ni ;-CǞ\y+5wNnl)==܋e%8q7Mu:*Q!Q Iw$BOg-W*%bD8Jm{gkm1p]49J4I=w~~=(.ODӯ=Α6$"Bl۶/dY?7xc.ܯ=<:Is'XD"I#$1ד\;E\OFj%j(Cs3˫k,Vq7+HO ^ utp z(v)UA]Tn.7熺: P,.Q(|/ `H)<ġ-bqNx25uBC^$jo>רy$PL|6j\ϵ pvtȩv]evA^y7߫*T 3$Pxk8J%?ㄵ63Chx ]`R<8{8w$F>8#NRjT+O`IENDB`homebank-5.3.2/themes/hicolor/hicolor_status_16x16_pm-check.png0000644000175000017500000000055312505431134021337 00000000000000PNG  IHDR(-SPLTELiqlF yP(tK#c>~T*@"~S(1Q/\8ԪɸʱȽzwqô̽^][ò˺ec_TTTWtRNSsinygMrCWXIDATxڅQ DAJI"JB;öl@պ麮ijQ0׿'/1JJY{!Ub&1yoe<^Z7JBcxQ Gra%I11sWIENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-help.png0000664000175000017500000000314413526523237021315 00000000000000PNG  IHDRw=bKGD pHYs  tIME '+PyJtEXtCommentCreated with GIMPWIDATHǵVmlSe~vu}`YY 2 Nu[/b0j Nd"1.KfAC!? XL)Unezוn}T"?$'9?<<g#s -Ue|RVB?%MJw.<zk.dɇ$CN(+/nzr>g*ebb!$wUn\VR7$tX*ח05.Y@$4:FZ[rkBjFzk߀K_CWX:;"[1w"rxrk : tXCjUрoVC}#xh+Bt7aT̴ OM0(,9vYBws1$2dYF"!Cv rtX BOMETeY| rYi-M p#X (E4e&>~ZW,9uSw&A|a4?>׵9;?v$$l4klh*F`Yҽ5-|>$,*-C;Ez" XZW?D˂--Պs(rt;X$!;%$ڐp5յ,}TۓQܸ'kgᇒ.;pNNnVVxWi*LV9 DPjpcr{<x z/.M qeRQX~JJj,n 6I $SE fR 9Kat Wq6C;՚82w Pzel, U@)!-Mes^g RHRjҨE{! &;|sO^Is`h)ھ@M9l7|&j_ ~ lA /0wlI܇55ts ICz{e !Ipsm=/c99H3[JEWS4B)ȖDB( P[[Am6w:7 ~P'97L8cd^inZ v$\-&S NfbK+˟:<%o);PF_[}+EQ(nO IENDB`homebank-5.3.2/themes/hicolor/hicolor_status_16x16_hb-ope-similar.png0000664000175000017500000000130213251166203022454 00000000000000PNG  IHDRabKGD pHYs  tIME ,3 iTXtCommentCreated with GIMPd.e&IDAT8ˍkRaǿٙ8+db6iכ(ft(rӛ:myhQSv!Km˅D"]!2wl6F1lv;ž}y v!Ou4LˑNơ*t)ݟ$;-˦KH8.w*uK yD Ͳxx bnJ$a7JI!&E8JQ2\D b"{ʄx,`V)r#~ZQ2IENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-payee.png0000644000175000017500000000113612505431134021453 00000000000000PNG  IHDRשPLTELiqܔ#Еb-VGB7ճ|ؒ#sX,o\<{O?4YV*ZcÇ'NkEi0hmЎئA@ *nxpS/47"D2"RB?(z WIENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-filter.png0000644000175000017500000000072612505431134021641 00000000000000PNG  IHDRשPLTELiqUWS**UWS,,''UWSUWSUWS--++RP޽ۨkNRmjqnut݁.tUI7#V݅2~́BܒUxInޅ2֟׳ɃG鈈ܗ^h٣\G tRNS&\ +kIDATxڝ0UQ@]0̘8ɕ'TĠc[ղ;` *Б^8}P" )8PM.X _q1A٨ֿ`XK`9=Za{nQEk= 8xG jw.Bp:,4l9(v62%F(Y EIENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-assign.png0000644000175000017500000000070212505431134021632 00000000000000PNG  IHDRשPLTELiq JJJȱSSSƭ==='''BBBZZZfNNN^^^qqqQQQuuuVVVhhhnnnEEE7#tRNSj]qck[ WE4.O#ŮqB!tY>1dIDATxڥ `HR,[0iYsv^@WgpGOnM{ƒD3aLy 5!>?\*TzY8ڈa >@um{7/~ 0đUmo&Lge# a7#0܀ҏ<nh,IENDB`homebank-5.3.2/themes/hicolor/hicolor_status_48x48_prf-general.png0000644000175000017500000000357312505431134022071 00000000000000PNG  IHDR00` PLTELiq'+T} KMrsss΁R#NI~~~ Jρ3_-U HGmBy"J K2Z7]Ä$P%Pm'O#KǍ$BvAucw2ǣ?nSj/Ik@MT_ 1/Wbǿ6.+giCYA4,(ZxXg"EPL7Ρb[Й; D&A4ugN3R_Kdnd4 GܩjVȻ#iaz) R<,*wRjz StKU<'n hy^R-r{@c޵P+ BnVY]$M'*4aOΪjvv Fޯπ`o)WB_xmR#*"J'+"%;Jb* YAUԾc5+(Ɇ܊_kVl03A8sv7nե ssfņעM3;%VRМ8v)ڴ8n_vsbBP>Tw!.]xY"~/1r~ώ RSv@ f$$ ڝ{- ^!8c"~m'ODe:YNSߐM& A&/ {z 1r/'vD{ɲ=`r:)Fb6S]KIENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-archive.png0000644000175000017500000000107512505431134021773 00000000000000PNG  IHDRשPLTELiqZu#ZZe?N1Y\UWSZ[Vmpr߲lqNFkULimkAثa`vyz_deK%mqs˲YZUY]_EJL&ӈ;Υf"C tRNScFc$' IDATxڅR0aDېBt+oH.h|W7T*zk 7EPڄR)/I%L[\>{@Js8EE #`q93eh=.共%ǸDj *M81ބcsxgs18HE %8jJ+ϭ ~?dZ?VpuݵHfnâ 8'5%Q% HAIENDB`homebank-5.3.2/themes/hicolor/hicolor_status_48x48_prf-import.png0000644000175000017500000000271112505431134021757 00000000000000PNG  IHDR00` PLTELiqNg!_|}yQ þM464Wp*|PL 4WZۤ`T^艋]r8mu2?9ڱΔΝ摓[Ki̕GNϜRܹaԤq-Tf!f'o*t2@r/MqͣfӤzCZxRz4P ZӚTo4a(ױc]i١y8x[hҞ{-tRNSH4(` N.3p~3DS6E_IDATx_pԌTn 6D,3ўgkl^~?<=n{濭~ۿ`#$n#ßp}@T*v:sXw\r$pgk5BQ`çښk7?oki6XCa\QK[-[5:pQC"> +᤟-W烔K5nU@x})a+}#k Η[ΎgϗVܕ|rcT|||<]6\9%s|nw{e~K$*7?({#ܐh3.ɏ|NpRs\^9vHq<7PS|H@wx<3şO>\ ڠ'>^˟2x23@Zf¼tkx Jd:(&&H` IZ*Ɂc@h =[SW[^W8$L7u .u *k،3֯.F:j њLKIENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-rep-vehicle.png0000644000175000017500000000166612505431134022563 00000000000000PNG  IHDRשYPLTELiqJJJDDD,,,  <<<~~~FFF >>>:::>?>,,,666888HHH333SSSKKKGGG??AIIILLLMMM>>>CCC>=>LLLIJIFFFDCDKKK"""@@@UVVFFFAA@%$$LLL876???RSScdd;;:OONKKL}}} ~~~|||]]]ggfTTUKKKRRS{}~IIJ[\\efgxz|777WWXHGH>=>PPQYZ[:9:??@FEFKKMMMNCBCMMMtuwkmoݸLtRNS1 !7[1 uR,MfT(txsbުzpIDATMs`$_Iéwq#@U-cqRg8 e]]Wu'+gcjT:JS[@׊]fi٪+]Iq")EW$ګ4AWmw'G[v>ggS $P<94I8K0M>8,4??:yc3`lE^Lo -SSTϴ,׿L߲LOJ ESdYn~wZUS0U,bѲV#/J2GJ!\'!Tkc8Q8c0!?z?H_4h^@8>~pGGz7*CE K(! Pѩǹ-5MʬlNxtld:ZG#,cӿy6GC<F_^U#IENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-rep-time.png0000644000175000017500000000210112577237700022077 00000000000000PNG  IHDRשPLTELiq J J J J J J J J J J䲵 J J J J~rϐ J))hoë(('Y[W]_[_gjaoxctW;8'QQRO-X.YRTP0Z0[TVR2\VYU8_5`Z__;fac^ac_bggAlCnPM87gkidln:8hljimkboyVslsvduNLjxTVy}{n{~zymjrolw^qmXWnpfąprƑzsǒvɗŐȲשׁ½ĿR%%tRNS#,128?S[>XIDATxc` pJsb*b.$UIJa*;\TJ.!-e2["$ݭxD%DP Vt)x{1//(J0 7,]T޼hBBD lβ`m+R6wId ϫ##/_yARbA@q&%43sJ_PB ,.ӿ K%=Ey@$Tgu"X!uZ"Cey-]DăgkUKl6!5ͅsgN:tZSB"5|+/78кW!!RB{KG7v,.TDv-0{\G9d I9K&xIHHJj٩iJJJJN)hmkCIENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-ope-herit.png0000644000175000017500000000171413251174466022261 00000000000000PNG  IHDRw=bKGD pHYs  tIME '<>iTXtCommentCreated with GIMPd.e0IDATHǭoW; 'c#4TRE JHhAUuWCj+U@B@HiZ(jix [@ĩN͌ O:͙;gV/ nc~}oض]P^iu[Ji셅eҾo@#P{OJ)B0??eY߿K5GmoTsT R;ɺ:voCQ~fvwt|^tT+Oat#CcVZJ(  MaBWp}Qk`ӦeBN/û#[ B4:xzz16 pI`x֚IENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_scalable_edit-split-symbolic.svg0000664000175000017500000001164113506135313024662 00000000000000 image/svg+xml HomeBank Symbolic Icon Theme HomeBank Symbolic Icon Theme homebank-5.3.2/themes/hicolor/hicolor_status_48x48_prf-folder.png0000664000175000017500000000303412306103403021713 00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<tEXtTitleFolders!T`AtEXtAuthorLapo Calamandreiߑ*)tEXtDescriptionBased of Jakub Steiner designs'IDAThZKSUv̌851Bԅ,LX .ta\"1,aAY Kc;W(b؈OTt`f>=\8 ?=9==w I\bpuW[˻}.\L?HΉ#+E@N|-;d6DaV Μ<:^|WlD0Ħy{_8|5K~ (>yՃYy(ԗDn=iv D)A:c8`>Gij}5P&ۅ kM躁!$+51AAAqH&@)sEHBPUZBaUFVaeYup *aHvF.;8l{%hpBår$UZ76=$Fm4,& Ӟ6UR=e:<`_ Yka]IX0Z-|Ņ鿮xàK4\ր2-jAbPܶverc>>X;ɕC\t''pIG&P)]\G M`û^C#uI\rafb=w+fgAZNwdBa !f _f Fv" >pv}]VQ ׄn0 tׄov3e#bү(d_9G1&SP $u}t:hGl,9#$:वe p4J@i5S%@L^`@E"Uk(N'~B %\@뷎4!UX@َ-P )) |(K0!Z?:ևƢL ҩuANRԩԀ*ZTI)A^"RRZ300 A@+p ᐠ1B1@LL܁ZH&*᎙ Zd p֐[-B0C cB$j!pij͋DݏG7o$jHED2YXU(",-v{KpҵכeRXKτfgN03{jR-'o4 _>U*F+i` Cj./*x jA9R >&@@!GݽҔu̔NuaIENDB`homebank-5.3.2/themes/hicolor/hicolor_status_16x16_hb-ope-forced.png0000664000175000017500000000102213506144027022260 00000000000000PNG  IHDRabKGD pHYs  tIME 7D%'tEXtCommentCreated with GIMPWzIDAT8Ő+q_lQ8ȅv4 )_ rp%spppqz+E6<2lc"ly_Oo "` h V !d|HDԸ]mB{ނ I^/G\{NAlFje;yvF*DӰ5);p PN~4]{a [jc%C4HhΆ:L ֏%k0y HsHP"{XS2mmU'' AzFk(*KE /~B`0"Ix -zts#hUe_11, 78E!D'y 4 4D--IENDB`homebank-5.3.2/themes/hicolor/hicolor_status_16x16_flt-inactive.png0000644000175000017500000000036612505431134022237 00000000000000PNG  IHDR(-SEPLTELiqK tRNSᰠVIDAT @VqT/,E2FT٫`B`ytz:f`k`ںMa:qk:bL?yF|aIENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-ope-edit.png0000644000175000017500000000202413251174514022060 00000000000000PNG  IHDRw=bKGD pHYs  tIME 'DiTXtCommentCreated with GIMPd.exIDATHǽOe3CwkHLڔRT15L76 I7$Z c"P $`R,@5eeי]vw^/`]v٥7$33}'hQ)P /zu"ۑ13S LRɅ^M|`v]UUҩ@UcM{ %eYx'worߜ~_It5L*T{EY[Y"hDYWE,tH&wr%]Rk+M/ؼӸݡMt]`vn6' ?|ȱ!T$fk )[Xkme۫ƼX"hTT$T/422rp!k_ߏә&f@p/>;id7-gu9g_y*|>I$JMt2M{G$Ǯ.c&Bbtt@ӈD6&~uى1K|#e+' +_R3Yb]<1^Rͮ5?~;?- 7m 9Ur˕[9H.IENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-rep-balance.png0000644000175000017500000000063212577237700022535 00000000000000PNG  IHDRשPLTELiqIt J J J J J J JHt JIt Jؠ nnurϐ0Z JIt::saȚ nnŗ x5M@\B_f~_ylEtRNS^G-2s+39--QIDATxڵ Ў@`tWGI^)"܃ΟaaUWt| J\3k:^w"J؃Wǹ*/ 47 .y 9`. pB hq)UJJw!6v ދ9 &%3f\dIENDB`homebank-5.3.2/themes/hicolor/hicolor_status_16x16_pm-deposit.png0000644000175000017500000000101612505431134021724 00000000000000PNG  IHDR(-SPLTELiqOPNNMNMNN4BNmhL[FdT؟ z(ƂP֚\F9w9hXhv _mZ~ۣЄۡU֦ դ UPU1ګ`r!ڳ{SVHȐ3p͗8{ WrY ωCkq tRNS.= sIDATxU`DPBVJxkgD/(WDRxMf~kaAL0 :Ѵgy3ڙe|{vqkSˠicm6jwR4M%9nd=) )\Liui;ewL D5@GHE G U8M&V1<.| 2 #{D:$y"xLt7Q$=<@:4;1g=6MY)|t:TF qD`0\@a9U*<:]7J3Qj8[2S'Q2QPs@ZGF:6.@z*2ӋAt%w';.~*@>6Ft8KMۜV~:]&~).m|\ϋuۡxD:xls>ǃK□ʆ{@zЎSG֔VjFtRNSv\.Lcq (GhrOi\% mQ{.5MIDATnP({q*sw/4a.I} 4~pz`BX+-0"JK0 ByFwak;BAI(G8*2 [n<_p_[4o~@nhBucʒqM :hQ\DQC`!]؎-$PL;DQρdj889ٛe1|"fMIHD7wŢQg<دOp؛A(f(IENDB`homebank-5.3.2/themes/hicolor/hicolor_actions_24x24_hb-view-bar.png0000644000175000017500000000042512505431134022064 00000000000000PNG  IHDRשZPLTELiqfI7r\MN44epd? qc@G<#n@aO@ǏB.Y2A\ Kq9R.x>6ř9Bhjhaqq\x& ߼yz===p:,C%%4*NCةX R&v3hY}n@EI:&@A 0JFKd)dQGUOCK+ YIx$_6x)4yB6MRq%ͫWxdf)'圍"1Oql\T R(8`CC 2#sd鶌IRR9b.}Ξ0^ԏI5t ԰*i*[2ʪr0PZ^Dd,nx/gAaq9퐙X^ؒt ੤M:P?|35=Б7cccK_8ñV&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 = : subdir = themes ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs 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 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 distdir-am 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)/mkinstalldirs 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@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEPS_CFLAGS = @DEPS_CFLAGS@ DEPS_LIBS = @DEPS_LIBS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ 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@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSOUP_CFLAGS = @LIBSOUP_CFLAGS@ LIBSOUP_LIBS = @LIBSOUP_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ 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@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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 = hicolor #line gtk2 all: all-recursive .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 themes/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign themes/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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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): # 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: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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 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 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-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 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 cscopelist-am ctags ctags-am \ distclean distclean-generic 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-generic 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: homebank-5.3.2/po/0000775000175000017500000000000013620077507010735 500000000000000homebank-5.3.2/po/ast.po0000644000175000017500000022642413620025344012004 00000000000000# msgid "" msgstr "" "Project-Id-Version: HomeBank 3.2 alpha2\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2009-06-07 20:31+0000\n" "Last-Translator: costales \n" "Language-Team: Asturian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:53+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "¿Quies desaniciar cada una de les\n" "transacciones seleicionaes?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "" #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Esportar CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Zarrar" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Editar" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Transacci_on" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Amestar..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Heredar..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Editar..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "" #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Ferramientes" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filtru..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Amestar una transacción nueva" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Amestar" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Heredar dende la transacción activa" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Heredar" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Editar la transacción activa" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Editar" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Intervalu:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Abrir el filtru de llistáu" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Bancu:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Güei:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Futuru:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Fallu de ficheru" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Ficheru" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Nuevu" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Abrir..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Guardar" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Desfacer" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Colar" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Preferencies..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Vista" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "_Cuentes..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Beneficiarios..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Ca_tegoríes..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Presupuestu..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "" #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Transacciones" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Amestar..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Amosar..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Informes" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Estadístiques..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "" #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "_Presupuestu..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "" #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "A_ida" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Conteníos..." #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Informar d'un problema..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Tornar esta aplicación" #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_Tocante a" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Editar les cuentes" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Configurar los beneficiarios" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Configurar les categoríes" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Configurar el presupuestu" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Amosar les transacciones de la cuenta seleicionada" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Abrir l'informe estadísticu" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Abrir l'informe de presupuestu" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Futuru" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Fecha" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Información" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Beneficiariu" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Importe" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Balance" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Amosa la información de la versión y sal" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[FICHERU]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Nun pudó estenderexase la URL '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Opciones d'HomeBank" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Imposible abrir el «%s», el ficheru nun esiste.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Saldu" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Güei" #: ../src/list-operation.c:548 msgid "- split -" msgstr "" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Cuenta" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Gastu" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Ingresu" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Categoría" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Etiquetes" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "" #: ../src/rep-balance.c:76 msgid "List" msgstr "Llista" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Ver resultaos como llista" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Llinia" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Ver resultaos como llínies" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Actualizar" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Actualizar resultaos" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Detalle" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Amosar _detalles" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d baxo %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "_Cuenta:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Dende:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Fasta:" #: ../src/rep-budget.c:787 msgid " over" msgstr "" #: ../src/rep-budget.c:793 msgid " left" msgstr "" #: ../src/rep-budget.c:796 msgid " under" msgstr "" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Presupuestu" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Resultáu" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Informe de presupuestu" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Presupuestu:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Gastáu:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Gastáu" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Subcategoría" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Etiqueta" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Mes" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Añu" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Esp. & Inc." #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Camudar llende" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Amosar tasa" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Informe estadísticu" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Por _importe" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Balance:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Ingresos:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Gastos:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Día" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Selmana" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "Ca_tegoría:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Beneficiariu:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Cuntador" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Carburante" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Preciu" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Dist." #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Esportar como CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Cuntador:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Consumu:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Coste del carburante:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Otros costes:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Coste total:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(nengún)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Visible" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Fallu" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Nun se puede renomar la cuenta\n" "«%s» como «%s» porque ya esiste\n" "otra cuenta con esi nome." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Xestionar cuentes" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Xeneral" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Ca_da:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "_Pagu:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Propietariu:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Nome:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Inicial:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "Númberos _coloraos en:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "Ficheros QIF" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "Ficheros OFX/QFX" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "Ficheros CSV" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Tolos ficheros" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Toos" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Dengún" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Invertir" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "díes" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "La concordancia faese nel siguiente orde: cuenta, importe, fecha.\n" "Una tolerancia de fecha de 0 díes implica una concordancia exacta." #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Fallu nel formatu del ficheru" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Xestionar presupuestu" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Mayu" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Ingresu" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Nun puede renomase esta categoría\n" "de «%s» a «%s» porque\n" "esi nome ya esiste." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Xestionar categoríes" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Númberu de decimales:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Esportar a QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Importar dende CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "Ficheros HomeBank" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Opción:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Info.:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Forzar:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "amosar 'Amestáu'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "amosar 'Editáu'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Nun puede renomase esti beneficiariu\n" "de «%s» a «%s» porque\n" "esi nome ya esiste." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Xestionar beneficiarios" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Interface" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "" #: ../src/ui-pref.c:89 msgid "Report" msgstr "" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Predetermináu del sistema" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Sólo iconos" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Sólo testu" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Testu baxo los iconos" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Testu xunto a los iconos" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Amosar por _importe" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Amosar _columna de porcentaxe" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Amosar _detalles" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "Barra de _ferramientes" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Gastu:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Ingresu:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Alvertencia:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Importar:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Esportar:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Cargar el caberu ficheru abiertu" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Preferencies" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Amestar transacción" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Heredar transacción" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Fecha:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Incluyir" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Escluyir" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Efectivu" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Tarxeta de créitu" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Caberos 30 díes" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Caberos 12 meses" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Toles feches" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Xineru" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Febreru" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Marzu" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Abril" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Xunu" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Xunetu" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Agostu" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Setiembre" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Ochobre" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Payares" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Avientu" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "" homebank-5.3.2/po/ro.po0000644000175000017500000024642513620025325011637 00000000000000# Romanian translation for homebank # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2007. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2019-12-30 15:16+0000\n" "Last-Translator: Daniel Gradisteanu \n" "Language-Team: Romanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Bară de Unelte" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Raportează o Problemă..." #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Nici o tranzactie de adaugat" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "tranzactie adaugata: %d" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Omite" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Diverse" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Unde se duc banii dumneavoastra" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Finante personale" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Gratuit, usor de folosit, contabilitate personala pentru fiecare" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "finante;contabilitate;buget;personal;bani;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "Este conceput pentru a fi usor de utilizat si a fi capabil sa analizeze in " "detaliu finantele dumneavoastra , utilizand instrumente solide de filtrare " "si grafice artistice placute." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Daca cautati un mod de administrare al finantelor dumneavoastra, gratuit si " "usor de utilizat, atunci HomeBank este software-ul (programul) de care aveti " "nevoie." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "Exista %d tranzactii similare" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "Nu au fost gasite tranzactii similare" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "Verifica rezultatele transferurilor interne" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "Nici o neconcordanta gasita !" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "Neconcordanta gasita: %d\n" "Doriti sa reverificati si sa modificati ?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Fiecare suma a unei tranzactii va fi impartita la %.6f." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Sunteti sigur ca doriti sa convertiti acest cont\n" "definind Euro ca moneda principala?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Convertește" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Nicio tranzactie modificata" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "tranzactie modificata: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "Atribuire automata" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Doriti sa creati un sablon cu\n" "fiecare tranzactie selectata ?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "_Creează" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "Doriti sa stergeti toate tranzactile selectate?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Sunteti sigur ca doriti sa schimbati statusul in Anonim?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "Unele tranzactii din selectia dumneavoastra sunt deja Reconciliate." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Schimba" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Sunteti sigur ca doriti sa comutati statusul Reconciliat?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "Comu_tă modurile între ele" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "%d tranzactii" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d tranzactii, %d selectate, medie: %s, suma: %s (%s - %s)" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "_Cont" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Exporta QIF" #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Exportă CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "Exporta PDF..." #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Inchideti" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "Modifica" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "Lipește" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "_Tranzacţie" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Adaugă..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Moştenire..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Editează..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Stare" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Nul" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "_Suprimat" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Reconciliat" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "_Editare Multipla..." #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Creaza sablon..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Sterge..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "_Caută" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Instrumente" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "Marcheaza dublurile" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "Verifica transferurile interne" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "Auto.atribuire" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filtrează..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Conversie in EURO" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Adaugă o tranzacţie nouă" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Adaugă" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Moşteneşte tranzacţia activă" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Moștenit" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Editează tranzacţia activă" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Editează" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "Comutati catre suprimat pentru tranzactiile selectionate" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "Comuteaza catre reconciliat pentru tranzactiile selectionate" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Editare tranzactie multipla" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Creare sablon" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Suprima tranzactiile selectionate" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "Muta in sus" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "Muta in jos" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "(inchis)" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "Toate tranzactiile" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "Domeniu:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_Resetează" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Deschide lista de filtre" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "Euro_minor" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Bancă:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Azi:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "În viitor:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Restabileste schimbarile nesalvate in fisierul '%s' ?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "-Schimbarile realizate acestui fisier vor fi pierdute pentru totdeauna\n" "-Fisierul va fi reîncărcat de la ultima salvare (.xhb~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Restaurează" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Sunteti sigur ca doriti ca acest fisier sa devina Anonim?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Continuarea va face Anonim orice text, \n" "ca de exemplu 'cont x', 'platitor y', 'memo z', ..." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Anonimizeaza" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Bine ati venit in Home Bank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Ce doriti sa faceti:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Citeste _Manualul HomeBank" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "Configureaza_Preferințe" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Creați un_nou fișier" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Deschide un fisier existent" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Deschideti fisierul exemplu" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" "Sunteti pe cale sa deschideti fisierul de rezerva '%s'.\n" "\n" "Sunteti sigur ca doriti sa faceti asta?" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "Deschide fisierul rezerva ?" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "_Deschide copia de rezervă" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Eroare necunoscută" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "Eroare de tip I/O pentru fisierul '%s'." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Fisierul '%s' nu este un fisier HomeBank valid." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "Fisierul '%s' a fost salvat folosindu-se o versiune mai recenta a HomeBank\n" "si nu poate sa fie incarcate in versiunea actuala" #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Eroare fișier" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "Fisierul a fost modificat in timp ce se citea" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Dacă îl salvați, toate modificările exterioare ar putea fi pierdute. Doriți " "să îl salvați oricum?" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "S_alvează oricum" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "Golește" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Fişier" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Nou" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Deschide..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "Deschide recent" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Salvează" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "Salveaza_Ca..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "Importă..." #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "Exporta QIF..." #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Revenire" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Proprietăți..." #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Ieșire" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Preferinţe..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Vizualizare" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_Topul cheltuielilor" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro minor" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Administrează" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "_Conturi..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Beneficiari..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Categorii..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Planificari/Sabloane..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Buget..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "Buget (vedere tabelara) ..." #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Atribuiri..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Monede..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "Etichete..." #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Tranzacţii" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Adaugă..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Afişează..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "Afiseaza tot" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Seteaza planificare..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Post programat" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Rapoarte" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Statistici..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "Tendinte..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "B_uget..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "_Costul vehiculului" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Arată mesajul de bun venit..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Fisier statistici..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Anonimizare..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Ajutor" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Conţinut" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "Obțineți ajutor online" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "Verifică după actualizări..." #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "Informații versiune" #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Tradu aceasta Aplicatie..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_Despre" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Creează un fișier nou" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Deschide" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "_Deschide fisierul" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Deschide un fișier recent utilizat" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Salvează fișierul curent" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Configurează conturi" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Configurează beneficiari" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Configurează categorii" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Seteaza planificarile/sabloanele tranzactiilor" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Configurează buget" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Configureaza atribuirile automate" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Afişează tranzacţiile de cont selectate" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Adauga tranzactii" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Deschide raportul de statistici" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Deschide raportul Trend Time" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Deschide raportul de Balanta" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Deschide raportul de buget" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "_Deschide raportul Costului Vehicului" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "Doneaza pentru proiectul HomeBank" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "Programate" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "In viitor" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "Reamintire" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(nicio categorie)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "format CSV invalid" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Dată" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Informaţii" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Beneficiar" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Notite" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Valoarea" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Balanţă" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Necunoscut" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(fara beneficiar)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Afișează informații despre versiune și ieși" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[FIŞIER]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Eroare de navigare." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Nu a putut fi afişat URL-ul '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Opţiuni HomeBank" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Nu s-a putut deschide '%s', fişierul nu există.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(nici o institutie)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "(niciun grup)" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Conturile dumneavoastra" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Extinde tot" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Restrânge toate" #: ../src/hub-account.c:547 msgid "Show all" msgstr "Arată tot" #: ../src/hub-account.c:552 msgid "By type" msgstr "In functie de tip" #: ../src/hub-account.c:553 msgid "By group" msgstr "După grup" #: ../src/hub-account.c:554 msgid "By institution" msgstr "Dupa institutie" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Verifica rezultatul tranzactiilor programate" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Tranzactii planificate" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Editeaza & Posteaza" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Postează" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "data maxima de publicare" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Top cheltuieli" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "Top %d cheltuieli" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Total general" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Conturi" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Bancă" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Astăzi" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- separa-" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "- este necesara o categorie -" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Cont" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Stare" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Cheltuieli" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Venituri" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Categorie" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Etichete" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Întârziat" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Urmatoarea data" #: ../src/rep-balance.c:76 msgid "List" msgstr "Listă" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Afişează rezultatele sub formă de listă" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Linie" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Afişează rezultatele sub formă de linii" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Reîmprospătează" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Rîmprospătează rezultate" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Detalii" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Comută detalii" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d sub %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Raport balanta" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Afișează" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "_Cont:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Selectează tot" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "In_fiecare_zi" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Zoom X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Filtrare dupa data" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "De la:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Până la:" #: ../src/rep-budget.c:787 msgid " over" msgstr " peste" #: ../src/rep-budget.c:793 msgid " left" msgstr " stinga" #: ../src/rep-budget.c:796 msgid " under" msgstr " sub" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "Buget pentru %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Buget" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Rezultat" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "Afiseaza rezultatele ca bare suprapuse" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Raport buget" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Vezi ca:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "Numai in afara bugetului" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Rezultat:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Buget" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Cheltuiţi:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Niciun cont nu este definit ca fiind parte din buget." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "Ar trebui sa incluzi cateva conturi din fereastra conturi." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Cheltuiţi" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Subcategorie" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Etichetă" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Lună" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "An" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Chelt. & ven." #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s de %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "Prea multe coloane de afisat" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "Selecteaza un interval mai larg si/sau un domeniu de date mai ingust" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Comută legendă" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Comută rată" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "Modificare filtru" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Raport statistici" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "Mod:" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "După _sumă" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "Interval" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Balanţă:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Venituri" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Cheltuieli:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "Media" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Zi" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Saptamana" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Trimestru" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "Semestru" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s Peste Timp" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "Media %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Raport Trend Time" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Categorie:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Beneficiar:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Etichetă:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Cumulate" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "Afiseaza linie goala" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Segementul de timp" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Măsură" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Combustibil" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Preţ" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Dist." #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Exportă ca CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Raport cost vehicul" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "Vehi_cul:" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Măsură:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Consum" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Costuri pentru combustibil:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Alte costuri:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Costuri totale:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(niciunul)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Vizibil(ă)" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Anulează" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_Ok" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Denumirea contului" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Eroare" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Nu se poate adauga un cont '%s'\n" "acest nume exista deja." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "Nu se poate sterge contul '%s'" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" "Acest cont contine tranzactii si/sau este parte in transferuri interne" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Sigur vrei sa stergi definitiv '%s' ?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "Daca stergi un cont va fi pierdut definitiv" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Nu se poate redenumi acest cont,\n" "din '%s' în '%s',\n" "acest nume există deja." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Administrează conturi" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "Redenumește" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "șterge" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Schimba ordinea prin mutarea elementelor\n" "Dublu-click sa le redenumesti" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "General" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "_Grup:" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "Institutie" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "N_umar:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Balanta de deschidere" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "Moneda" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "acest cont a fost_inchis" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "Note:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "Automatizare" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "Sablon implicit" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Raporteaza exculdere" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "exclude din rezumatul_contului" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "exclude din _buget" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "exclude din orice_raport" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "Diverse" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Numerul curent al cecului" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Carnetul de cecuri_1" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Carnetul de cecuri_2" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "Descoperit de cont la:" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Data_urmatoare:" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Fi_ecare:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "Mai multe opțiuni" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Weekend" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_Opreste dupa:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "articole" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Administreaza programul/sablonul tranzactiilor" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "_Programati" #: ../src/ui-assign.c:303 msgid "Search" msgstr "Caută" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "Note" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "Dezactivată" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "Suprascrie" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Administreaza Atribuiri" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Condiție" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "_Cauta:" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "Sensibil la majuscule" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "Alocări" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "P_lată" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Nou fisier HomeBank (%d din %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Nu a fost găsit" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Deţinător:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "Monedă:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Propietatile fisierului" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "Detectie sistem" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Limbi:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Fisier presetat:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Initializeaza categoriile cu acest fisier" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Categorii presetate" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "Informații" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Nume" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Balanta" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Inițial:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "De_pășire la:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Creeaza un cont" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Aceasta este o pagina de confirmare, apasa \"Aplica\" pentru a aplica " "schimbarile" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Confirmare" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "Valid" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Nume" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Fisiere recunoscute" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "Fişiere QIF" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "Fişiere OFX/QFX" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "Fişiere CSV" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Toate fișierele" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "omis" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "Importa %s in:" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "acest fisier" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "acest cont" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" "Nume: %s\n" "Numar: %s\n" "Fisier: %s\n" "Codare: %s" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "%d transactie(i), %d similare, %d existente, %d selectate" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d transactie(i), %d selectate" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "Nu mai afișați acest mesaj din nou" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Sortare dupa data:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "Selectează:" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Toate" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Niciunul" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Inversează" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "zile" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Potrivirea se face în ordine: după cont, sumă şi dată.\n" "O toleranţă a datei de 0 zile însemna o potrivire exacta." #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Eroare la formatul fişierului" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Administrează buget" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "_Sterge intrare" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Optiuni" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Forteaza montiorizarea acestei categorii" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Ian" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Mai" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Iun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Iul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Aug" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Oct" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Noi" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Dec" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "Ven_it" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Nu se poate redenumi această categorie,\n" "din '%s' în '%s',\n" "acest nume există deja." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Administrează categorii" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Zecimale" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Exportă ca format QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Importă din CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "Fişiere homebank" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Selecteaza dintre tranzactile posibile..." #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Selecteaza o actiune:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "creaza o noua tranzactie" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "selecteaza o tranzactie existenta" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "HomeBank a identificat anumite tranzactii ce pot fi asociate pentru " "transferuri interne" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Opţiune:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Notita:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Informaţii:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "Maju_scule/minuscule" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Orice stare" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Oricare Tip" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Transfer" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Forţează:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "afişare 'Adăugat'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "afişare 'Editat'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Tranzactii planificate" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "adauga pana la" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "din fiecare luna (excluse)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "adaugă" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "zile pana la data curenta" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Costul vehiculului" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "_Plata:" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Nu se poate redenumi acest beneficiar,\n" "din '%s' în '%s',\n" "acest nume există deja." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Administrare beneficiari" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Interfaţă" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Tranzacții" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Importa sau exporta" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Raportează" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Implicite sistemului" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Doar pictograme" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Doar text" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Text sub iconiţe" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Text lângă iconiţe" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango usor" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango mediu" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango intunecat" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "l-z-a" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "z-l-a" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "a-l-z" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Ignora" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Adauga la Informatii" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Adauga la Notite" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Limba sistemului" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Selecteaza un folder implicit HomeBank" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Selecteaza un folder implicit pentru importare" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Selecteaza un folder implicit pentru exportare" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "Optiuni OFX/QFX" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Filtru initial" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Optiuni diagrame" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Optiuni Statistice" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Afişe_ază după sumă" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Afişează coloana _rată" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Afişează _detalii" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Optiuni Buget" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "Activ_ează" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Presetare:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Limbă:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Anul fiscal" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "Incepe_la:" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Unitati de masura" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Foloseste _mile pentru metri" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Fereastra tranzactii" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Adauga multiple" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Pastreaza ultima data" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Bară de unelte:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Culoarea sumei" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Foloseste culori personalizate" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Cheltuieli:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Venituri:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Avertisment:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Importă:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Exportă:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Porneste program" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Arată pictogramă de inceput" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Încarcă ultimul fişier deschis" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Posteaza tranzactiile programate in cours" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Fereastra rapoartelor principale" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Preferinţe" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "Este necesar sa redeschizi aplicatia HomeBank\n" "pentru a finaliza modificarile de limba." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Suma tranzactionata:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Neatribuite:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Desparte suma:" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Doresti sa opresti intervalul de transfer intern?\n" "\n" "Continuarea acestei actiuni va sterge tranzactia selectata." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Adaugă tranzacţie" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Moşteneşte tranzacţie" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Dată:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "_Notite:" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Include" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Exclude" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(fara tip)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Numerar" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Active" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Card de credit" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Creditori" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Ultimele 30 de zile" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Ultimele 60 de zile" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Ultimele 90 de zile" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Ultimele 12 luni" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Toate datele" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Posibil" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Înainte" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "După" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Nedefalcate" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Necategorisit" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Ianuarie" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Februarie" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Martie" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Aprilie" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Iunie" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Iulie" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "August" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Septembrie" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Octombrie" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Noiembrie" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Decembrie" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Verifică" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Card de debit" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Ordin în vigoare" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Plată electronică" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Depozit" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "Fara comision" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Debit Direct" homebank-5.3.2/po/bg.po0000644000175000017500000025414413620025322011601 00000000000000# Bulgarian translation for homebank # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2007. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2019-12-31 10:44+0000\n" "Last-Translator: Ivan \n" "Language-Team: Bulgarian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" "Language: bg_BG\n" "X-Poedit-SourceCharset: UTF-8\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Лични финанси" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "Не бяха намерени подобни транзакции !" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "Не бяха открити несъответствия !" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "Открити бяха несъответствия: %d\n" "Желаете ли да прегледате и поправите?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Сумата на всяка транзакция ще бъде разделена на %.6f." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Конвертирай" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Няма променена операция" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "Транзакцията беше променена: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "Желаете ли да създадете шаблон с всяка от избраните операции?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "_Създаване" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Желаете ли да изтриете\n" "всяка от избраните операции?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_Изтриване" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Промени" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "%d операции" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d операции, %d избрани, средно: %s, сума: %s (%s - %s)" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Изнасяне на QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Изнасяне в CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "Запиши като PDF..." #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Затваряне" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Редактиране" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "Копирай" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "Постави" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "Постави (днес)" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "_Операция" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Добавяне..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Наследяване..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Редактиране..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Състояние" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Без" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "_Изчистено" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "Потвърдена" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Създай шаблон..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Изтриване…" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "_Търсене" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Инструменти" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Филтър..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Преобразувай в Евро" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Добавяне на нова операция" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Добавяне" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Наследяване от текущата операция" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Наследяване" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Редактиране на текущата операция" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Редактиране" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Създаване на шаблон" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Изтриване на избраните операции" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "Премесети операцията нагоре" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "Премести операцията надолу" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "(затворен)" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "Всички операции" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "_Обновяване" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Обхват:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Тип:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Състояние:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_Изчистване" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Отваряне на последния филтър" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Банка:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Днес:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Бъдеще:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Отхвърляне на незапазените промени по файл '%s'?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Добре дошли в HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Какво желаете да направите:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Прочетете _ръководството на HomeBank" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Създаване на _нов файл" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Отваряне на съществуващ файл" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Отваряне на _примерния файл" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Непозната грешка" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "Грешка при четене или записване на файла '%s'." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Файлът '%s' не е във валиден формат за HomeBank." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "Файлът '%s' е бил запазен с по-нова версия на HomeBank\n" "и не може да бъде зареден с текущата версия." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Грешка във файл" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "Файлът е бил променен след като беше отворен." #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Ако го запазите, всички външни промени може да се загубят. Запазване въпреки " "това?" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "_Запазване въпреки това" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "Изчисти" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Файл" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Нов" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Отваряне..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Запазване" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Връщане" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Спиране на програмата" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Настройки..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Изглед" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Лента с инструменти" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_Най-големи разходи" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Второстепенна валута" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Управление" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "_Сметки..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Получатели..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Категории..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "График/Шаблон..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Бюджет..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Назначения" #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Операции" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Добавяне...." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Показване..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Настройка на графика..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Отчети" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Статистики..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "Отчет _тенденции" #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "_Бюджет..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "_Разходи за автомобил..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Показване на инициализиращия екран" #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Анонимен документ..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Помощ" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Ръководство" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Докладване за проблем..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Превеждане на програмата..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_Относно" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Създаване на нов файл" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Отваряне на файл" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Отваряне на скоро използван файл" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Запазване на текущия файл" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Настройка на сметките" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Настройка на получателите" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Настройка на категориите" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Настройване на график/шаблонни операции" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Настройка на бюджета" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Конфигуриране на автоназначенията" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Показва операциите на избраната сметка" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Зареждане доклада със статистики" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Отваряне Отчет тенденции" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Отваряне на балансов отчет" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Зареждане доклада за бюджета" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Отваряне на отчет за разходи за автомобил" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Бъдеще" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(без категория)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Дата" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Данни" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Получател" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Записка" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Сума" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Баланс" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Неизвестно" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(без получател)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Показване данни за версията и спиране" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[ФАЙЛ]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Грешка в браузъра" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Грешка при показване на адреса \"%s\"" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Настройки на HomeBank" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Грешка при отваряне на \"%s\", файлът не съществува.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Вашите сметки" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Няма операции за добавяне" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "операцията е добавена: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Проверка на резултат от операции по график" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Общо" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Операции по график" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Пропускане" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Публикация" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Друго" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Разходи" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Обща сума" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Сметки" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Банка" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Днес" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- разделяне -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Сметка" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Състояние" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Разход" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Приход" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Категория" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Етикети" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Следваща дата" #: ../src/rep-balance.c:76 msgid "List" msgstr "Списък" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Преглед на резултатите като списък" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Линия" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Преглед на резултатите като линии" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Обновяване" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Обновяване на резултатите" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Подробно" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Включване на подробности" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d под %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Доклад на баланса" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Показване" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "_Сметка:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "_Маркиране на всичко" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Всеки _ден" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Мащабиране X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Филтриране на дата" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_От:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_До:" #: ../src/rep-budget.c:787 msgid " over" msgstr "" #: ../src/rep-budget.c:793 msgid " left" msgstr "" #: ../src/rep-budget.c:796 msgid " under" msgstr "" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Бюджет" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Резултат" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Доклад за бюджета" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "Преглед по:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Резултат:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Бюджет:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Изразходвано:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Няма дефинирани сметки в бюджета" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "" "Трябва да включите поне една сметка от диалоговия прозорец за сметки." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Изразходвано" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Подкатегория" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Етикет" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Месец" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Година" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Разход и приход" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s от %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Включване на легенда" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Включване на процент" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Статистика" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "По _сума" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Баланс:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Приход:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Разход:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Ден" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Седмица" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Тримесечие" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Отчет тенденции" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Категория:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Получател:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Етикет:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Натрупване" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Времеви отрязък" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Километраж" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Гориво" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Цена" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Разстояние" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Изнасяне като CSV-файл" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Отчет за разходи за автомобил" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "_Автомобил" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Километраж:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Разход:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Цена на гориво:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Друг разход:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Обща цена:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(без)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Видимо" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Отказ" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_Добре" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Име на сметката" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Грешка" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Не може да се добави сметка '%s',\n" "името вече съществува." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Тази сметка не може да бъде преименувана\n" "от '%s' на '%s',\n" "Това име вече съществува." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Управление на сметките" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Влачете и пуснете, за да промените последователността\n" "Двойно щракване за преименуване" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Общи" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "_Номер:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Начално салдо:" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "тази сметка е _затворена" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "изключване от _отчет на сметките" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "изключване от _бюджета" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "изключване от _всички отчети" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Номер на текущия чек" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Чекова книжка _1:" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Чекова книжка _2:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Следваща _дата:" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "На _всеки:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Край на седмицата:" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_Спиране след:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Управление на операции по график и шаблони" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Управление на назначенията" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Условие" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "_Плащане:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Нов HomeBank файл (%d от %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Не е открит" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Собственик:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Атрибути на файл" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "Засечено от системата" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Езици:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Файл с шаблон:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Инициализиране на моите категории с този файл" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Шаблонни категории" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Име:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Баланси" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Начален:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "Над_хвърлен при:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Създаване на сметка" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Това е страница за потвърждение, натиснете 'Приложи' за да потвърдите " "промените" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Потвърждение" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Познати файлове" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF файлове" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX файлове" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV-файлове" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Всички файлове" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Подредба по дата:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Всичко" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Без" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Обръщане" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "дни" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Съвпадането се прави в следния ред: по сметка, сума и дата.\n" "Толерантност на датата 0 означава точно съвпадение" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Грешка във формата на файла" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Управление на бюджета" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "Изчистване" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Настройки" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "Наблюдение на тази категория на_сила" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Яну" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Фев" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Мар" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Апр" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Май" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Юни" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Юли" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Авг" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Окт" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Ноем" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Дек" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Приход" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Тази категория не може да се преименува,\n" "от '%s' на '%s',\n" "името вече съществува." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Управление на категориите" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Десетични позиции:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Изнасяне като QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Внасяне от CSV-файл" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "Файлове на HomeBank" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Изберете измежду възможни операции..." #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Изберете действие:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "създаване на нова операция" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "избиране на съществуваща операция" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "HomeBank откри някои операции, които може да са асоциирани с вътрешния " "трансфер." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Настройка:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Записка:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Данни:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "_Различаване на главни и малки" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Какъвто и да е статус" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Който и да е тип" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Трансфер" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Задължително:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "показване на 'Добавени'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "Показване на 'Редактирани'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Планирана операция" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "добавяне до" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "добавяне" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Разходи за автомобил" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "Плащане:" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Този получател не може да се преименува\n" "от '%s' на '%s'.\n" "Името вече съществува." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Управление на получатели" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Интерфейс" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Операции" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Внасяне/Изнасяне" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Отчет" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "По подразбиране за системата" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Само икони" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Само текст" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Текст под иконите" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Текст край иконите" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango light" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango medium" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango dark" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "м-д-г" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "д-м-г" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "г-м.д" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Пренебрегване" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Добавяме към информация" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Добавяне към записка" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Системен език" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Изберете стандартна папка за файлове на HomeBank" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Изберете стандартна папка за внасяне" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Изберете стандартна папка за изнасяне" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "Настройки на OFX/QFX" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Начален филтър" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Настройки на графиките" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Настройки на статистиката" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Показване по _количество:" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Показване на колоната про_цент" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Показване на _подробности" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Настройки на бюджета" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Включване" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Шаблон" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Език:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Фискална година" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "Започва на:" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Мерни единици" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Използване на _мили за километража" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Прозорец с операции" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Множествено добавяне" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Запазване на последната дата" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "Лента с _инструменти:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Цветове за сумите" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Използва потребителски цветове" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Разход:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Приход:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "Пре_дупреждение:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Внасяне:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Изнасяне:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Стартиране на програмата" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Показване на начален екран" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Зареждане на последно отваряния файл" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Настройки" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "За да влезе промяната на езики в сила\n" "трябва да рестартирате HomeBank." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Сума по операцията:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Без назначение:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Брой разбивки:" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Желаете ли да прекъснете вътрешния трансфер ?\n" "\n" "Това ще изтрие целевата операция." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Добавяне на операция" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Наследяване на операция" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Дата:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "_Записка:" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Включване" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Изключване" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(без тип)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "В брой" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Притежание" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Кредитна карта" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Задължение" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Последни 20 дни" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Последни 60 дни" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Последните 90 дни" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Последни 12 месеца" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Всички дати" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Преди" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "След" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Непотвърден" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Без категория" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Януари" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Февруари" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Март" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Април" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Юни" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Юли" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Август" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Септември" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Октомври" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Ноември" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Декември" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Септ" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "Търсене..." #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Чек" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Дебитна карта" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Постоянно плащане" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Електронно разплащане" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Депозит" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "FI такса" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Директен дебит" homebank-5.3.2/po/en_GB.po0000644000175000017500000026006613620025303012162 00000000000000# English (United Kingdom) translation for homebank # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2007. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2019-12-12 21:36+0000\n" "Last-Translator: David Harley \n" "Language-Team: English (United Kingdom) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Personal finance" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Free, easy, personal accounting for everyone" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "finance;accounting;budget;personal;money;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you in managing your personal accounting." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "It is designed to be easy to use and be able to analyse your personal " "finance in detail using powerful filtering tools and beautiful graphs." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be your software of choice." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "There is %d group of similar transactions" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "No similar transaction were found !" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "Check internal transfer result" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "No inconsistency found !" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "Inconsistency was found: %d\n" "do you want to review and fix ?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Every transaction amount will be divided by %.6f." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Are you sure you want to convert this account\n" "to use Euros as Major currency?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Convert" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "No transaction changed" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "transaction changed: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "Automatic assignment result" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Do you want to create a template with\n" "each of the selected transactions?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "_Create" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Do you want to delete\n" "each of the selected transactions?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_Delete" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Are you sure you want to change the status to None?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "Some transactions in your selection are already Reconciled." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Change" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Are you sure you want to toggle the Reconciled status?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_Toggle" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "%d transactions" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "A_ccount" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Export QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Export CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "Export as PDF..." #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Close" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Edit" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "Copy" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "Paste" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "Paste (today)" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Transacti_on" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Add..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Inherit..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Edit..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Status" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_None" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "_Cleared" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Reconciled" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "Edit _Multiple..." #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Create template..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Delete..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "_Find" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Tools" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "Mark duplicate..." #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "Check internal transfer" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "Auto. assignments" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filter..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Convert to Euros..." #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Add a new transaction" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Add" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Inherit from the active transaction" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Inherit" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Edit the active transaction" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Edit" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "Toggle cleared for selected transaction(s)" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "Toggle reconciled for selected transaction(s)" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Edit multiple transactions" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Create template" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Delete selected transaction(s)" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "Move transaction up" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "Move transaction down" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "(closed)" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "All transactions" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "_Refresh" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Range:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "Toggle show future transaction" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Type:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_Reset" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Open the list filter" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "Euro as _minor" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Bank:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Today:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Future:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Revert unsaved changes to file '%s'?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Revert" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Are you sure you want to anonymise the file?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Proceeding will anonymise any text, \n" "like 'account x', 'payee y', 'memo z', ..." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Anonymise" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Welcome to HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "What do you want to do:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Read HomeBank's _Manual" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "Configure _preferences" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Create a _new file" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Open an existing file" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Open the _example file" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "Open the backup file ?" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "_Open backup" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Unknown error" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "I/O error for file '%s'." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "The file '%s' is not a valid HomeBank file." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "File error" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "The file has been modified since reading it." #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "If you save it, all the external changes could be lost. Save it anyway?" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "S_ave Anyway" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "Clear" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_File" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_New" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Open..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "Open _Recent" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Save" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "Save _As..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "Import..." #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "Export as QIF..." #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Revert" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "Restore backup" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Properties..." #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Quit" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Preferences..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_View" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Toolbar" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_Top spending" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "_Bottom Lists" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro minor" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Manage" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "Acc_ounts..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Payees..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Categories..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Scheduled/Template..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Budget..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "Budget (table view)..." #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Assignments..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Currencies..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "Tags..." #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Transactions" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Add..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Show..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "Show all..." #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Set scheduler..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Post scheduled" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Reports" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Statistics..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Trend Time..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "_Balance..." #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "B_udget..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "_Vehicle cost..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Show Welcome Dialogue..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "File statistics..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Anonymise..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Help" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Contents" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "Get Help Online..." #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "Check for updates..." #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "Release Notes" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Report a Problem..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Translate This Application..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_About" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Create a new file" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Open" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Open a file" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Open a recently used file" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Save the current file" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Configure the accounts" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Configure the payees" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Configure the categories" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Configure the scheduled/template transactions" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Configure the budget" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Configure the automatic assignments" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Shows selected account transactions" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Add transactions" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Open the Statistics report" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Open the Trend Time report" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Open the Balance report" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Open the Budget report" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Open the vehicle cost report" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "Donate to HomeBank project" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "Scheduled" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Future" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "Remind" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(no category)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "invalid CSV format" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Date" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Info" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Payee" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Memo" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Amount" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Balance" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Unknown" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "mi./l" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(no payee)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "%d-w%d" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "%d-q%d" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Output version information and exit" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[FILE]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Browser error." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Could not display the URL '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "HomeBank options" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Unable to open '%s', the file does not exist.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(no institution)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "(no group)" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Your accounts" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Expand all" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Collapse all" #: ../src/hub-account.c:547 msgid "Show all" msgstr "Show all" #: ../src/hub-account.c:552 msgid "By type" msgstr "By type" #: ../src/hub-account.c:553 msgid "By group" msgstr "By group" #: ../src/hub-account.c:554 msgid "By institution" msgstr "By institution" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "No transaction to add" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "transactions added: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Check scheduled transactions result" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Scheduled transactions" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Skip" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Edit & Post" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Post" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "maximum post date" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Top spending" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "Top %d spending" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Other" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Where your money goes" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "imported account" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Grand total" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Accounts" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Bank" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Today" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- split -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "- this needs a category -" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Account" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Status" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Expense" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Income" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Category" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Tags" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Late" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "Still" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Next date" #: ../src/rep-balance.c:76 msgid "List" msgstr "List" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "View results as list" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Line" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "View results as lines" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Refresh" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Refresh results" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Detail" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Toggle detail" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d under %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Balance report" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Display" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "A_ccount:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Select _all" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Each _day" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Zoom X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Date filter" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_From:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_To:" #: ../src/rep-budget.c:787 msgid " over" msgstr " over" #: ../src/rep-budget.c:793 msgid " left" msgstr " left" #: ../src/rep-budget.c:796 msgid " under" msgstr " under" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "Budget for %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Budget" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Result" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "View results as stack bars" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "_Result to clipboard" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "_Result to CSV" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "_Detail to clipboard" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "_Detail to CSV" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Budget report" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_View by:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "Only out of budget" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Result:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Budget:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Spent:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "No account is defined to be part of the budget." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "You should include some accounts from the account dialogue." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Spent" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Subcategory" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Tag" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Month" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Year" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Exp. & Inc." #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s by %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "Too many columns to display" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "Please select a wider interval and / or a narrower date range" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "View results as column" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "View results as doughnut" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Toggle legend" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Toggle rate" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "Edit filter" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Statistics Report" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "Mode:" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "By _amount" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "Inter_val:" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Balance:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Income:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Expense:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "Average" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Day" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Week" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Quarter" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "Half Year" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s Over Time" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "Average: %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Trend Time Report" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Category:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Payee:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Tag:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Cumulate" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "Show empty line" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Time slice" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Metre" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Fuel" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Price" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Dist." #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Export as CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Vehicle cost report" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "Vehi_cle:" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Metre:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Consumption:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Fuel cost:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Other cost:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Total cost:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(none)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Visible" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Cancel" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Account name" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Error" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Cannot add an account '%s',\n" "this name already exists." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "Cannot delete account '%s'" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" "This account contains transactions and/or is part of internal transfers." #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Are you sure you want to permanently delete '%s'?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "If you delete an account, it will be permanently lost." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Manage Accounts" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "Rename" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "Delete" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Drag & drop to change the order\n" "Double-click to rename" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "General" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "_Group:" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "_Institution:" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "N_umber:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Start _balance:" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "_Currency:" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "this account was _closed" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "Notes:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "Behaviour" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "Automation" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "Default _Template:" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Report exclusion" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "exclude from account _summary" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "exclude from the _budget" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "exclude from any _reports" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "Misc." #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Current cheque number" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Chequebook _1:" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Chequebook _2:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "Balance limits" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "_Overdraft at:" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "If you delete a scheduled/template, it will be permanently lost." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Next _date:" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Ever_y:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "More options" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Week end:" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_Stop after:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "posts" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Manage scheduled/template transactions" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "_Schedule" #: ../src/ui-assign.c:303 msgid "Search" msgstr "Search" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "Notes" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "(rule %d)" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "If you delete an assignment, it will be permanently lost." #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "This search text already exists" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "Disabled" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "If empty" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "Overwrite" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Manage Assignments" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "Drag & drop to change the order" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Condition" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "_Search:" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "Case sensitive" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "Regular expression" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "_In:" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "Assignments" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Pay_ment:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "New HomeBank file (%d of %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Not found" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Owner:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "Currency:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "File properties" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "System detection" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Languages:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Preset file:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Initialise my categories with this file" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Preset categories" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "Information" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Name:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Balances" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Initial:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Overdrawn at:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Create an account" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "This is a confirmation page, press \"Apply\" to apply changes" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Confirmation" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "Valid" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Name" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Known files" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF files" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX files" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV files" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "All files" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "new global account" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "new account" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "skipped" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr ", %d of %d transactions" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" "Some date cannot be converted. Please try to change the date order to " "continue." #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "Import %s in_to:" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "this file" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "this account" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "%d transaction(s), %d similar, %d existing, %d selected" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d transaction(s), %d selected" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "Import transactions from bank or credit card" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "Don't show this again" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "Target account identification by name or number failed." #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Date order:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "_Import memos" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "_Swap memos with payees" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "OFX _Name:" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "OFX _Memo:" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "Select:" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "All" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "None" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Invert" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "Sentence _case memo/payee" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "Similar transaction in target account (possible duplicate)" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "Date _gap:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "days" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "Run automation" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "1) Enrich with _payee default" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "2) Run automatic _assigment rules" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "Click \"Apply\" to update your accounts." #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "Welcome" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "Select file(s)" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "Import" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "File format error" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" "The CSV file must contains the exact numbers of columns,\n" "separated by a semi-colon, please see the help for more details." #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "Are you sure you want to clear input?" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "If you proceed, every amount will be set to 0." #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "_Clear" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Manage Budget" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "_Import CSV" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "E_xport CSV" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "is the same each month" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "_Clear input" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "is different per month" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Options" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Force monitoring this category" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "May" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Aug" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "Sept" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Oct" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Dec" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "Summary" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "Totals" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "Annual Total" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "Monthly Average" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "Monthly" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "Add a category" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "_Apply" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "Parent category" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "Category name" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "This category is used.\n" "Any transaction using that category will be set to (no category)." #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "Merge categories" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" "Transactions assigned to category '%s', will be moved to the category " "selected below." #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "Target category" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "_Delete the category '%s'" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "Are you sure you want to clear inputs for '%s'?" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "Budget (table view)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "Add category" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "Remove category" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "Merge" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "Clear input" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "Delete unused categories" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Are you sure you want to permanently\n" "delete unused categories?" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "Edit…" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Income" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "Change type for _child" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "Merge category '%s'" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "Transactions assigned to this category,\n" "will be moved to the category selected below." #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Manage Categories" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "_Delete unused" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "Move/Merge" #: ../src/ui-category.c:2349 msgid "new category" msgstr "new category" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "new subcategory" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Base currency" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Symbol" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "Exchange rate" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "Last modified" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Edit currency" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "Currency" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "Format" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "_Customise" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "_Symbol:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "Is pre_fix" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "_Decimal char:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Frac digits:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "_Grouping char:" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Select base currency" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Select currency" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "ISO Code" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "Add a custom _currency" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "_ISO:" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "Update online error" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "If you delete a currency, it will be permanently lost." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Change the base currency" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Currencies" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "Update online" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "Set as base" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "File statistics" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "Transaction" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "Assignment" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "Upgrade" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "Select a base currency" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "Starting with v5.1, HomeBank can manage several currencies.\n" "If the currency below is not correct, please change it:" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Export as QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Import from CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "Open HomeBank file" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "Open HomeBank backup file" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "Save HomeBank file as" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "HomeBank files" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "File backup" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "All backups" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "Save changes to the file before closing?" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "Close _without saving" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "Export as PDF" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "Export as _PDF" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "Folder:" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "Pick a Folder" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "Filename:" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Select among possible transactions..." #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Select an action:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "create a new transaction" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "select an existing transaction" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Option:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Memo:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Info:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "Case _sensitive" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Any Status" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "Cleared" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "Reconciled" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Any Type" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Transfer" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Force:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "show recently added" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "show recently edited" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "display 'Remind'" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "display 'Void'" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "Dates" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "Payments" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "Amounts" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "Texts" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "Categories" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "Payees" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "_Title:" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Scheduled transaction" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "add until" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "of each month (excluded)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "add" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "days in advance the current date" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Vehicle cost" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "Pay." #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "Delete unused payee" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Are you sure you want to\n" "permanently delete unused payee?" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "Default" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "Pa_yment:" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "Merge payee '%s'" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "_Delete the payee '%s'" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)." #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Manage Payees" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "new payee" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Interface" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "Locale" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Transactions" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Import/Export" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Report" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "Backup" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "Folders" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "System defaults" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Icons only" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Text only" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Text under icons" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Text beside icons" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "Horizontal" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "Vertical" #: ../src/ui-pref.c:109 msgid "Both" msgstr "Both" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango light" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango medium" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango dark" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "m-d-y" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "d-m-y" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "y-m-d" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Ignore" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Append to Info" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Append to Memo" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "Append to Payee" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "Tab" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "Comma" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "Semicolon" #: ../src/ui-pref.c:149 msgid "Space" msgstr "Space" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "System Language" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Choose a default HomeBank files folder" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "Choose a default HomeBank backup files folder" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Choose a default import folder" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Choose a default export folder" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "General options" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "OFX/QFX options" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "QIF options" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "CSV options" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "(transaction import only)" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "Separator:" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Initial filter" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Charts options" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "Colour scheme:" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Statistics options" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Show by _amount" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Show _rate column" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Show _details" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Budget options" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Enable" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Preset:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "User interface" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Language:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "_Date display:" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "_Format:" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Fiscal year" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "Starts _on:" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Measurement units" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Use _miles for metres" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "Use _gallon for fuel" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Transaction window" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "_Show future:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "days ahead" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "Hide reconciled" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "Always show remind" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "Always show void" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "Include remind into balance" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "Show confirmation text" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Multiple add" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Keep the last date" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "Memo autocomplete" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "Active" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "rolling days" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Toolbar:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "_Grid line:" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Amount colours" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Uses custom colours" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Expense:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Income:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Warning:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "_Enable automatic backups" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "_Number of backups to keep:" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "Backup frequency is once a day" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "_Wallets:" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "_Backups:" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "Exchange files" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Import:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Export:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Program start" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Show splash screen" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Load last opened file" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Post pending scheduled transactions" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "Update currencies online" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Main window reports" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "Reset All Preferences" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" "Do you really want to reset\n" "all preferences to default\n" "values?" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Preferences" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "You will have to restart HomeBank\n" "for the language change to take effect." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "Warning: sum of splits and transaction type don't match" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "Transaction splits" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "Delete all" #: ../src/ui-split.c:851 msgid "Apply" msgstr "Apply" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "Cancel" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Transaction amount:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Unassigned:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Sum of splits:" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "Manage Tags" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "new tag" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "Transaction of %s created." #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "_Break" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "Show _scheduled" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "Show _all accounts" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "Use a template" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "Add & _Keep" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "_Add" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "_Post" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Add transaction" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "Add template" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Inherit transaction" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "Inherit template" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "Edit transaction" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "Edit template" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Date:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "Amou_nt:" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "T_o:" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "Book _2" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" "- type some letter for autocompletion\n" "- type new text to create entry" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "Cate_gory:" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "M_emo:" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "_Tags:" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "Warning: amount and category sign don't match" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "Edit multiple transactions" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" "Type as\n" "transfer" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "Template" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "Time" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "Trend" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "Off" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Include" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Exclude" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(no type)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Cash" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Asset" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Credit card" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Liability" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "This month" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "Last month" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "This quarter" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "Last quarter" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "This year" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "Last year" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Last 30 days" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Last 60 days" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Last 90 days" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Last 12 months" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "custom" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Entire range" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "Void" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Possible" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Before" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "After" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "Uncleared" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Unreconciled" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Uncategorised" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "Mon" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "Tue" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "Wed" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "Thu" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "Fri" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "Sat" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "Sun" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "January" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "February" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "March" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "April" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "June" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "July" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "August" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "September" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "October" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "November" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "December" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "Search..." #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Cheque" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "Bank Transfer" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Debit card" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Standing order" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Electronic payment" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Deposit" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "FI fee" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Direct Debit" homebank-5.3.2/po/fi.po0000644000175000017500000023265313620025340011610 00000000000000# Finnish translation for homebank # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2013-10-05 16:24+0000\n" "Last-Translator: Jiri Grönroos \n" "Language-Team: Finnish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:53+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "Kotipankki" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Haluatko poistaa jokaisen\n" "valitun tapahtuman?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "" #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Vie CSV-tiedostoon..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Sulje" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Muokkaa" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Tapaht_uma" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Lisää..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "Per_i..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Muokkaa..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Täsmäytetty" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Luo malli..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "T_yökalut" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Suodatin..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Lisää uusi tapahtuma" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Lisää" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Peri valitusta tapahtumasta" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Perivät" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Muokkaa valittua tapahtumaa" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Muokkaa" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Rajaus:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Tyyppi:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Tila:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Avaa luettelosuodatin" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Pankki:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Tänään:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Tulevaisuudessa:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Tervetuloa Kotipankkiin" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Valitse toiminto:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "_Lue Kotipankin ohje" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Luo _uusi tiedosto" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Avaa olemassa oleva tiedosto" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Avaa _esimerkkitiedosto" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "I/O-virhe tiedoston '%s' kohdalla." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Tiedosto '%s' ei ole kelvollinen Kotipankki-tiedosto." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "Tiedosto \"%s\" tallennettiin uudemmalla Kotipankin versiolla,\n" "eikä kyseistä tiedostoa voi avata nykyisellä versiolla." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Tiedostovirhe" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Tiedosto" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Uusi" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Avaa..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Tallenna" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Palauta" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Poistu" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Asetukset..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Näytä" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Työkalurivi" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_Suurin kulu" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro-sivuutus" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "H_allinta" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "Ti_lit..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "Maksun_saajat..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Luokat..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Talousarvio..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Maksumääräykset..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "Ta_pahtumat" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Lisää..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Näytä..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Aseta ajastin..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Raportit" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "Tila_stot..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Kehitys..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "Talo_usarvio..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Näytä Tervetuloa-ikkuna..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Anonymoi..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "O_hje" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Sisältö" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Raportoi ongelmasta..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Käännä tämä ohjelma..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "Tietoj_a" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Luo uusi tiedosto" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Avaa tiedosto" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Avaa äskettäin käytetty tiedosto" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Tallenna nykyinen tiedosto" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Muuta tilien asetuksia" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Muuta maksunsaajia" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Muuta luokkia" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Muuta talousarvion asetuksia" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Aseta automaattiset maksumääräykset" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Näyttää valitut tilitapahtumat" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Avaa tilastoraportti" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Avaa kehitysraportti" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Avaa saldoraportti" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Avaa talousarvioraportti" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Avaa ajoneuvon kuluraportti" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Tulevaisuudessa" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(ei luokkaa)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Päiväys" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Tietoja" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Saaja" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Summa" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Saldo" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Tuntematon" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(ei saajaa)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Näytä versiotiedot ja poistu" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[TIEDOSTO]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Verkko-osoitetta \"%s\" ei voitu näyttää" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Kotipankki-valinnat" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Tiedostoa \"%s\" ei voi avata, sitä ei ole olemassa.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "tapahtuma lisätty: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Yhteensä" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Loppusumma" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Tilit" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Pankki" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Tänään" #: ../src/list-operation.c:548 msgid "- split -" msgstr "" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Tili" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Tila" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Meno" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Tulo" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Luokka" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Merkinnät" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "" #: ../src/rep-balance.c:76 msgid "List" msgstr "Luettelo" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Näytä tulokset luettelona" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Viivat" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Näytä tulokset viivoina" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Päivitä" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Päivitä tulokset" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Tiedot" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Vaihda tietojen näkyminen" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d alle %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Saldoraportti" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "T_ili" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Valitse k_aikki" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Jo_ka päivä" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_X-skaalaus:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Alkaen:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Saakka:" #: ../src/rep-budget.c:787 msgid " over" msgstr "" #: ../src/rep-budget.c:793 msgid " left" msgstr "" #: ../src/rep-budget.c:796 msgid " under" msgstr "" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Talousarvio" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Tulos" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Talousarvioraportti" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Näkymä:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Talousarvio:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Kulutus:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Budjetin osalliseksi ei ole määritelty mitään tilejä." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "Sisällytä tilejä tili-ikkunasta." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Kulutus" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Alaluokka" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Merkintä" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Kuukausi" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Vuosi" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Menot & tulot" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Vaihda selitteen näkyminen" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Muuta kurssia" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Tilastoraportti" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "_Määrän mukaan" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Saldo:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Tulot:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Menot:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Päivä" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Viikko" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Neljännes" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Kehitysraportti" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Luokka:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "Mak_sun saaja:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Avainsana:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "K_umulatiivinen" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Aikaväli" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Mittari" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Polttoaine" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Hinta" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Matka" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Vie CSV-tiedostoksi" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Ajoneuvon kuluraportti" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "_Ajoneuvo:" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Mittari:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Kulutus:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Polttoainekulut:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Muut kulut:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Kulut yhteensä:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(ei mitään)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Näkyvä" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Tilin nimi" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Virhe" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Tiliä '%s' ei voi lisätä,\n" "kyseinen nimi on jo olemassa." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Tilin nimeä \"%s\" ei\n" "voi vaihtaa nimeksi \"%s\",\n" "nimi on jo käytössä." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Hallitse tilejä" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Yleiset" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "Nu_mero:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "täm_ä tili suljettiin" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "älä sisällytä tili_yhteenvetoon" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "älä sisällytä _budjettiin" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "älä sisällytä _mihinkään raporttiin" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Šekkivihko _1:" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Šekkivihko _2:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "_Joka:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Maksumääräysten hallinta" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "_Maksu:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Uusi Kotipankki-tiedosto (%d/%d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Ei löytynyt" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Omistaja:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Tiedoston ominaisuudet" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Kielet:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Esiasetustiedosto:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Esiasetusluokat" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Nimi:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "Alk_upääoma:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Tilinylitys:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Luo tili" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Tämä on vahvistussivu. Napsauta Toteuta-painiketta vahvistaaksesi asetukset" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Vahvistus" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Tunnetut tiedostot" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF-tiedostot" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX-tiedostot" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV-tiedostot" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Kaikki tiedostot" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Päiväysjärjestys:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Kaikki" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Ei mitään" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Käännä" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "päivää" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Vertailu tehdään järjestyksessä: tili, summa ja päiväys.\n" "Päivätoleranssi 0 tarkoittaa täsmällistä osumaa" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Tiedostomuodon virhe" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Hallitse budjettia" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Pakota tämän luokan seuranta" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Tammi" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Helmi" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Maalis" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Huhti" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Toukokuu" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Kesä" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Heinä" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Elo" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Loka" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Marras" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Joulu" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Tulot" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Luokan nimeä \"%s\" ei\n" "voi vaihtaa nimeksi \"%s\",\n" "nimi on jo käytössä." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Hallitse luokkia" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Desimaalit" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Vie QIF-tiedostoksi" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Tuo CSV-tiedostosta" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "Kotipankki-tiedostot" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "luo uusi tapahtuma" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "valitse olemassa oleva tapahtuma" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Vaihtoehto:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Tiedot:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "_Huomioi kirjainkoko" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Mikä tahansa tila" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Mikä tahansa tyyppi" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Tilisiirto" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Pakota:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "näytä 'Lisätty'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "näytä 'Muutettu'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "lisää" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Maksun saajan nimeä \"%s\" ei\n" "voi vaihtaa nimeksi \"%s\",\n" "nimi on jo käytössä." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Hallitse maksun saajia" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Käyttöliittymä" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Tapahtumat" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Tuonti ja vienti" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Raportti" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Järjestelmän oletukset" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Vain kuvakkeet" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Vain teksti" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Teksti kuvakkeiden alapuolella" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Teksti kuvakkeiden vierellä" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango, vaalea" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango, keskisävyinen" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango, tumma" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Hylkää" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Näytä summ_an mukaan" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Näytä _korkosarake" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Näytä yksityiskoh_dat" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Käytä" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "Esi_asetettu:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Työkalupalkki:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Käytä omia värejä" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "M_eno:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Tulo:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Varoitus:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Tuo:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "Vi_e:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Näytä aloitusruutu" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Lataa viimeksi avattu tiedosto" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Asetukset" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Tapahtuman summa:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Lisää tapahtuma" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Peri tapahtuma" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Päiväys:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Sisällytä" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Älä sisällytä" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(ei tyyppiä)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Käteinen" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Varat" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Luottokortti" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Velat" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Viimeiset 30 päivää" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Viimeiset 60 päivää" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Viimeiset 90 päivää" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Viimeiset 12 kuukautta" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Kaikki päiväykset" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Luokittelematon" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Tammikuu" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Helmikuu" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Maaliskuu" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Huhtikuu" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Kesäkuu" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Heinäkuu" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Elokuu" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Syyskuu" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Lokakuu" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Marraskuu" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Joulukuu" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Syys" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Šekki" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Pankkikortti" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Suoramaksu" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Verkkomaksu" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Talletus" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "Rahoituslaitoskulu" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "" homebank-5.3.2/po/nds.po0000644000175000017500000023043513620025327011777 00000000000000# German, Low translation for homebank # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2017-10-07 19:46+0000\n" "Last-Translator: Oscar Gonzalez \n" "Language-Team: German, Low \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Persönliche Finanzen" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "" "Frei, sehr einfach zu bedienen, persönliche Buchhaltung für jedermann" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Keine Transaktion verändert" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "Möchten Sie die ausgewählten Transaktionen wirklich löschen?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "" #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "CSV exportieren..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "S_chließen" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Bearbeiten" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Transakti_on" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Hinzufügen …" #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "Über_nehmen..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Bearbeiten..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "" #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Werkzeuge" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filter..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Neue Transaktion hinzufügen" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Hinzufügen" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Von der aktiven Transaktion übernehmen" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Übernehmen" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Aktive Transaktion bearbeiten" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Bearbeiten" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Auswahl:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Typ" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Öffne Filter-Einstellungen" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Bank:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Heute:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Zukünftig:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Wilkoumen bi HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Wat wullt je doon:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "De _Bispeeldatei opmaken" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Dateifehler" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Datei" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Neu" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Öffnen..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Speichern" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Umkehren" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Beenden" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Einstellungen..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Ansicht" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "Werkzeugleis_te" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Verwalten" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "_Konten..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Empfänger..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Kate_gorien..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Budget..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Zuordnungen..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Transaktionen" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Hinzufügen..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Anzeigen..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "Be_richte" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "Stat_istiken..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "" #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "B_udget..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "" #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Hilfe" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "Inha_lt..." #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Probleme berichten..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Diese Anwendung übersetzen..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_Über" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Eine Datei öffnen" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Eine vor kurzem genutzte Datei öffnen" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Konten bearbeiten" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Empfänger bearbeiten" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Kategorien bearbeiten" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Budget bearbeiten" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Automatische Zuordnungen einstellen" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Zeigt die Transaktionen des ausgewählten Kontos an" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Statistische Auswertung öffnen" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Budget-Auswertung öffnen" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Zukünftig" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Datum" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Info" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Empfänger" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Betrag" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Ausgleich" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Versionsinformationen ausgeben und beenden" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[DATEI]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Die URL '%s' konnte nicht angezeigt werden" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "HomeBank-Optionen" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "" "Die Datei '%s' konnte nicht geöffnet werden, weil sie nicht existiert.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Gesamt" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Institut" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Heute" #: ../src/list-operation.c:548 msgid "- split -" msgstr "" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Konto" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Ausgaben" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Erträge" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Kategorie" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Tags" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "" #: ../src/rep-balance.c:76 msgid "List" msgstr "Liste" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Ergebnisse als Liste anzeigen" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Linie" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Ergebnisse als Linien anzeigen" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Aktualisieren" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Ergebnisse aktualisieren" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Detail" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Details anzeigen" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d unter %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "A_ccount:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "_Alles auswählen" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Von:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "A_n:" #: ../src/rep-budget.c:787 msgid " over" msgstr "" #: ../src/rep-budget.c:793 msgid " left" msgstr "" #: ../src/rep-budget.c:796 msgid " under" msgstr "" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Budget" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Ergebnis" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Budget-Auswertung" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Opwiesen nah:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Budget:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Ausgegeben:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Ausgaben" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Unterkategorie" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Kennzeichen" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Monat" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Jahr" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Ausgaben & Einnahmen" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Legende anzeigen" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Wachstum anzeigen" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Statistische Auswertung" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Nach Betr_ag sortieren" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Saldo:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Einnahmen:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Ausgaben:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Tag" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Woche" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Veertel" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Kategorie:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Empfänger:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Markierung:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Meter" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Treibstoff" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Preis" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Distanz" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Als CSV exportieren" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Meter:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Verbrauch:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Treibstoffkosten:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Andere Kosten:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Gesamtkosten:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(keine)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Sichtbar" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Fehler" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Kann dieses Konto nicht \n" "von '%s' nach '%s' umbenennen,\n" "da dieser Name bereits existiert." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Konten verwalten" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Algemein" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "N_ummer:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "_Jeden:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Zuordnungen verwalten" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Be_zahlung:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Nich funnen" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Besitzer:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Spraken:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Name:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Bei Erstellung:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "Ü_berzogen ab:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Togang erstellen" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Bestätigung" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF-Dateien" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX Dateien" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV-Dateien" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Alle Dateien" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Alles" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Kein" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Negativ" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "Tag(e)" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Die Zusammenfügung geschieht in folgender Reihenfolge: Konto, Summe und " "Datum.\n" "Eine Datumstoleranz von 0 Tagen bedeutet eine exakte Übereinstimmung." #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Fehler des Dateiformates" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Budget verwalten" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mär" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Mai" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Aug" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Okt" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Dez" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "E_inkommen" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Die Kategorie konnte nicht\n" "von '%s' nach '%s' umbenannt werden.\n" "Der Name existiert bereits." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Kategorien verwalten" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Nachkommastellen:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Nach QIF exportieren" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Aus CSV importieren" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "HomeBank-Dateien" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Option:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Info:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "_Groß-/Kleinschreibung berücksichtigen" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Übertragen" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Erzwinge:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "'Hinzugefügt' anzeigen" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "'Bearbeitet' anzeigen" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Der Empfänger konnte nicht\n" "von '%s' nach '%s' umbenannt werden.\n" "Der Name existiert bereits." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Empfängerverwaltung" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Schnittstelle" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "" #: ../src/ui-pref.c:89 msgid "Report" msgstr "" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "System-Standard" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Nur Symbole" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Nur Text" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Text unter Symbolen" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Text neben Symbolen" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango hell" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango mittel" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango dunkel" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Nich dröver nahdenken" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Nach _Betrag anzeigen" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "_Raten-Spalte anzeigen" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "_Details anzeigen" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Aktiveren" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "V_orlage:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Symbolleiste:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Verwendet persönliche Farben" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Ausgaben:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Einnahmen:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Warnungen:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Importieren:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "Exportieren:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Zuletzt benutzte Datei öffnen" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Einstellungen" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Transaktion hinzufügen" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Transaktion übernehmen" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Datum:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Einbeziehen" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Ausschließen" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Bargeld" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Aktiva" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Kreditkarte" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Passiva" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Letzten 30 Tage" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Letzten 12 Monate" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Jedes Datum" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Januar" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Februar" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "März" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "April" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Juni" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Juli" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "August" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "September" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Oktober" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "November" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Dezember" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Überprüfen" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Einzugsermächtigungs-Karte" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Dauerauftrag" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Elektronische Bezahlung" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Anzahlung" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "FI Abgabe" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "" homebank-5.3.2/po/es.po0000644000175000017500000026620713620025277011634 00000000000000# GTK+ HomeBank # Copyright (C) 1995-2006 Free Software Fundation # This file is distributed under the same license as the HomeBank package. # Alberto Caso , 2006. # msgid "" msgstr "" "Project-Id-Version: HomeBank 3.2 alpha2\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2019-12-18 21:37+0000\n" "Last-Translator: Miguel Beltran \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Finanzas personales" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Libre, fácil de utilizar, contabilidad personal para todo el mundo." #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "finanzas;contabilidad;presupuesto;personal;dinero;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "HomeBank es un software libre que le ayudará a gestionar su contabilidad " "personal." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "Está diseñado para ser fácil de utilizar y ser capaz de analizar sus " "finanzas personales en detalle utilizando potentes herramientas de filtrado " "y gráficos muy intuitivos." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Si está usted buscando una manera totalmente fácil y gratis de gestionar su " "contabilidad personal, entonces HomeBank es su software, su mejor elección." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "Hay %d grupos de transacciones similares" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "No se ha encontrado transacción similar !" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "Compruebe el resultado de la transferencia interna" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "No se ha encontrado ninguna inconsistencia." #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "Fueron encontradas inconsistencias: %d\n" "¿quiere revisar y corregir?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Cada cantidad de transacción será dividida por %.6f." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "¿Seguro que quieres convertir esta cuenta\n" "a Euros como moneda principal?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Convertir" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Ninguna transacción modificada" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "transacción cambiada: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "Resultado de asignación automática" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "¿Desea crear una plantilla con cada una\n" "de las transacciones seleccionadas?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "_Crear" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "¿Quiere eliminar cada una\n" "de las transacciones seleccionadas?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_Eliminar" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Está seguro que desea cambiar el estado a None?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "Alguna transacción de su selección ya está conciliada." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Cambiar" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "¿Está usted seguro de cambiar el estado Conciliado" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_Cambiar" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "%d transacciones" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d transacciones, %d seleccionado, promedio: %s, suma: %s (%s -%s)" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "_Cuenta" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Exportar QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Exportar CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "Exportar como PDF..." #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Cerrar" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Editar" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "Copiar" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "Pegar" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "Pegar (hoy)" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "_Transacción" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Añadir…" #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Hereda..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Edición..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Estado" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Ninguno" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "_Liquidado" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Conciliado" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "Edición _múltiple..." #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Crear plantilla..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Eliminar…" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "_Encontrar" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "Herramientas" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "Marcar duplicados ..." #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "Comprobar transferencia interna" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "Autoasignaciones" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filtro..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Convertir a Euro..." #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Añade una transacción nueva" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Añadir" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Hereda desde la transacción activa" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Heredar" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Edita la transacción activa" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Editar" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "Cambia a liquidado para transacciones seleccionadas" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "Cambiar a conciliadas las transacciones seleccionadas" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Edita múltiples transacciones" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Crear plantilla" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Elimina transacción(es) seleccionada(s)" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "Mover transacción arriba" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "Mover transacción abajo" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "(cerrado)" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "Todas las transacciones" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "_Actualizar" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Intervalo:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "Alternar mostrar transacción futura" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Tipo:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Estado:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_Reiniciar" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Abrir la lista de filtros" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "Céntimo de Euro" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Banco:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Hoy:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Futuro:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Revertir los cambios no guardados en el archivo '%s'?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "-Los cambios realizados en el archivo se perderán definitivamente.\n" "-el archivo se cargará a partir del último guardado" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Revertir" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "¿Está seguro de querer anonimizar el archivo?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Procediendo a cifrar cualquier texto,\n" " como 'cuenta x', 'beneficiario y', 'memo z'," #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Anonimizar" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Bienvenido a HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Qué quiere hacer:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Lea el _manual de HomeBank" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "Configurar _preferencias" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Crear un archivo _nuevo" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Abrir un archivo existente" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Abrir el fichero de _ejemplo" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" "Está a únto de abrir el archivo de respaldo '%s'\n" "¿Está seguro que quiere hacer esto?" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "¿Abrir fichero de copia de seguridad?" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "Abrir respaldo" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Error desconocido" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "Error de E/S para el archivo «%s»." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "El archivo «%s» no es un archivo válido de HomeBank" #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "El archivo «%s» fue guardado con una versión superior de \n" "HomeBank y no puede cargarse con la versión nueva." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Error de archivo" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "El archivo ha sido modificado desde que lo leyó." #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Si lo guarda, todos los cambios externos pueden perderse. ¿Guardarlo de " "todos modos?" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "_Guardar de todos modos" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "Borrar" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Archivo" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Nuevo" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Abrir..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "Abrir _recientes" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Guardar" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "Guardar _como…" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "Importar..." #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "Exportar como QIF ..." #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Deshacer" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "Restaurar copia de seguridad" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Propiedades..." #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Salir" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Preferencias..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Vista" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Barra de herramientas" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "Gasto _total" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "_Listas de transacciones" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro menor" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Gestionar" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "_Cuentas..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Beneficiarios..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Ca_tegorías..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Programación/Plantillas..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Presupuesto..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "Presupuesto (vista de tabla)..." #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Asignaciones..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Monedas..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "Etiquetas..." #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Transacciones" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Añadir..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Mostrar..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "Mostrar todo ..." #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Propiedades del Archivo" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Añadir transacciones programadas" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Informes" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Estadísticas..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Tendencia Temporal..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "_Balance..." #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "_Presupuesto..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "Coste del _vehículo..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Mostrar pantalla de bienvenida..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Estadísticas de archivo" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Anónimo..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "A_yuda" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Contenidos..." #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "Obtener Ayuda Online..." #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "Buscar actualizaciones" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "Notas de Lanzamiento" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Informar de un problema…" #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Traducir esta aplicación…" #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_Acerca de" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Crear un archivo nuevo" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Abrir" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Abrir un archivo" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Abrir un archivo usado recientemente" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Guardar el fichero actual" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Editar las cuentas" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Configurar los beneficiarios" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Configurar las categorías" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Configura la programación y plantillas de transacciones" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Configurar el presupuesto" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Configurar las asignaciones automáticas" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Mostrar las transacciones de la cuenta seleccionada" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Añadir transacciones" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Abrir informe de Estadísticas" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Abrir informe de Tendencia Temporal" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Abrir informe de Balance" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Abrir el informe de presupuesto" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Abrir el informe del coste del vehículo" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "Donar al proyecto" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "Programadas" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Futuro" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "Recordar" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(sin categoría)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "formato CSV no válido" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Fecha" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Info" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Beneficiario" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Memo" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Importe" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Balance" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Desconocido" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "Kilómetros por cada litro" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "Millas por cada litro" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(ningún beneficiario)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "%d-S%d" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "%d-T%d" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Muestra la información de la versión y sale" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[ARCHIVO]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Error de explorador." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "No se puede desplegar el URL '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Opciones de HomeBank" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Imposible abrir «%s». El archivo no existe.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "Sin institución" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "(sin grupo)" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Sus cuentas" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Expandir todo" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Contraer todo" #: ../src/hub-account.c:547 msgid "Show all" msgstr "Mostrar todo" #: ../src/hub-account.c:552 msgid "By type" msgstr "Por Tipo" #: ../src/hub-account.c:553 msgid "By group" msgstr "Por grupo" #: ../src/hub-account.c:554 msgid "By institution" msgstr "Por institución" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Ninguna transacción para añadir" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "transacción añadida: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Comprobar resultado de transacciones previstas" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Transacciones programadas" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Saltar" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Editar y Asentar" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Asentar" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "Fecha maxima de asiento" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Gasto total" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "Los %d gastos más grandes" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Otro" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Destino de tu dinero" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "cuenta importada" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Total General" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Cuentas" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Banco" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Hoy" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- división -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "- esto necesita una categoría -" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Cuenta" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Estado" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Gasto" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Ingreso" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Categoría" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Etiquetas" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Atrasado" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "Pendientes" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Siguiente dia" #: ../src/rep-balance.c:76 msgid "List" msgstr "Lista" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Ver resultados como lista" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Linea" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Ver resultados como líneas" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Actualizar" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Actualizar resultados" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Detalle" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Mostrar _detalles" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d bajo %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Informe de Balance" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Mostrar" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "_Cuenta:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Seleccionar _todo" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Por _día" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Ampliar X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Filtro de fechas" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Desde:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Hasta:" #: ../src/rep-budget.c:787 msgid " over" msgstr " sobre" #: ../src/rep-budget.c:793 msgid " left" msgstr " queda" #: ../src/rep-budget.c:796 msgid " under" msgstr " bajo" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "Presupuesto para %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Presupuesto" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Resultado" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "Ver los resultados como gráfico de barras apiladas" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "Resultado al portapapeles" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "Resultado a CSV" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "Detalle al portapapeles" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "Detalle a CSV" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Informe de presupuesto" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Ver por:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "Sólo fuera de presupuesto" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Resultado:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Presupuesto:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Real:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Ninguna cuenta está definida para ser parte del presupuesto" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "Debe incluir algunas cuentas desde el diálogo de la cuenta." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Real" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Subcategoría" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Etiqueta" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Mes" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Año" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Gasto e Ingreso" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s por %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "Demasiadas columnas para mostrar" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" "Por favor seleccione un intervalo más ancho y/o un rango de fechas más corto" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "Ver resultados en columnas" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "Ver resultados en gráfico circular" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Cambiar leyenda" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Mostrar tasa" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "Editar filtro" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Informe estadístico" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "Modo:" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Por _importe" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "Inter_valo:" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Balance:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Ingresos:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Gastos:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "Promedio" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Día" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Semana" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Trimestre" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "Medio Año" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s Vencidas" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "Promedio: %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Informe de Tendencia Temporal" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Categoría:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Beneficiario:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Etiqueta" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Acumulado" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "Mostrar línea vacía" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Fracción de tiempo" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Contador" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Carburante" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Precio" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Dist." #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Exporta como CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Informe de Coste del vehículo" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "Vehí_culo" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Contador:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Consumo:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Coste del carburante:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Otros costes:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Coste total:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(ninguno)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Visible" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Cancelar" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_Aceptar" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Nombre de cuenta" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Error" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "No se puede agregar la cuenta '%s',\n" "ya existe ese nombre." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "No se puede eliminar la cuenta '%s'" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" "Esta cuenta contiene operaciones y/o es parte de transferencias internas" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "¿Está seguro de querer eliminar definitivamente '%s'?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "Si elimina una cuenta, no se podrá recuperar." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "No se puede renombrar la cuenta\n" "«%s» como «%s» porque ya existe\n" "otra cuenta con ese nombre." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Gestionar cuentas" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "Renombrar" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "Eliminar" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Arrastre y suelte para cambiar el orden\n" "Doble-click para renombrar" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "General" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "_Grupo:" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "_Institución:" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "N_úmero" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Saldo _inicial:" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "_Moneda:" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "esta cuenta fue _cerrada" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "Observaciones:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "Comportamiento" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "Automatizar" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "_Plantilla por defecto" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Excluir de los informes" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "excluir cuenta de resultados" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "excluir del _presupuesto" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "excluir de cualquier info_rme" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "Misc." #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Numero actual de cheque" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Chequera _1:" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Chequera _2:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "Límites del Balance" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "_Descubierto en cuenta" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "Si eliminar una programada/plantilla, no se podrá recuperar." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Próximo _día:" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Ca_da:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "Más opciones" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Final de semana" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_Detenerse despues de" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "entradas" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Gestionar transacciones programadas/plantillas" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "_Planificar" #: ../src/ui-assign.c:303 msgid "Search" msgstr "Buscar" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "Notas" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "(regla %d)" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "Si eliminar una asignación, se perderá definitivamente." #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "Este texto de búsqueda ya existe" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "Desactivado" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "Si se vacía" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "Sobrescribir" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Administrar Asignaciones" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "Arrastra y suelta para cambiar el orden" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Condicion" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "_Buscar:" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "Distingue mayúsculas de minúsculas" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "Expresión regular" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "_In:" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "Asignaciones" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "_Pago:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Archivo HomeBank nuevo (%d de %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "No se ha encontrado" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Propietario:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "Moneda:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Propiedades del archivo" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "Deteccion de sistema" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Idiomas:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Archivo predeterminado:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Inicializar mis categorías con este archivo" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Categorías predeterminadas" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "Información" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Nombre:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Balances" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Inicial:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "Números _rojos en:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Crear una cuenta" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Esta es una página de confirmación, presione 'Aplicar' para aplicar los " "cambios" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Confirmación" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "Válido" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Nombre" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Archivos conocidos" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "Archivos QIF" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "Archivos OFX/QFX" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "Archivos CSV" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Todos los archivos" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "nueva cuenta global" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "nueva cuenta" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "omitido" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr ", %d de %d transacciones" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" "Alguna fecha no puede ser convertida. Intente cambiar el formato de fecha " "para continuar." #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "Importar %s en:" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "este fichero" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "esta cuenta" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" "Nombre: %s\n" "Número: %s\n" "Fichero: %s\n" "Codificación: %s" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "%d transacciones, %d similares, %d existen, %d seleccionadas" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d transacciones, %d seleccionadas" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "Importar transacciones desde banco o tarjeta de crédito" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" "Con este asistente se le indicará la forma de importar uno o varios\n" " movimientos descargados desde su banco o trajeta de cŕedito, en los " "siguientes formatos:" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" "Recomendado: .OFX o .QFX\n" "(Reconocido como Money™ or Quicken™)\n" "Soportado: .QIF\n" "(fichero Quicken™ común)\n" "Sólo usuarios avanzados: .CSV\n" "(formato específico de HomeBank, vea la documentación)" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" "No se realizarán cambios hasta que haga clic en \"Aplicar\" al final de este " "asistente." #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "No mostrar esto otra vez" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" "Arrastre y suelte uno o varios archivos para importar.\n" "También puede usar los botones añadir/eliminar de la lista." #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" "Hay demasiadas cuentas en los ficheros seleccionados,\n" "vuelva atrás y seleccione menos ficheros." #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "Falló la identificación por nombre o número de la cuenta destino." #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Orden de fecha" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "_Importar campos memos" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "_Intercambiar campo memo por campo beneficiario" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "_Nombre OFX" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "_Memo OFX" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "Seleccionar:" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Todos" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Ninguno" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Invertir" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "_Convertir a mayúsculas campos memo/beneficiario" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "Transacción similar en cuenta destino (posiblemente duplicada)" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "Intervalo de _fechas:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "días" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "La concordancia se realiza en el siguiente orden: cuenta, importe, fecha.\n" "Una tolerancia de fecha de 0 días implica una concordancia exacta." #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "Ejecutar de forma automática:" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "1) Rellenar con beneficiario por defecto" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "2) Ejecutar reglas de asignación automáticas" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "Pulsa \"Aplicar\" para actualizar las cuentas." #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "Bienvenido/a" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "Seleccione fichero(s)" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "Importar" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Error en el formato del archivo" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" "El fichero CSV debe contener el número exacto de columnas,\n" "separadas por un punto y coma, por favor vea la ayuda para más detalles." #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "¿Está usted seguro de borrar la entrada?" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "Si continua, cada cantidad será reiniciada a 0." #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "_Limpiar" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Gestionar presupuesto" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "Importar CSV" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "_Exportar CSV" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "es lo mismo cada mes" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "_Borrar entrada" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "es lo mismo cada mes" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Opciones" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Forzar el monitoreo de esta categoría" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Ene" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Abr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Mayo" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Ago" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "Sept." #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Oct" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Dic" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "Resumen" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "Totales" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "Total anual" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "Promedio mensual" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "Mensual" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "Añadir una categoría" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "_Aplicar" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "Categoría padre" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "Nombre de la categoría" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Esta categoría está siendo utilizada.\n" "Toda operación que utilice esta categoría será modificada como (sin " "categoría)" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "Combinar categorías" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" "Las transacciones asignadas a la categoría '% s' se moverán a la categoría " "seleccionada a continuación." #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "Categoría destino" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "_Eliminar la categoría '%s'" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "¿Seguro que desea borrar las entradas para '% s'?" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "Presupuesto (vista de tabla)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "Añadir categoría" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "Eliminar categoría" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "Fusionar" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "Borrar entrada" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "Elimina categorías no utilizadas" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "¿Está seguro que quiere eliminar\n" "permanentemente las categorías\n" "no empleadas?" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "Editar…" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Ingreso" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "Cambiar tipo de categorías hijas" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "No se puede renombrar esta categoría\n" "de «%s» a «%s» porque\n" "ese nombre ya existe." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "Fusionar categorías '%s'" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "Las transacciones asignadas a esta categoría,\n" "serán desplazadas a la categoría seleccionada más abajo" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Gestionar categorías" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "_Eliminar no utilizadas" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "Mover/Combinar" #: ../src/ui-category.c:2349 msgid "new category" msgstr "nueva categoría" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "nueva subcategoría" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Moneda básica" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Símbolo" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "Tipo de cambio" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "Última modificación" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Editar moneda" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "Moneda" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "Formato" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "_Personalizar" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "_Símbolo:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "Es _prefijo" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "Separador _decimal:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Número de decimales:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "Separador de millares:" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Selecciona la moneda principal" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Seleccionar moneda" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "Código ISO" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "Añadir una divisa personalizada" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "_ISO:" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "Actualizar error de conexión" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "Si elimina una moneda, faltará para siempre." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Cambia la moneda base" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" "Si lo hace, los tipos de otras monedas serán\n" "establecidos a cero, no olvide la actualización." #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Monedas" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "Actualizar por conexión" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "Establecer como base" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Estadísticas de archivo" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "Transacción" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "Asignación" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "Renovar" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "Seleccione una moneda base" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "Empezando en la v5.1, HomeBank puede gestionar varias monedas\n" "si la moneda debajo no es correcta, por favor, cámbiela." #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Exporta como QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Importar desde CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "Abre el fichero HomeBank" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "Abrir copia de seguridad de HomeBank" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "Guarda HomeBank como" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "Archivos HomeBank" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "Copia de seguridad" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "Todas las copias de seguridad" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "¿Guardar cambios en el archivo antes de cerrar?" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Si no lo guarda, los cambios se perderán definitivamente.\n" "Número de cambios: %d" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "Cerrar _sin guardar" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "Exportar como PDF" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "Exportar como _PDF" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "Carpeta:" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "Elige una carpeta" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "Nombre del archivo:" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Selecionar entre las transacciones posibles..." #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Seleccionar una acción:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "Crear una nueva transacción" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "seleccione una transacción existente" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "HomeBank ha encontrado alguna transacción que puede estar asociada a la " "transferencia interna." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Opción:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Memo:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Info:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "_Sensible a mayúsculas" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Cualquier estado" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "Limpiado" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "Conciliado" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Cualquier tipo" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Transferencia" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Forzar:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "mostrar 'Añadido'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "mostrar 'Editado'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "mostrar 'Recordatorio'" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "mostrar \"vacío\"" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "Fechas" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "Pagos" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "Importes" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "Textos" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "Categorías" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "Beneficiarios" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "_Título:" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Transacción programada" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "añadir hasta" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "de cada mes (excluído)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "agregar" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "días en progreso de fecha actual" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Coste del vehículo" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "Pago." #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "Elimina el portador no utilizado" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "¿Seguro que desea eliminar\n" "permanentemente el portador no empleado?" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "Predeterminado" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "Tipo de _pago" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "No se puede renombrar este beneficiario\n" "de «%s» a «%s» porque\n" "ese nombre ya existe." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "Unir beneficiarios '%s'" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Las transacciones asociadas a este beneficiario,\n" "serán desplazadas al beneficiario seleccionado más abajo." #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "_Eliminar este beneficiario '%s'" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "Este beneficiario está en uso.\n" "Toda operación que utilice este beneficiario será definida como (sin " "beneficiario)" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Gestionar beneficiarios" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "nuevo beneficiario" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Interfaz" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "Configuración regional" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Transacciones" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Importar/Exportar" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Informes" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "Copia de seguridad" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "Carpetas" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Predeterminado del sistema" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Sólo iconos" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Sólo texto" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Texto bajo los iconos" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Texto junto a los iconos" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "Horizontal" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "Vertical" #: ../src/ui-pref.c:109 msgid "Both" msgstr "Ambas" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango ligero" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango medio" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango oscuro" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "m-d-a" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "d-m-a" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "a-m-d" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Ignorar" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Añadir a la información" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Adjuntar a la memoria" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "Anexar a beneficiario" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "Tabulador" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "Coma" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "Punto y coma" #: ../src/ui-pref.c:149 msgid "Space" msgstr "Espacio" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Idioma del sistema" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Elegir carpeta de archivos HomeBank predeterminada" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "Elija una carpeta predeterminada de backup para HomeBank" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Elegir carpeta importar predeterminada" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Elegir carpeta exportar predeterminada" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "Opciones generales" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "Opciones OFX/QFX" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "Opciones QIF" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "Opciones CSV" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "(sólo transacción importada)" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "Separador:" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Filtro inicial" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Opciones de graficos" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "Esquema de color:" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Opciones de las estadísticas" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Mostrar por _importe" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Mostrar _columna de porcentaje" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Mostrar _detalles" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Opciones de presupuestos" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Activar" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Predeterminado:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "Interfaz de usuario" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Idioma:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "Mostrar _Fechas:" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "_Formato:" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" "%a nombre abreviado del día de la semana. \n" "%A nombre completo del día de la semana. \n" "%b nombre abreviado del mes. \n" "%B nombre completo del mes. \n" "%c formato local de fecha y hora. \n" "%C siglo (año dividido por 100 y redondeado a entero) como decimal [00-99]. " "\n" "%d día del mes como decimal [01,31]. \n" "%D equivalente a %m/%d/%y. \n" "%e día del mes como decimal [1,31]; una sola cifra se precede con un " "espacio. \n" "%j día del año como decimal [001,366]. \n" "%m mes como decimal [01,12]. \n" "%p formato local de fecha. \n" "%y año de dos decimales (sin el siglo) [00,99]. \n" "%Y año con el siglo en formato decimal." #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Año Fiscal" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "Iniciar en:" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Unidades metricas" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Usar _millas por metros" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "Usar galón para combustible" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Ventana de transacción" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "_Mostrar futuro" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "Días hacia delante" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "Ocultar reconciliadas" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "Mostrar siempre transacciones recordadas" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "Siempre mostrar vacío" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "Incluir transacciones recordadas en balances" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "Mostrar mensaje de confirmación" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Agregar multiples" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Mantener la última fecha" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "Memo autocompletado" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "Activo" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "días seguidos" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "Barra de _herramientas:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "Línea de _rejilla:" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Color de Valores" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Utiliza colores personalizados" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Gasto:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Ingreso:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Advertencia:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "_Habilitar copias de seguridad automáticas" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "_Número de copias de seguridad a mantener:" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "La copia de seguridad se hace una vez al día" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "_Carteras" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "_Backups:" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "Intercambiar ficheros" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Importar:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Exportar:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Inicio de programa" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Mostrar pantalla de inicio" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Cargar el último achivo abierto" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Añadir transacciones programadas pendientes" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "Actualiza monedas por conexión" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Ventana principal de informes" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "Restablecer todas las preferencias" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" "¿Seguro que quiere restablecer\n" "todas las preferencias a sus valores\n" "por defecto?" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Preferencias" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "Debe reiniciar Homebank" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" "El directorio de backups ha cambiado,\n" "es posible que deba copiar el archivo '.bak' a esta nueva ubicación." #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" "Atención: la suma de la división y el tipo de transacción no concuerdan" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "Dividir transacción" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "Eliminar todo" #: ../src/ui-split.c:851 msgid "Apply" msgstr "Aplicar" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "Cancelar" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Importe de la transacción" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Sin Asignar" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Suma de divisiones" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "No se puede renombrar esta etiqueta,\n" "desde '%s' a '%s',\n" "este nombre ya existe." #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "Gestionar etiquetas" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "nueva etiqueta" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "Transacción de %s creada." #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "¿Quiere interrumpir la transferencia interna?\n" "\n" " Procediendo a eliminar la transacción seleccionada" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "_Break" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "Mostrar _horario" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "Mostrar tod_as las cuentas" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "Use una plantilla" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "Añadir y _Mantener" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "_Añadir" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "_Asentar" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Añadir transacción" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "Añadir plantilla" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Heredar transacción" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "Heredar plantilla" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "Editar transacción" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "Editar plantilla" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Fecha:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" "- teclee: d, d/m, m/d para completar fecha\n" "- use flechas + ctrl o shift\n" "- deje en blanco para hoy" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "Ca_ntidad:" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "_Para:" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "Libro_2" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" "- teclee alguna letra para auto completado\n" "- teclee texto nuevo para crear una nueva entrada" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "Cate_goría:" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "M_emo:" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "E_tiquetas:" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "Advertencia: cantidad y signo de categoría no coinciden" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "Edita transacciones múltiples" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" "Teclear como\n" "transferencia" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "Plantilla" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "Tiempo" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "Tendencia" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "Off" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Incluir" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Excluir" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(sin tipo)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Efectivo" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Activo" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Tarjeta de crédito" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Pasivo" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "Este mes" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "Último mes" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "Este trimestre" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "Último trimestre" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "Este año" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "Último año" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Últimos 30 días" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Últimos 60 días" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Últimos 90 días" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Últimos 12 meses" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "Personalizado" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Todas las fechas" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "Nula" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Posible" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Antes" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "Después" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "No aprobado/a" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "No conciliado" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Sin categoría" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "Lunes" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "Martes" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "Miércoles" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "Jueves" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "Viernes" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "Sábado" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "Domingo" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Enero" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Febrero" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Marzo" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Abril" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Junio" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Julio" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Agosto" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Septiembre" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Octubre" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Noviembre" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Diciembre" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "Encontrar..." #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Cheque" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "Transferencia bancaria" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Tarjeta de débito" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Orden de posición" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Pago electrónico" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Depósito" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "Honorarios FI" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Cargo Directo" homebank-5.3.2/po/sl.po0000644000175000017500000025432313620025321011625 00000000000000# Slovenian translations for homebank. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the homeban package. # # Matej Urbančič , 2007 - 2012. # msgid "" msgstr "" "Project-Id-Version: homebank master\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2019-09-01 19:03+0000\n" "Last-Translator: Matej Urbančič \n" "Language-Team: Slovenian GNOME Translation Team \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" "X-Poedit-Country: SLOVENIA\n" "Language: \n" "X-Poedit-Language: Slovenian\n" "X-Poedit-SourceCharset: utf-8\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Osebne finance" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Brezplačno in enostavno računovodstvo za vsakogar" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "finance;računovodstvo;denar;osebno;budget;banka;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "Program HomeBank je prosta programska oprema (kot \"svoboda govora\" in tudi " "kot \"brezplačno pivo\"), s katero je mogoče enostavno upravljati osebno " "računovodstvo." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "Zasnovan je za enostavno rabo, zmogljivo analizo osebnih financ in podrobni " "prikaz s filtri in uporabnimi diagrami." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Če iščete povsem brezplačen in enostaven način za osebno računovodstvo, " "potem mora biti program Homebank vaša prva izbira." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "Ni zaznanih podobnih transakcij!" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "Preverite rezultate notranjih transakcij" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "Ni zaznanih neskladnosti!" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "Zaznane neskladnosti: %d\n" "Ali jih želite pregledati in popraviti?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Vsak znesek transakcije bo deljen z %.6f." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "Ali ste prepričani, da želite pretvoriti ta račun v evrski račun?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Pretvori" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Ni spremenjenih transakcij" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "spremenjena transakcija: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "Samodejni rezultat naloge" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Ali želite ustvariti predlogo iz\n" "vsake izmed izbranih transakcij?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "_Ustvari" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Ali želite izbrisati vse\n" "izbrane transakcije?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_Izbriši" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Ali ste prepričani, da želite odstraniti status?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "Nekatere transakcije v izboru so že potrjene." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Spremeni" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Ali ste prepričani, da želite preklopiti stanje Potrjeno?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_Preklopi" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "%d transakcij" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d transakcij, %d izbranih, povprečje: %s, vsota: %s (%s – %s)" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "_Račun" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Izvozi kot QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Izvoz podatkov v CSV ..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "Izvozi kot PDF ..." #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Zapri" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Uredi" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "_Transakcija" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Dodaj ..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Prevzemi ..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Uredi ..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Stanje" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Brez" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "_Pregledano" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Potrjeno" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "_Hkratno urejanje ..." #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Ustvari predlogo ..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Izbriši ..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Orodja" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "Označi kot podvojeno ..." #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "Samodejne naloge" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filter ..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Pretvori v evro ..." #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Dodaj transakcijo" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Dodaj" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Prevzemi iz dejavne transakcije" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Prevzemi" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Uredi trenutno transakcijo" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Uredi" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "Preklopi oznako Pregledano za izbrane transakcije" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "Preklopi stanje potrjeno za izbrane transakcije." #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Urejanje več transakcij" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Ustvari predlogo" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Izbriši izbrane transakcije" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "(zaprto)" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "Vse transakcije" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "_Osveži" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Obdobje:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "Preklopi prikaz prihodnjih transakcij" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "Vrs_ta:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Stanje:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_Ponastavi" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Odpri filter seznama" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "Druga _valuta" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Banka:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Trenutno:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Prihodnje:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Ali želite povrniti neshranjene spremembe v datoteki '%s'?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "- Spremembe, narejene v datoteki, bodo trajno izgubljene\n" "- Datoteka bo naložena iz zadnje shranjene varnostne kopije (.xhb~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Povrni" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Ali ste prepričani, da želite počistiti vse osebne podatke?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Z dejanjem bodo izbrisana osebna besedila, \n" "kot so 'račun x', 'stranka y', 'opomnik z', ..." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Počisti osebne podatke" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Dobrodošli v program HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Kaj želite narediti:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Preberi priročnik programa _HomeBank" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "Nastavitev _možnosti" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Ustvari _novo datoteko" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Odpri obstoječo datoteko" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Odpri _vzorčno datoteko primerov" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" "Odpreti želite datoteko varnostne kopije '%s'.\n" "\n" "Ali ste prepričani, da želite nadaljevati?" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "Ali želite odpreti datoteko varnostne kopije?" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "_Odpri datoteko varnostne kopije" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Neznana napaka" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "Napaka V/I za datoteko '%s'." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Datoteka '%s' ni veljavna datoteka programa HomeBank" #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "Datoteka '%s' je shranjena v zapisu višje različice programa\n" "HomeBank, zato je ni mogoče naložiti." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Napaka datoteke" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "Datoteka je bila od časa zadnjega branja spremenjena." #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Če jo shranite, bodo vse zunanje spremembe izgubljene. Ali jo želite vseeno " "shraniti?" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "_Vseeno shrani" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Datoteka" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Novo" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Odpri ..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "Odpri _nedavno" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Shrani" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "Shrani _kot ..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "Uvozi ..." #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "Izvozi kot QIF ..." #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Povrni" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "Obnovi varnostno kopijo" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Lastnosti ..." #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Končaj" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Možnosti ..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Pogled" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Orodna vrstica" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_Najvišja poraba" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "_Spodnji seznami" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Druga valuta" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Upravljanje" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "Ra_čuni ..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Stranke ..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Kategorije ..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Načrtovano/Predloge ..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Proračun ..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Nakazila ..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Valute ..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "Oznake ..." #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Prenosi" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Dodaj ..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Pokaži ..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "Pokaži vse ..." #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Nastavi načrtovane transakcije" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Objavi načrtovane transakcije" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Poročila" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Statistika ..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Časovni trend ..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "Prorač_un ..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "Stroški _vozila ..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Pokaži pozdravno pogovorno okno ..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Statistika datoteke ..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Brisanje osebnih podatkov ..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Pomoč" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Vsebina" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "Preveri za posodobitve ..." #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "Opombe ob izdaji" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Poročilo o napaki ..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Prevod programa ..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_O Programu" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Ustvari novo datoteko" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Odpri" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Odpri datoteko" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Odpri nedavno uporabljeno datoteko" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Shrani trenutno datoteko" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Nastavitve računov" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Nastavitev strank" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Nastavitev kategorij" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Nastavitev načrtovanih transakcij in predlog" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Nastavitev proračuna" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Nastavitev samodejnih nakazil" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Pokaže transakcije izbranega računa" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Dodaj transakcije" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Odpri statistično poročilo" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Odpri poročilo o trendu" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Odpri poročilo o stanju" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Odpri poročilo proračuna" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Odpri poročilo o stroških vozila" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "Načrtovano" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Prihodnost" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "Opomni" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(ni določene kategorije)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "neveljaven zapis CSV" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Datum" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Podrobnosti" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Stranka" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Opomnik" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Znesek" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Stanje" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Neznano" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "mi/l" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(ni določene stranke)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "%d-T%d" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "%d-Č%d" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Izpiši podrobnosti različice iz zapusti program" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[DATOTEKA]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Napaka brskalnika" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Ni mogoče prikazati URL naslova '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Možnosti programa" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Ni mogoče odpreti '%s'. Datoteka ne obstaja.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(ni navedene ustanove)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Računi" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Razširi vse" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Zloži vse" #: ../src/hub-account.c:547 msgid "Show all" msgstr "Pokaži vse" #: ../src/hub-account.c:552 msgid "By type" msgstr "Po vrsti" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "po ustanovi" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Ni dodane transakcije" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "dodana transakcija: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Preveri rezultat načrtovanih transakcij" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Skupno" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Načrtovane transakcije" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Preskoči" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Uredi in Objavi" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Objavi" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "najkasnejši datum objave" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Skupna poraba" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "Zgornjih %d plačil" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Drugo" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Kam gre denar" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "uvožen račun" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Skupni seštevek" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Računi" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Banka" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Danes" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- razdelitev -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Račun" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Stanje" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Izplačila" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Vplačila" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Kategorija" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Oznake" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Za rokom" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "Ostaja" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Naslednji datum" #: ../src/rep-balance.c:76 msgid "List" msgstr "Seznam" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Seznamski pregled" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Črta" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Vrstični pregled" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Osveži" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Osvežitev rezultatov" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Podrobnost" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Preklop podrobnosti" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d pod %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Poročilo stanja" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Pokaži" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "Rač_un:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Izberi _vse" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Vsak _dan" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Približaj os X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Filter datuma" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Od:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Do:" #: ../src/rep-budget.c:787 msgid " over" msgstr " preko" #: ../src/rep-budget.c:793 msgid " left" msgstr " na levi" #: ../src/rep-budget.c:796 msgid " under" msgstr " spodaj" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "Proračun za %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Proračun" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Rezultat" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "Pokaži rezultate kot naložene stolpce" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "_Kopiraj rezultat v odložišče" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "_Shrani rezultat v datoteko CSV" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "_Kopiraj podrobnosti v odložišče" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "_Shrani podrobnosti v datoteko CSV" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Poročilo proračuna" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Pokaži za:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "Le iz proračuna" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Rezultat:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Proračun:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Porabljeno:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Ni določenih računov, ki so del proračuna." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "Vključiti je treba računa v pogovornem oknu računov." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Porabljeno" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Podkategorija" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Oznaka" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Mesec" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Leto" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Izplačila / Vplačila" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s po elementu %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "Poglej rezultate v stolpcu" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "Prikaz podatkov v diagramu" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Preklop legende" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Preklopi mero" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "Uredi filter" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Statistično poročilo" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Po _znesku" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "Inter_val:" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Stanje:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Dohodek:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Izdatek:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Dan" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Teden" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Četrtletje" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "Polletje" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s čez čas" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "Povprečje: %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Poročilo časovnega trenda" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Kategorija:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Stranka:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Oznaka:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Seštevaj" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "Pokaži prazno vrstico" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Časovno obdobje" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Števec" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Gorivo" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Cena" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Pot" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Izvozi v CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Poročilo o stroških vozila" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "V_ozilo:" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Števec:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Poraba:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Cena goriva:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Ostali stroški:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Skupna cena:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(brez)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Vidno" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Prekliči" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_V redu" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Ime računa" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Napaka" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Ni mogoče dodati računa '%s',\n" "saj račun s tem imenom že obstaja." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "Ni mogoče izbrisati računa '%s'" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "Ta račun vključuje transakcije oziroma notranje prenose." #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Ali ste prepričani, da želite trajno izbrisati '%s'?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "Izbrisan račun je trajno izgubljen." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Ni mogoče preimenovati računa\n" "iz '%s' v '%s',\n" "saj to ime že obstaja." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Upravljanje računov" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Z miško je mogoče urejati razvrstitev\n" "Z dvoklikom preimenovanje" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Splošno" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "_Številka:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Začetno _stanje:" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "_Valuta:" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "ta račun je _zaprt" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "Opombe:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "Privzeta _predloga:" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Izločitve iz poročila" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "izloči iz prikaza _povzetka računa" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "izloči iz prikaza _proračuna" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "izloči iz _vseh poročil" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Številka trenutnega čeka" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Čekovna knjižica _1:" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Čekovna knjižica _2:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "Limit računa" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "_Limit pri:" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "Če urnik ali predlogo izbrišete, bo ta trajno izgubljena." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Naslednji _datum:" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "_Vsak:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Konec tedna:" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_Zaustavi po:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "objave" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Upravljanje z načrtovanimi transakcijami in predlogami" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "Če nakazilo izbrišete, bo trajno izgubljeno." #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "Onemogočeno" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "Če je prazno" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "Prepiši" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Upravljanje nakazil" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Pogoj" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "P_lačilo:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Nova datoteka banke (%d of %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Ni mogoče najti" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Lastnik:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "Valuta:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Lastnosti datoteke" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "Zaznavanje sistema" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Jeziki:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Datoteka določil:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Začni kategorije s to datoteko" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Določila kategorij" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "Podrobnosti" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Ime:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Stanje" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Začetni kapital:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Prekoračitev pri:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Ustvari račun" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "To je potrditvena stran; pritisnite gumb 'Uveljavi' za sprejetje sprememb." #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Potrditev" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "Veljavno" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Ime" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Znane datoteke" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF datoteke" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "Datoteke OFX/QFX" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV datoteke" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Vse datoteke" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "nov splošni račun" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "nov račun" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "preskočen" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr ", %d od %d transakcij" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" "Nekaterih datumov ni mogoče pretvoriti. Poskusite zamenjati vrstni red " "datuma za nadaljevanje." #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "Uvozi %s _v:" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "ta datoteka" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "ta račun" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" "Ime: %s\n" "Številka: %s\n" "Datoteka: %s\n" "Kodiranje: %s" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "Uvozi transakcije bančne ali kreditne kartice" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "Sporočila ne pokaži več" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "Določitev ciljnega računa po imenu oziroma število je spodletelo." #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Razvrstitev datuma:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "_Uvozi opomnike" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "_Zamenjaj opomike z nazivi strank" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "_Ime OFX:" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "_Opomnik OFX:" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "Izbor:" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Vse" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Brez" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Preobrn_i" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "Podobna transakcija v ciljnem računu (morebitna podvojitev)" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "dni" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Podatki se primerjajo v vrsti: po računu, znseku in datumu.\n" "Izbor 0 dni pomeni, da mora odstopanje ni dovoljeno." #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "Dobrodošli" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "Izbor datotek" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "Uvozi" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Napaka zapisa datoteke" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" "Datoteka CSV mora vsebovati natančno določeno število stolpcev,\n" "ločenih s podpičji. Za več podrobnosti si oglejte dokumentacijo." #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "Ali ste prepričani, da želite počistiti vnos?" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "V primeru nadaljevanja bodo vsi zneski nastavljeni na vrednost 0." #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "_Počisti" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Upravljanje proračuna" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "_Uvozi CSV" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "_Izvozi CSV" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "_Počisti vhod" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Možnosti" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Vsili nadzor nad kategorijo" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "maj" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Avg" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Okt" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Dec" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Kategorija je v uporabi!\n" "Vsaka transakcija, ki uporablja izbrano kategorijo, bo nastavljena na (brez " "kategorije)." #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "_Izbriši kategorijo '%s'" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "Združi" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "Izbriši neuporabljene kategorije" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Ali ste prepričani, da želite\n" "trajno izbrisati neuporabljene kategorije?" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "Uredi ..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Vplačila" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Ni mogoče preimenovati kategorije,\n" "iz '%s' v '%s',\n" "saj tako ime že obstaja." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "Združi kategorijo '%s'" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "Transakcija, dodeljena tej kategoriji,\n" "bo premaknjena k izbrani kategoriji." #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Upravljanje kategorij" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "_Izbriši neuporabljeno" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "nova kategorija" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "nova podrejena kategorija" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Osnovna valuta" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Simbol" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "Menjalni tečaj" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "Nazadnje spremenjeno" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Uredi valuto" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "Valuta" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "Oblika" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "_Prilagodi" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "_Simbol:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "Je pre_dpona" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "_Decimalni znak:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Decimalna mesta:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "Ločilo tisočic:" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Izbor osnovne valute" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Izbor valute" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "Koda ISO" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "Dodaj _valuto po meri" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "_ISO:" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "Posodobi omrežno napako" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "Če izbrišete podatke valute, bo ta trajno izgubljena." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Spremeni osnovno valuto" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" "V primeru nadaljevanja bodo vsi tečaji uporabljenih denarnih\n" "enot nastavljeni na vrednost 0. Ne pozabite jih posodobiti!" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Valute" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "Posodobi prek omrežja" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "Nastavi kot osnovno" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Statistika datoteke" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "Transakcija" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "Nakazila" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "Nadgradi" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "Izbor osnovne valute" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "Od različice programa HomeBank v5.1 je mogoče upravljati več\n" "denarnih enot. Če spodaj navedena valuta ni prava, jo spremenite:" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Izvozi kot QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Uvoz iz CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "Odpri datoteko Homebank" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "Odpri varnostno kopijo HomeBank" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "Shrani datoteko kot" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "Datoteke" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "Varnostna kopija datoteke" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "Vse varnostne kopije" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "Ali želite shraniti spremembe pred zapiranjem?" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "V kolikor sprememb ne shranite, bodo te trajno izgubljene.\n" "Število sprememb: %d" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "Zapri _brez shranjevanja" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "Izvozi kot PDF" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "Izvozi kot _PDF" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "Mapa:" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "Izbor mape" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "Ime datoteke:" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Izbor iz seznama transakcij ..." #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Izbor dejanja:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "ustvari novo transakcijo" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "izberi obstoječo transakcijo" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "Zaznane so transakcije, ki so morda povezane z notranjim prenosom sredstev." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Možnost:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Opomnik:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Podrobnosti:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "_Razlikovanje velikosti črk" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Kakršnokoli stanje" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "Sprejeto" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "Potrjeno" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Katerakoli vrsta" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Prenos" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Vsili:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "pokaži 'dodano'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "pokaži 'urejeno'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "Pokaži 'Opomnik'" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "Datumi" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "Plačila" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "Vsote" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "Besedila" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "Kategorije" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "Stranke" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Načrtovana transakcija" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "dodaj do" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "vsakega meseca (izločeno)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "dodaj" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "dni po trenutnem datumu" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Stroški vozila" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "Izbriši neuporabljeno stranko" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Ali ste prepričani, da želite trajno\n" "izbrisati neuporabljene stranke?" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "Privzeto" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "P_lačilo:" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Ni mogoče preimenovati stranke,\n" "iz '%s' v '%s',\n" "saj tako ime že obstaja." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "Združi stranko »%s«" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Transakcije, ki so dodeljene tej stranki,\n" "bodo premaknjene k novi izbrani stranki." #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "_Izbriši stranko »%s«" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "Stranka je v uporabi!\n" "Vsaka transakcija, ki uporablja ta podatek, bo nastavljena na (brez stranke)." #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Upravljanje strank" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "nova stranka" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Vmesnik" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "Jezikovne nastavitve" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Transakcije" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Uvoz/Izvoz" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Poročilo" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "Varnostna kopija" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "Mape" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Sistemske nastavitve" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Le ikone" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Le besedilo" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Besedilo pod ikonami" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Besedilo ob ikonah" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "Vodoravno" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "Navpično" #: ../src/ui-pref.c:109 msgid "Both" msgstr "Oboje" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango svetlo" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango umirjeno" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango temno" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "m-d-y" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "d-m-y" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "y-m-d" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Prezri" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Pripni k podrobnostim" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Pripni k opomniku" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "Pripni k stranki" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "Tabulator" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "Vejica" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "Podpičje" #: ../src/ui-pref.c:149 msgid "Space" msgstr "Presledek" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Sistemski jezik" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Izbor privzete mape z datotekami Domače banke" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Izbor privzete mape za uvoz" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Izbor privzete mape za izvoz" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "Možnosti OFX/QFX" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "Možnosti QIF" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "Možnosti CSV" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "(le uvoz transakcij)" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "Ločilnik:" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Začetni filter" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Možnosti diagramov" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "Barvna shema:" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Možnosti statistike" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Razvrsti po _znesku" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Pokaži odstotni stolpec" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Pokaži _podrobnosti" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Možnosti proračuna" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Omogoči" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Privzeto:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "Uporabniški vmesnik" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Jezik:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "_Prikaz datuma:" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "_Oblika:" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Proračunsko leto" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "Začetek:" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Enote za merjenje" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Uporabi _milje za razdalje" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "Uporabi _galone pri gorivu" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Okno transakcij" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "_Pokaži prihodnje:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Večkratno dodajanje" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Ohrani zadnji datum" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "Aktivno" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Orodna vrstica:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "_Mrežne črte:" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Barve vrednosti" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Uporabi barve po meri" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Izdatek:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Dohodek:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Opozorilo:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "_Omogoči samodejne varnostne kopije" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "_Število shranjenih samodejnih varnostnih kopij:" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "Pogostost shranjevanja je enkrat dnevno" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "_Denarnice:" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Uvozi:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Izvoz:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Zagon programa" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Pokaži pozdravno okno" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Naloži zadnjo odprto datoteko" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Objavi načrtovane transakcije v čakanju" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "Posodobi spletne valute" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Poročila glavnega okna" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "Ponastavi vse nastavitve" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Možnosti" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "Za uveljavitev nastavitev jezika je treba\n" "program HomeBank ponovno zagnati." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "Razdelitev transakcije" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "Uveljavi" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Znesek transakcije:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Nedodeljeno:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Vsota razdelitev:" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Ali želite razdeliti notranji prenos?\n" "\n" "Med razdelitvijo bo ciljna transakcija izbrisana." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "Pokaži _načrtovane" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "_Dodaj" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "_Oddaj" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Dodaj transakcijo" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Prevzemi transakcijo" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Datum:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "_Opomnik:" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "Opozorilo: predznak zneska ni skladen z izbrano kategorijo!" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "Urejanje več transakcij" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "Predloga" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Vključi" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Ne upoštevaj" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(ni določene vrste)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Gotovina" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Premoženje" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Kreditna kartica" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Odgovornost" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "Trenutni mesec" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "Predhodni mesec" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "To četrtletje" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "Zadnje četrtletje" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "To leto" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "Prejšnje leto" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "zadnjih 30 dni" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "zadnjih 60 dni" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "zadnjih 90 dni" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "zadnjih 12 mesecev" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "vsi datumi" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Možno" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Pred" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "Po" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "Nepregledano" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Nepotrjeno" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Neopredeljeno" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "januar" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "februar" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "marec" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "april" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "junij" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "julij" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "avgust" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "september" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "oktober" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "november" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "december" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "Poišči ..." #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Ček" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Debetna kartica" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Pošiljanje naročila" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Elektronsko plačilo" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Polog" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "Finančni stroški" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Trajnik" homebank-5.3.2/po/en_CA.po0000644000175000017500000023016313620025337012157 00000000000000# English (Canada) translation for homebank # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2019-12-04 21:45+0000\n" "Last-Translator: Ellisun Gordon \n" "Language-Team: English (Canada) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:53+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "HomeBank is free software (as in \"free speech\" and also as in \"free " "beer\") that will help manage your personal accounting." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "It is designed to be easy to use, and able to analyse your personal finances " "in detail with powerful filtering tools and beautiful graphs." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be your software of choice." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "No similar transaction was found !" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "Check internal transfer result." #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "No inconsistency found!" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "No transaction changed" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Do you want to delete\n" "each of the selected transactions?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "" #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Export CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Close" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Edit" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Transacti_on" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Add..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Inherit..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Edit..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "" #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Tools" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filter..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Add a new transaction" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Add" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Inherit from the active transaction" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Inherit" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Edit the active transaction" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Edit" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Range:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Type:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Open the list filter" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Bank:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Today:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Future:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Welcome to HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "What do you want to do:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Open the _example file" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "File error" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_File" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_New" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Open..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Save" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Revert" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Quit" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Preferences..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_View" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Toolbar" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Manage" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "Acc_ounts..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Payees..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Categories..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Budget..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Assignments..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Transactions" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Add..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Show..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Reports" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Statistics..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Trend Time..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "B_udget..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Show welcome dialog..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Help" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Contents" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Report a Problem..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Translate this Application..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_About" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Open a file" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Open a recently used file" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Configure the accounts" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Configure the Payees" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Configure the Categories" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Configure the budget" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Configure the automatic assignments" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Shows selected account transactions" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Open the Statistics Report" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Open the Trend Time report" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Open the Budget Report" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Future" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Date" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Info" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Payee" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Amount" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Balance" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Output version information and exit" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[FILE]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Could not display the URL '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "HomeBank options" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Unable to open '%s', the file does not exist.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Bank" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Today" #: ../src/list-operation.c:548 msgid "- split -" msgstr "" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Account" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Expense" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Income" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Category" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Tags" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "" #: ../src/rep-balance.c:76 msgid "List" msgstr "List" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "View results as a list" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Line" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "View results as lines" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Refresh" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Refresh results" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Detail" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Toggle detail" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d under %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "A_ccount:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Zoom X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_From:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_To:" #: ../src/rep-budget.c:787 msgid " over" msgstr "" #: ../src/rep-budget.c:793 msgid " left" msgstr "" #: ../src/rep-budget.c:796 msgid " under" msgstr "" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Budget" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Result" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Budget report" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_View by:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Budget:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Spent:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Spent" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Subcategory" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Tag" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Month" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Year" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Exp. & Inc." #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Toggle legend" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Toggle rate" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Statistics Report" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "By _amount" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Balance:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Income:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Expense:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Day" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Week" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Quarter" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Trend Time Report" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Category:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Payee:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Tag:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Cumulate" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Time slice" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Metre" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Fuel" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Price" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Dist." #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Export as CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Metre:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Consumption:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Fuel cost:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Other cost:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Total cost:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(none)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Visible" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Error" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Manage Accounts" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "General" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "N_umber:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Starting _balance:" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Ever_y:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Manage Assignments" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Pay_ment:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Not found" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Owner:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Languages:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Preset file:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Initialize my categories with this file" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Preset categories" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Name:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Initial:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Overdrawn at:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Create an account" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF files" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX files" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV files" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "All files" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "All" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "None" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Invert" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "days" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "The match is done in this order: account, amount and date.\n" "A date tolerance of 0 day means an exact match" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "File format error" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Manage Budget" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "May" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Aug" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Oct" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Dec" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Income" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Manage Categories" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Frac digits:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Export as QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Import from CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "HomeBank files" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Option:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Info:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "Case _sensitive" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Transfer" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Force:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "display 'Added'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "display 'Edited'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Manage Payees" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Interface" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "" #: ../src/ui-pref.c:89 msgid "Report" msgstr "" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "System defaults" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Icons only" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Text only" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Text under icons" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Text beside icons" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango light" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango medium" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango dark" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Ignore" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Show by _amount" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Show _rate column" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Show _details" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Enable" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Preset:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Toolbar:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Uses custom colours" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Expense:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Income:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Warning:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Import:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Export:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Load last opened file" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Preferences" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Add transaction" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Inherit transaction" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Date:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Include" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Exclude" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Cash" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Asset" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Credit card" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Liability" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Last 30 days" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Last 12 months" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "All date" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "January" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "February" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "March" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "April" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "June" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "July" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "August" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "September" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "October" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "November" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "December" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Cheque" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Debit card" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Standing order" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Electronic payment" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Deposit" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "FI fee" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "" homebank-5.3.2/po/pt.po0000644000175000017500000025233413620025320011631 00000000000000# Portuguese translation for homebank # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2007. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2018-03-23 12:29+0000\n" "Last-Translator: inscreve \n" "Language-Team: Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" "Language: pt\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Finanças Pessoais" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Contabilidade pessoal gratuita e fácil para toda a gente" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "finanças;contabilidade;orçamento;pessoal;dinheiro;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "HomeBank é software livre (como em \"liberdade\") e irá ajudá-lo a gerir as " "suas finanças pessoais." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "Foi desenhado para ser fácil de utilizar e para lhe permitir analisar as " "suas finanças pessoais em detalhe através de poderosas ferramentas de " "filtragem e de gráficos elegantes." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Se está à procura de uma solução completamente livre e fácil de gerir as " "suas finanças pessoais, então o HomeBank deve ser o seu software escolhido." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "Sem inconsistências" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "Inconsistências encontradas: %d\n" "deseja revê-las e solucioná-las?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Todos os valores das transacções serão divididos por %6f." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "Tem a certeza que quer converter esta conta para Euros?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Converter" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Nenhuma transação alterada" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "transacção alterada: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "Resultados da atribuição automática" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Deseja criar um modelo com\n" "as transacções seleccionadas?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Deseja eliminar as\n" "transacções seleccionadas?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_Apagar" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Tem a certeza que quer alterar a barra de estado para Nenhuma?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "Algumas das transacções seleccionadas já foram reconciliadas" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Alterar" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Tem a certeza que pretende mudar o estado Reconciliado?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_Mudar" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "_Conta" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Exportar QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Exportar CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Fechar" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Editar" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Transacç_ão" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Adicionar..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Herdar..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Editar..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Estado" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Nada" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "_Limpo" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Reconciliado" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "_Edição Múltipla..." #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Criar modelo..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "Apa_gar.." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Ferramentas" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "Auto atribuições" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filtro" #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Converter para Euro..." #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Adicionar nova transação" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Adicionar" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Herdar da transação ativa" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Herdar" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Editar transação ativa" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Editar" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "Mudar para descontado as transacções seleccionadas" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "Mudar transacções seleccionadas para reconciliado" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Editar múltiplas transações" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Criar modelo" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Apagar transações selecionadas" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "_Actualizar" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Intervalo:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "Botão mostrar transação futura" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Tipo:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Estado:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_Repor" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Abrir o filtro" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "Euro_menor" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Banco:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Hoje:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Futuro:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Reverter alterações não gravadas para o ficheiro '%s?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "- As modificações feitas ao ficheiro serão apagadas definitivamente\n" "- O ficheiro será carregado a partir da última gravação (.xhb~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Reverter" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Tem a certeza que pretende o tornar o arquivo anônimo?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Avançar irá anonimizar qualquer texto, \n" "como p.ex. 'conta x', 'empregado y', 'memorando z', ..." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "Tornar _anônimo" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Bem-vindo ao HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "O que você pretende fazer:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Consultar Manual _do HomeBank" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "Configurar _preferências" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Criar _novo arquivo" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Abrir um arquivo existente" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Abrir o arquivo _exemplo" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" "Está prestes a abrir uma cópia de segurança '%s'.\n" "\n" "Tem a certeza que quer fazer isso ?" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "_Open cópia de segurança" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Erro desconhecido" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "I/O Erro de leitura do arquivo %s." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "O arquivo '%s' não é um arquivo HomeBank válido." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "O arquivo '%s' foi salvo com uma versão mais recente do HomeBank\n" "e não pode ser aberto com a versão atual." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Erro de arquivo" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "O ficheiro foi modificado desde que foi lida." #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Se o guardar, todas as alterações externas serão perdidas. Ainda assim " "guardar?" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "S_ave na mesma" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Arquivo" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Novo" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Abrir..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "Abrir _Recente" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Salvar" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "Salvar_como..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Reverter" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Propriedades..." #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Sair" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Preferências..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Visualizar" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Barra de ferramentas" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_Maiores despesas" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Submúltiplo de Euro" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Gerir" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "C_ontas..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Sacadores..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Categorias..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Agendada/Modelo..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Orçamento..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Atribuições..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Moedas..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Transações" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Adicionar..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Mostrar..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Definir agendamento..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Lançamento agendado" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Relatórios" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Estatística..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Tendência ao longo do tempo..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "O_rçamento" #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "_Custo do Veículo" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Mostrar diálogo de boas vindas..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Estatística do arquivo..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Tornar anônimo..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Ajuda" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Conteúdo" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "Verificar se há actualizações..." #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "Notas de Lançamento" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Reportar um problema..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Traduzir esta aplicação..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_Sobre" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Criar novo ficheiro" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Abrir" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Abrir arquivo" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Abrir um arquivo usado recentemente" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Gravar ficheiro actual" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Configurar contas" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Configurar sacadores" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Configurar categorias" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Configurar transações agendadas/modelo" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Configurar orçamento" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Configurar atribuições automáticas" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Mostra as transações da conta selecionada" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Adicionar transações" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Abrir relatório da estatística" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Abrir relatório da tendência ao longo do tempo" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Abrir relatório do Saldo" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Abrir relatório do orçamento" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Abrir relatório de custos do veículo" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "Agendada" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Futuro" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "Lembrar" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(sem categoria)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "Formato CSV inválido" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Data" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Informações" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Favorecido" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Memorando" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Valor" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Saldo" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Desconhecido" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f L" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "km/L" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "mi./L" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(sem sacador)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Mostrar informação de versão e sair" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[FICHEIRO]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Erro de navegador." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "O URL %s não pode ser mostrado." #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Opções HomeBank" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Não foi possível abrir \"%s\", o arquivo não existe.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(sem instituição)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Suas contas" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Expandir tudo" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Recolher tudo" #: ../src/hub-account.c:547 msgid "Show all" msgstr "Mostrar tudo" #: ../src/hub-account.c:552 msgid "By type" msgstr "Por tipo" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Sem transações para adicionar" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "transação adicionada: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Verificar resultado das transações agendadas" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Transações agendadas" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Ignorar" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Editar e Enviar" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Publicar" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "Data máxima de lançamento" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Maiores despesas" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "Top %d gastos" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Outro" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Para onde vai o seu dinheiro" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Total Geral" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Contas" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Banco" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Hoje" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- separar -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Conta" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Estado" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Despesas" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Receitas" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Categoria" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Etiquetas" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Atrasado" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Próxima data" #: ../src/rep-balance.c:76 msgid "List" msgstr "Lista" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Ver resultados em lista" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Gráfico de linhas" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Ver resultados como linhas" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Atualizar" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Atualizar resultados" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Detalhe" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Mudar detalhes" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d sob %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Relatório do saldo" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Visualização" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "_Conta:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Seleccionar _tudo" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Cada _dia" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Zoom X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Filtro de dados" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_De:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Até:" #: ../src/rep-budget.c:787 msgid " over" msgstr " sobre" #: ../src/rep-budget.c:793 msgid " left" msgstr " esquerda" #: ../src/rep-budget.c:796 msgid " under" msgstr " sob" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "Orçamento para %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Orçamento" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Resultado" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "Ver resultados em barras empilhadas" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "_Result para o clipboard" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "_Result para CSV" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "_Detail para o clipboard" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "_Detail para CSV" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Relatório de orçamento" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Ver por:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "Só fora do orçamento" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Resultado:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Orçamento:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Despesa:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Nenhuma conta foi definida para fazer parte do orçamento" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "Deverá incluir algumas contas do diálogo de contas." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Despesa" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Subcategoria" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Etiqueta" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Mês" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Ano" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Despesas e Rendimentos." #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s por %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "Ver resultados em colunas" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "Ver resultados em anel" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Mudar legenda" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Mudar taxa" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "Editar filtro" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Relatório da estatística" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Por _valor" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Saldo:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Receita:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Despesa:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Dia" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Semana" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Trimestre" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s Ao longo do tempo" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "Média: %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Relatório da tendência ao longo do tempo" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Categoria:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Sacador:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Etiqueta:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Acumulado" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Divisão de tempo" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Indicador" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Combustível" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Preço" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Distância" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Exportar como CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Relatório de custos da viatura" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "Viat_ura:" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Indicador:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Consumo:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Custos com combustível:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Outros custos:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Custo total:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(nada)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Visível" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Cancelar" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Nome da conta" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Erro" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Não foi possível adicionar a conta '%s',\n" "este nome já existe." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "Não foi possível apagar a conta '%s'" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" "Esta conta contém transacções e/ou faz parte das transacções internas" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Tem a certeza que pretende apagar definitivamente '%s'?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "Se apagar uma conta, esta será definitivamente apagada." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Não foi possível mudar o nome\n" "desta Conta \"%s\" para \"%s\",\n" "este nome já existe." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Gerir Contas" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Arraste e largue para alterar a ordem\n" "Duplo clique para mudar o nome" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Geral" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "N_úmero:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "_Saldo inicial:" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "_Moeda:" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "esta conta foi _encerrada" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "Notas:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Reportar exclusão" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "excluir do resumo da _conta" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "excluir do _orçamento" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "excluir de qualquer _relatório" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Número de cheque actual:" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Livro de cheques _1:" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Livro de cheques _2:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "Limites balanço" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "_Overdraft em:" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "Se apagar um agendamento/modelo, este será definitivamente apagado." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Próxima _data:" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Cad_a:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Fim da semana:" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_Parar após:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "Lançamentos" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Gerir transacções agendadas/modelo" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "Se apagar uma atribuição, esta será definitivamente apagada." #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "Desactivado" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "Se vazio" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "Substituir" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Gerir Atribuições" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Condição" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Pag_amento:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Novo ficheiro HomeBank (%d de %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Não encontrado" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Titular:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "Moeda:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Propriedades do ficheiro" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "Detecção do sistema" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Idiomas:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Ficheiro da predefinição:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Iniciar categorias com este ficheiro" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Categorias predefinidas" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "Informação" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Nome:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Saldos" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Inicial:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Descoberto:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Criar conta" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Esta é a página de confirmação. Prima \"Aplicar\" para aplicar as alterações" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Confirmação" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Nome" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Ficheiros aceites" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "Ficheiros QIF" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "Ficheiros OFX/QFX" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "Ficheiros CSV" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Todos os ficheiros" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Data da operação:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "Selecionar:" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Tudo" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Nenhum" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Inverter" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "dias" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "A correspondência é feita pela seguinte sequência: por conta, valor e data.\n" "Uma tolerância de 0 dias significa uma combinação exacta." #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "Bem vindo" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "Importar" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Erro no formato do ficheiro" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" "O ficheiro CSV deve conter exactamente o mesmo número de colunas,\n" "separadas por um ponto e vírgula. Por favor consulte a ajuda para mais " "detalhes." #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "Tem a certeza que pretende limpar a introdução" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "Se continuar, todas os valores serão definidos para 0" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "_Limpar" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Gerir Orçamento" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "_Importar CSV" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "E_xportar CSV" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "_Limpar entrada" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Opções" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Forçar monitorização desta categoria" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Fev" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Abr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Maio" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Ago" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Out" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Dez" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Esta categoria já está a ser utilizada.\n" "Qualquer transacção com esta categoria será definida como (sem categoria)." #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "_Apagar categoria '%s'\"" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "Combinar" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "Apagar categorias não usadas" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Tem a certeza que quer apagar as categorias não usadas permanentemente?" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "Editar..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Receita" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Não foi possível mudar o nome\n" "desta Categoria \"%s\" para \"%s\",\n" "este nome já existe." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "Combinar categoria '%s'" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "As transacções atribuídas a esta categoria,\n" "serão mudadas para a categoria seleccionada." #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Gerir Categorias" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "Apagar não utilizados" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "nova categoria" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "nova subcategoria" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Moeda padrão" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Símbolo" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "Taxa de câmbio" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "Última modificação" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Editar moeda" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "Moeda" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "Formato" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "_Personalizar" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "_Símbolo:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "É pre_fix" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "_Decimal caráter:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Dígitos da fração:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "_Grouping caráter:" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Seleccione moeda padrão" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Seleccione moeda" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "Código ISO" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "Adicionar uma custom _currency" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "_ISO:" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "Erro na actualização online" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "De apagar uma moeda, será de forma permanente" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Alterar a moeda padrão" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" "Se continuar, as taxas das outras moedas serão colocadas a 0, não se esqueça " "de actualizar." #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Moedas" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "Actualização online" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "Definir como padrão" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Estatística do ficheiro" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "Transacção" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "Atribuição" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "Atualizar" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "Seleccione a moeda padrão" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "A partir da v5.1, o HomeBank pode gerir várias moedas.\n" "Se a moeda abaixo não for a correcta, por favor, altere-a:" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Exportar como QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Importar de CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "Abrir ficheiro HomeBank" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "Guardar ficheiro HomeBank como" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "Ficheiros HomeBank" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "Gravar as alterações antes de fechar" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Se não gravar, as suas alterações serão definitivamente apagadas.\n" "Número de alterações: %d." #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "Fechar _sem gravar" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "Exportar como PDF" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "Exportar como _PDF" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "Pasta:" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "Escolha uma Pasta" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "Ficheiro:" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Seleccione entre as transacções possíveis..." #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Seleccione uma acção:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "criar nova transacção" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "seleccione uma transacção existente" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "O HomeBank encontrou alguma transacção que pode estar associada a uma " "transferência interna." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Opção:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Memorando:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Informações:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "_Sensível a maiúsculas e minúsculas" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Qualquer estado" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "Limpo" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "Reconciliado" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Qualquer tipo" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Transferência" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Forçar:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "mostrar \"Adicionada\"" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "mostrar \"Editada\"" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "mostrar 'Lembrete'" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "Datas" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "Pagamentos" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "Montantes" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "Textos" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "Categorias" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "Beneficiários" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Transacção agendada" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "adicionar até" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "de cada mês (excluído)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "adicionar" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "dias de avanço sobre data actual" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Custo do veículo" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "Apagar entidades não usadas" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Tem a certeza que quer apagar de forma\n" "permanente as entidades não usadas?" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "Padrão" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "Pa_gamento:" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Não foi possível mudar o nome\n" "deste Sacador\"%s\" para \"%s\",\n" "este nome já existe." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "Combinar sacador '%s" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "As transacções atribuídas a este sacador,\n" "serão mudadas para o sacador seleccionado." #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "_Apagar sacador '%s'" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "Este sacador já está em utilização.\n" "Qualquer transacção com este sacador será definida como (sem sacador)" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Gerir Sacadores" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "Novo sacador" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Interface" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Transacções" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Importar/Exportar" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Relatório" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Predefinições" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Só icones" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Só texto" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Texto por baixo dos ícones" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Texto ao lado dos ícones" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "Horizontal" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "Vertical" #: ../src/ui-pref.c:109 msgid "Both" msgstr "Ambos" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango claro" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango médio" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango escuro" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "m-d-a" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "d-m-a" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "a-m-d" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Ignorar" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Juntar à informação" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Juntar ao Memorando" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "Acrescentar à entidade" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Idioma do sistema" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Escolha a pasta padrão para os ficheiros do HomeBank" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Escolha a pasta padrão para importação" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Escolha a pasta padrão para exportação" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "Opções OFX/QFX" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "Opções QIF" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Fitro inicial" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Opções dos gráficos" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "Esquema de cores:" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Opções da estatística" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Mostrar por _valor" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Mostrar _coluna da taxa" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Mostrar _detalhes" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Opções de orçamento" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Activar" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Predefinição" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Idioma:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "_Formato:" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Ano fiscal" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "Começa _em:" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Unidades de medida" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Utilizar _milhas para distância" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "Utilizar _galões para o combustivel" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Janela da transacção" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Adição múltipla" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Manter última data" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Barra de ferramentas:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "Linha _Grid:" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Número de cores" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Utilizar cores personalizadas" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Despesa:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Receita:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Aviso:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Importar:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Exportar:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Arranque do programa" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Mostrar ecrã inicial" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Carregar o último ficheiro aberto" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Lançar transações agendadas pendentes" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "Atualizar moedas online" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Relatórios da janela principal" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Preferências" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "Terá que reiniciar o HomeBank\n" "para que as alterações tenham efeito." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "Divisão da transacção" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Valor da transacção:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Não atríbuida:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Soma das partes:" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Deseja cancelar a transferência interna?\n" "\n" "Se continuar eliminará a transacção de destino." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "Mostrar _scheduled" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "_Adicionar" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "E_nviar" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Adicionar transacção" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Herdar transacção" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Data:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "M_emorando:" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "Aviso: sinal da quantia e categoria não correspondem" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "Edição de múltiplas transacções" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "Template" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Incluir" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Excluir" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(sem tipo)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Dinheiro" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Activo" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Cartão de crédito" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Responsabilidade" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "Este mês" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "Mês passado" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "Este quadrimestre" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "Quadrimestre passado" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "Este ano" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "Ano passado" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Últimos 30 dias" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Últimos 60 dias" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Últimos 90 dias" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Últimos 12 meses" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Todas as datas" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Possível" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Antes" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "Depois" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "Não descontado" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Não reconciliado" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Sem categoria" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Janeiro" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Fevereiro" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Março" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Abril" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Junho" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Julho" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Agosto" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Setembro" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Outubro" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Novembro" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Dezembro" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Set" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "Procurar..." #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Cheque" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Cartão de débito" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Ordem permanente" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Pagamento electrónico" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Depósito" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "Taxa Financeira" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Débito Directo" homebank-5.3.2/po/ja.po0000644000175000017500000024076313620025312011604 00000000000000# Japanese translation for homebank # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2007. # msgid "" msgstr "" "Project-Id-Version: homebank-4.0.4\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2019-11-04 04:18+0000\n" "Last-Translator: Seiichi Saida \n" "Language-Team: Team Puppy Linux Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" "First-Translator: nyu \n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "個人ファイナンス" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "自由で簡単な個人会計をみんなに" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "ファイナンス;会計;予算;個人向け;お金" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "HomeBankは個人会計を管理するのを助けるフリーソフトウェア(フリーとは自由の意味)です。" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "強力なフィルタリングツールと美しいグラフにより、個人ファイナンスを簡単に管理し分析できるように設計されています。" #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "変換(_C)" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "取引が変更しない" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "%dつの取引が変更されました" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "作成(_C)" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "選択した取引のそれぞれを\n" "削除しますか?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "削除(_D)" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "選択した取引の一部は既に照合済です。" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "変更(_C)" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "照合済の状態を切り替えてもよろしいですか?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "切り替え(_T)" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "%dつの取引" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%dつの取引、%dつ選択され、平均:%s、合計:%s (%s - %s)" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "口座(_C)" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "QIFでエクスポート…" #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "CSVでエクスポート..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "PDFでエクスポート…" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "閉じる(_C)" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "編集(_E)" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "取引(_O)" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "追加(_A)..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "継続(_I)..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "編集(_E)..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "状態(_S)" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "なし(_N)" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "清算済(_C)" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "照合済(_R)" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "テンプレートを作成..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "ツール(_T)" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "フィルタ(_F)..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "新しい取引を追加" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "追加" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "当取引から継続" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "継続" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "当取引を編集" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "編集" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "選択した取引の精算の状態を切り替えます" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "選択した取引の照合の状態を切り替えます" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "複数の取引を編集" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "テンプレートの作成" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "選択した取引を削除" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "全ての取引" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "範囲(_R):" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "将来の取引の表示を切り替え" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "種類(_T):" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "状態(_S):" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "元に戻す(_R)" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "リストフィルタを開く" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "銀行:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "本日:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "将来:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "HomeBank へようこそ" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "何をしますか:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "新しいファイルを作成(_N)" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "既存のファイルを開く(_O)" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "サンプルファイルを開く(_E)" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "ファイルエラー" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "このファイルを保存すると外部からの変更はすべて失われます。強制的に保存しますか?" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "ファイル(_F)" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "新しい財布(_N)" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "開く(_O)..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "最近開いたファイル(_R)" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "保存(_S)" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "名前を付けて保存(_A)..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "インポート..." #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "QIFでエクスポート…" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "戻す" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "プロパティ..." #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "終了(_Q)" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "設定..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "表示(_V)" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "ツールバー(_T)" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "主な支出(_T)" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "画面下のリスト(_B)" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "管理(_M)" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "口座(_O)..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "受取人(_P)..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "カテゴリ" #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "予定取引とテンプレート…" #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "予算..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "" #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "通貨…" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "タグ…" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "取引(_T)" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "追加..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "表示..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "全表示…" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "予定取引の実行を設定…" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "予定取引を実行" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "報告(_R)" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "統計(_S)..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "時傾向(_T)…" #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "予算(_U)..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "車の費用(_V)..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "" #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "ヘルプ(_H)" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "内容(_C)" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "更新を確認…" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "問題を報告..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "このアプリケーションを翻訳する" #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "バージョン情報(_A)" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "新しいファイルを作成" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "開く(_O)" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "ファイルを開く" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "最近使用したファイルを開く" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "現在のファイルを保存" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "口座を設定" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "受取人を設定" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "カテゴリを設定" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "予定取引とテンプレートを設定" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "予算を設定" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "選択された口座の取引を表示" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "取引を追加" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "統計報告を開く" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "時傾向報告を開く" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "差引残高報告を開く" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "予算報告を開く" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "車の費用報告を開く" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "予定取引" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "将来" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "備忘通知" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(カテゴリなし)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "日付" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "情報" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "受取人" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "摘要" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "総額" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "差引残高" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "バージョン情報を出力して終了する" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[ファイル]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "URL '%s 'の表示ができません" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "HomeBank設定" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "ファイル '%s' を開けません。ファイルは存在しません。\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(金融機関なし)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "お使いの口座" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "全て展開する" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "全て折畳む" #: ../src/hub-account.c:547 msgid "Show all" msgstr "全表示" #: ../src/hub-account.c:552 msgid "By type" msgstr "口座種類別" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "金融機関別" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "追加する取引はありません" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "%dつの取引が追加されました" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "予定取引の実行結果を確認" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "合計" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "予定取引" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "スキップ" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "編集して実行" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "実行" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "次の実行日" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "主な支出" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "%dつの主な支出" #: ../src/hub-spending.c:294 msgid "Other" msgstr "" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "お金の使い所" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "総計" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "口座" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "銀行" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "本日" #: ../src/list-operation.c:548 msgid "- split -" msgstr "" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "口座" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "状態" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "支出" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "収入" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "カテゴリ" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "タグ" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "次の日付" #: ../src/rep-balance.c:76 msgid "List" msgstr "リスト" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "結果をリストで表示" #: ../src/rep-balance.c:77 msgid "Line" msgstr "行" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "結果を線グラフで表示" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "更新" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "結果を更新" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "詳細" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "詳細を切り替える" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "差引残高報告" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "表示" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "口座(_C):" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "全てを選択(_A)" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "日付フィルタ" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "から(_F):" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "へ(_T):" #: ../src/rep-budget.c:787 msgid " over" msgstr "" #: ../src/rep-budget.c:793 msgid " left" msgstr "" #: ../src/rep-budget.c:796 msgid " under" msgstr "" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "%s別予算" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "予算" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "結果" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "結果を積み上げグラフで表示" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "予算報告" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "表示(_V):" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "予算超過のみ" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "結果:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "予算:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "支出:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "支出" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "サブカテゴリ" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "タグ" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "月" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "年" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "支出 & 収入" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "結果を棒グラフで表示" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "結果をドーナツグラフで表示" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "凡例を切り替える" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "レートを切り替える" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "フィルタを編集" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "統計報告" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "金額で(_A)" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "時間間隔(_V):" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "差引残高:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "収入:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "支出:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "日" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "週" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "四半期" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "半年" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "時傾向報告" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "カテゴリ(_C):" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "受取人(_P):" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "タグ(_T):" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "累積(_C)" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "空行を表示" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "メータ" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "燃料" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "価格" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "距離" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "CSVでエクスポート" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "車の費用報告" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "メータ:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "消費量:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "燃費:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "その他の経費:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "合計経費:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(なし)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "表示" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "エラー" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "この口座はリネームできません。\n" " '%s' から '%s' へ、\n" "この名前は既に存在します。" #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "口座を管理" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "一般" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "通貨(_C)" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "デフォルトのテンプレート(_T)" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "予算から除外する(_E)" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "予定取引やテンプレートを削除すると、永久に失われます。" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "次の日付(_D)" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "毎(_Y):" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "週末:" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "止まるまで(_S):" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "回" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "予定取引とテンプレートの管理" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "支払(_M):" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "所有者(_O):" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "通貨:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "ファイルのプロパティ" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "プリセットカテゴリ" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "名前(_N):" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "初期(_I):" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "貸越(_O):" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIFファイル" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX ファイル" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV ファイル" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "全てのファイル" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "スキップした" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "、%dつの取引(全%dつ)" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "銀行やクレジットカードの取引をインポート" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "全て" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "なし" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "反転" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "日" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "以下の順で一致: 口座、金額そして日付。\n" "日付許容範囲の0は完全な一致を意味します。" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "インポート" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "ファイルフォーマットエラー" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "予算管理" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "CSVをインポート(_I)" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "設定" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "1月" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "2月" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "3月" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "4月" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "5月" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "6月" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "7月" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "8月" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "10月" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "11月" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "12月" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "カテゴリ「%s」を削除(_D)" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "結合" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "未使用のカテゴリを削除" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "編集..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "収入(_I)" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "このカテゴリを\n" " '%s' から '%s' にリネームできません。\n" "この名前は既に存在します。" #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "カテゴリ「%s」を結合" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "カテゴリを管理" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "新しいカテゴリ" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "新しいサブカテゴリ" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "基準通貨" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "通貨を編集" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "通貨" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "カスタマイズ (_C)" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "小数点以下の桁(_F):" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "基準通貨を選択" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "通貨を選択" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "カスタム通貨を追加(_C)" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "基準通貨を変更" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "通貨" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "取引" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "基準通貨を選択" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "QIF でエクスポート" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "CSVからインポート" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "HomeBankファイルを開く" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "HomeBank ファイル" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "閉じる前にファイルへの変更を保存しますか?" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "保存せずに閉じる(_W)" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "PDFでエクスポート" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "_PDFでエクスポート" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "新しい取引を作成" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "既存の取引を選択" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "オプション(_O):" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "摘要(_M):" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "情報(_I):" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "大/小文字を区別する(_S)" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "全ての状態" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "清算済" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "照合済" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "全ての種類" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "振込" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "強制する" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "「追加済」を表示" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "「編集済」を表示" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "「備忘通知」を表示" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "日付" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "支払" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "金額" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "テキスト" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "カテゴリ" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "予定取引" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "車の費用" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "この受取人を\n" " '%s' から '%s' にリネームできません。\n" "この名前は既に存在します。" #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "受取人「%s」を結合" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "受取人を管理" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "インターフェース" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "取引" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "インポート/エクスポート" #: ../src/ui-pref.c:89 msgid "Report" msgstr "報告" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "システムデフォルト" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "アイコンだけ" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "テキストだけ" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "アイコンの下にテキスト" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "アイコンの横にテキスト" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "タンゴー・ライト" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "タンゴー・メディアム" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "無視する" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "摘要に追加" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "一般設定" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "統計の設定" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "総額で表示(_A)" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "レート行を表示" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "詳細を表示(_D)" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "予算の設定" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "日付の表示(_D):" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "取引ウィンドウ" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "摘要の自動補完" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "ツールバー(_T):" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "カスタムな色を使用する" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "支出(_E):" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "収入(_I):" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "注意(_W):" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "インポート(_I):" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "エクスポート(_E):" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "最後に開いたファイルを読み込み" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "保留中の予定取引を実行" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "全ての設定を元に戻す" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "設定" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "取引金額:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "タグを管理" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "予定取引を表示(_S)" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "全ての口座を表示(_A)" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "追加して保持(_K)" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "追加(_A)" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "実行(_P)" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "取引を追加" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "取引を引き継ぎ" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "日付(_D):" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "テンプレート" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "含む" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "除外する" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "現金" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "資産" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "クレジットカード" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "負債" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "今月" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "先月" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "今四半期" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "先四半期" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "今年" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "昨年" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "最近の30日" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "最近の60日" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "最近の90日" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "最近の12か月" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "カスタム" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "すべての日" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "可能" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "より前" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "より後" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "未精算" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "未照合" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "未分類" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "1月" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "2月" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "3月" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "4月" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "6月" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "7月" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "8月" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "9月" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "10月" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "11月" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "12月" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "9月" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "小切手" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "デビットカード" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "自動振替" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "電子決済" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "入金" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "金融機関手数料" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "口座自動引き落とし" homebank-5.3.2/po/br.po0000644000175000017500000024745013620025346011624 00000000000000# Breton translation for homebank # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2016-08-21 08:42+0000\n" "Last-Translator: Alan \n" "Language-Team: Breton \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:53+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" "X-Poedit-SearchPath-0: br\n" "X-Poedit-Basepath: .\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Kellidoù personel" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Jederezh personel, digoust hag aes evit an holl" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "kellidoù;kontoù;kellidsteuñv;personel;arc'hant;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "Ur meziant digor ha digoust eo HomeBank a roy skoazell deoc'h da verañ ho " "jederezh personel." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "Ergrafet eo bet da vezañ aes d'ober gantañ ha da vezañ gouest da zielfennañ " "ho kellidoù personel dre ar munud dre arver binvioù silañ kreñv ha diervadoù " "brav." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Mard emaoc'h o klask un doare aes ha digoust evit merañ ho jederezh personel " "e tlefe Homebank bezañ ar meziant da zibab." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "Digempoellder ebet bet kavet !" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "Kavet ez eus bet un digempoellder : %d\n" "Ha fellout a ra deoc'h adgwelout ha ratreañ ?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Pep sav treuzgread a vo rannet dre %.6f." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Amdreiñ" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "N'eus treuzgread ebet bet kemmet" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "treuzgread bet kemmet : %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Ha fellout a ra deoc'h krouiñ ur patrom gant\n" "bep treuzgread bet diuzet ?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Ha fellout a ra deoc'h dilemel\n" "bep treuzgread bet diuzet ?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_Dilemel" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Ha sur oc'h hoc'h eus c'hoant da gemmañ ar stad da 'Tra ebet' ?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "Treuzgreadoù e-kreiz ho tiuzad zo bet reizhaet endeo." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "Kemmañ" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Ha sur oc'h e fell deoc'h trec'haoliñ ar stad da Reishaet ?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_Trec'haoliñ" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "K_ont" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Ezporzhiañ ar restr mod QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Ezporzhiañ ar restr mod CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Serriñ" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "K_emmañ" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Treuz_gread" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Ouzhpennañ..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Hêrezhiñ..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "Daskemmañ" #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Stad" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Tra ebet" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "_Skarzhet" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "Ad_unvanet" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "_Embann lies..." #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Krouiñ ur patrom..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Diverkañ..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Binvioù" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Silañ..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Amdreiñ da Euro..." #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Ouzhpennañ un treuzgread all" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Ouzhpennañ" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Hêrezhiñ diouzh an treuzgread oberiant" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Hêrezhiñ" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Daskemmañ an treuzgread oberiant" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Kemmañ" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "Trec'haoliñ da wiriet an treuzgread(où) bet diuzet" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "Trec'haoliñ da reizhaet an treuzgread(où) bet diuzet" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Embann meur a dreuzgread" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Krouiñ ur patrom" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Diverkañ an treuzgread(où) bet diuzet" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "_Azgrenaat" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Ledad :" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Rizh :" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Stad :" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "Adde_raouekaat" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Digeriñ sil ar roll" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "Moneiz _vroadel kent an euro" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Bank :" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Hiziv :" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Dazont :" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Tuginañ ar c'hemmoù nad int ket bet enrollet er restr '%s' ?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "- Kollet e vo ar c'hemmoù graet d'ar restr da vat\n" "- Diouzh an enrolladenn diwezhañ e vo adkarget ar restr (.xhb~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Tuginañ" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Ha sur oc'h e fell deoc'h dilemel anv ar restr ?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Mar bez graet e vo lakaet an testennoù da bezañ dizanv, \n" "evel 'kont x', 'emvataer y', 'krounskrid z' ..." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Lakaat da zizanv" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Donemat e Homebank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Petra a fell deoc'h ober :" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Lenn dornlevr Ho_mebank" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Krouiñ ur restr _nevez" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Digeriñ ur restr ez eus anezhi" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Digeriñ ar restr skou_er" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "Fazi enankañ/ec'hankañ evit ar restr '%s'." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Ar restr '%s' n'eo ket ur restr mod Homebank talvoudek." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "Gant un handelv nevesoc'h eus Homebank eb bet enrollet ar restr '%s'\n" "ha n'hall ket bezañ karget gant an handelv vremanel." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Fazi gant ar restr" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Restr" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Nevez" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Digeriñ..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Enrollañ" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "_Enrollañ evel..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Distreiñ" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Perzhioù..." #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Kuitaat" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Gwellvezioù..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "G_welout" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "Barrenn_Ostilhoù" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "Dispignoù pouezusañ" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Moneiz vroadel kent an euro" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Ardeiñ" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "Kont_où..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Emvataerion..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Rummadoù..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Steuñvet/Patrom..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Kellidsteuñv..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Derannadurioù..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Teulennoù..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Treuzgreadoù" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Ouzhpennañ" #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Diskouez..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Arventennañ ar steuñverez..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Kas ar re steuñvet" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Danevelloù" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Stadegoù..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Tuadur dre an amzer..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "Kellidste_uñv..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "Kost ar _c'harbed..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Diskouez boestad emziviz Donemat..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Stadegoù ar restr..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Lakaat da zizanv..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Skoazell" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "Endal_c'hadoù" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Danevellañ ur gudenn..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Treiñ an arload-mañ..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_A-zivout" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Krouiñ ur restr nevez" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Digeriñ" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Digeriñ ur restr" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Digeriñ ur restr nevez-implijet" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Enrollañ ar restr vremanel" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Kefluniañ ar c'hontoù" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Kefluniañ an emvataerion" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Kefluniañ ar rummadoù" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Kefluniañ an treuzgreadoù steuñvet pe ar patromoù" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Kefluniañ ar c'hellidsteuñv" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Kefluniañ an derannadurioù emgefreek" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Diskouez a ra treuzgreadoù ar gont diuzet" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Ouzhpennañ treuzgreadoù" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Digeriñ danevell ar stadegoù" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Digeriñ danevell evit an tuadur dre an amzer" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Digeriñ danevell ar ventelad" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Digeriñ danevell ar c'hellidsteuñv" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Digeriñ danevell koust ar c'harbed" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "Steuñvet" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Dazont" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "Evezh" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(rummad ebet)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "mentrezh mod CSV didalvoudek" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Deiziad" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Titouroù" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Emvataer" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Kounger" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Savad" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Mentelad" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Dianav" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "mi./l" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(emvataer ebet)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Ec'hankañ stlennoù an handelv ha mont kuit" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[RESTR]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Fazi digant ar merdeer." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "N'haller ket skrammañ an URL '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Dibarzhioù Homebank" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "N'haller ket digeriñ '%s', n'eus ket eus ar restr-mañ.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Ho kontoù" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Astenn pep tra" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Diskar pep tra" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Treuzgread ebet da ouzhpennañ" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "treuzgread ouzhpennet : %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Gwiriañ disoc'hoù an treuzgreadoù steuñvet" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Hollad" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Treuzgreadoù steuñvet" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Lammat dreisti" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Embann ha kas" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Kas" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "deiziad pellañ ar c'has" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Dispignoù pouezusañ" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "All" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Da belec'h ez a hoc'h arc'hant" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Hollad diwezhel" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Kontoù" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Bank" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Hiziv" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- marz -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Kont" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Stad" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Ezkefiad" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Enkefiad" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Rummad" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Klavioù" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Diwezhat" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Deiziad da zont" #: ../src/rep-balance.c:76 msgid "List" msgstr "Roll" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Gwelout an disoc'hoù evel ur roll" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Linenn" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Gwelout an disoc'hoù evel linennoù" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Azbevaat" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Azbevaat an disoc'hoù" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Munud" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Trec'haoliñ ar munudoù" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d dindan %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Danevell ar ventelad" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Skrammañ" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "Ko_nt :" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Diuzañ pep tr_a" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Bem_dez" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Zoum X :" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Sil dre an deiziad" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Eus :" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Da :" #: ../src/rep-budget.c:787 msgid " over" msgstr " dreist" #: ../src/rep-budget.c:793 msgid " left" msgstr " o chom" #: ../src/rep-budget.c:796 msgid " under" msgstr " dindan" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "Kellidsteuñv evit %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Kellidsteuñv" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Disoc'h" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "Gwelout an disoc'hoù dre stumm ur bern" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Danevell ar c'hellidsteuñv" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Gwelout dre :" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Disoc'h :" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Kellidsteuñv :" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Dispignet :" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "N'eus kont ebet bet despizet da vezañ lakaet er c'hellidsteuñv." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "Gwell e vefe deoc'h enlakaat kontoù dre voestad emziviz ar c'hontoù." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Dispignet" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Isrummad" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Klav" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Miz" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Bloaz" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Ezk. & Enk." #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s dre %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "Gwelout an disoc'oùh dre stumm ur bann" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "Gwelout an disoc'hoù dre stumm un donut" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Trec'haoliñ al leadell" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Trec'haoliñ ar feur" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Danevell ar stadegoù" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Dre ar s_avad" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Mentelad :" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Enkefiad :" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Ezkefiad :" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Deiz" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Sizhun" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Trimiziad" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s a-hed an amzer" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "Keitad : %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Danevell an tuadur dre an amzer" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Rummad :" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Emvataer :" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "Kl_av :" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Dassammañ" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Trovezh" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Pellder" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Trelosk" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Priz" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Pellder" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Ezporzhiañ evel restr mod CSV..." #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Danevelloù a-fet koust ar c'harbed" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "Kar_bed :" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Pellder :" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Bevezerezh :" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Koust ar strilheoul :" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Koustoù all :" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Koust hollek :" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(tra ebet)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Hewel" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Nullañ" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_Mat eo" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Anv ar gont" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Fazi" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "N'haller ket ouzhpennañ ur gont '%s',\n" "an anv-mañ zo anezhañ endeo." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "N'haller ket diverkañ ar gont '%s'" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" "Treuzgreadoù ez eus er gont-mañ pe/hag emañ e-touez treuzdougoù diabarzh." #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Ha fellout a ra deoc'h diverkañ '%s' da vat ?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "Mar bez diverket ur gont e vo kollet da vat." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "N'haller ket adenvel ar gont-mañ,\n" "eus '%s' da '%s',\n" "an anv zo anezhañ endeo." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Ardeiñ kontoù" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Riklañ & leuskel da gemmañ an urzh\n" "Daouglikañ da adenvel" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Hollek" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "Ni_ver :" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Kregiñ gant ar _ventelad :" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "_Teulenn :" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "serret e oa bet ar gont-mañ" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "Notennoù :" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Lakaat an ezlakadenn en danevell" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "ezlakaat diouzh _berrskrid ar gont" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "ezlakaat diouzh ar c'hellid_steuñv" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "ezlakaat diouzh an holl _zanevelloù" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Niver ar chekenn vremanel" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Karned chekennoù _1 :" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Karned chekennoù _2 :" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" "Mar bez diverket ur gwezhiadur steuñvet/ur patrom e vo kollet da vat." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Deiziad _da zont :" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Be_p :" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Dibenn sizhun :" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_Arsaviñ goude :" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "a gasoù" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Ardeiñ an treuzgreadoù steuñvet pe batrom" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "Mar bez diverket un dezverkadur e vo kollet da vat." #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "Diweredekaet" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "Mar goullo" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "Flastrañ" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Ardeiñ an derannadurioù" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Diferadenn" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Tala_dur :" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Restr nevez mod HomeBank file (%d eus %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "N'eo ket bet kavet" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Perc'henner :" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "Teulenn :" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Perzhioù ar restr" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "Dinoadur ar reizhiad" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Yezhoù :" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Ragarventennañ ar restr :" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Deraouekaat ma rummadoù gant ar restr-mañ" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Ragarventennañ ar rummadoù" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Anv :" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Menteladoù" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Derou :" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Trazennet gant :" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Krouiñ ur gont" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Ur bajennad da gadarnaat eo homañ. Pouezit war 'Arloañ' da arloañ ar c'hemmoù" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Kadarnaat" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Anv" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Restroù anavezet" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "Restroù mod QIF" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "Restroù mod OFX/QFX" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "Restroù mod CSV" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "An holl restroù" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Urzh an deiziad :" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "An holl anezho" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Tra ebet" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Tuginañ" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "a zeizioù" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Graet eo ar genglotadenn en urzh-mañ : dre ar gont, ar savad hag an " "deiziad.\n" "Un aotrevarz o kevatal da 0 a dalv d'ur genglotadenn rik" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "Donemat" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "Enporzhiañ" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Fazi mentrezh ar restr" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "Sur oc'h e fell deoc'h skarzhañ an enankad ?" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "Mar bez graet, pep sav a vo lalaket da 0." #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "_Skarzhañ" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Ardeiñ ar c'hellidsteuñv" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "E_nporzhiañ ar restr mod CSV" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "E_zporzhiañ ar restr mod CSV" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "_Skarzhañ an enankad" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Dibarzhioù" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Bountañ war ouarnerezh ar rummad-mañ" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Gen" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "C'hwe" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Meu" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Ebr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Mae" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Mez" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Gou" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Eos" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Her" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Du" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Ker" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "War arver emañ ar rummad-mañ.\n" "An holl dreuzgreadoù o'h ober gant ar rummad-mañ a vo lakaet da (rummad ebet)" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "_Dilemel ar rummad '%s'" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "Toueziañ" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "Embann..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Enkefiad" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "N'haller ket adenvel ar rummad-mañ,\n" "eus '%s' da '%s',\n" "an anv zo anezhañ endeo." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "Toueziañ ar rummad '%s'" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "An treuzgreadoù dezverket ouzh ar rummad-mañ\n" "a vo dilec'hiet e-barzh ar rummad bet diuzet amañ dindan." #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Ardeiñ ar rummadoù" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "rummad nevez" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "isrummad nevez" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Arouez" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "Teulenn" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "Mentrezh" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "_Personelaat" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "_Arouez :" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "Si_froù goude ar skej :" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Stadegoù ar restr" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "Treuzgread" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "Dezverkadur" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "Hiziavaat" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Ezporzhiañ evel restr mod QIF..." #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Enporzhiañ diouzh ur restr mod CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "Restroù mod Homebank" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "Enrollañ ar c'hemmoù graet d'ar restr kent serriñ ?" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Ma n'enrollot ket e vo kollet ar c'hemmoù da vat.\n" "Niver a gemmoù : %d." #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "Serriñ _hep enrollañ" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Diuzañ e-touez an treuzgread diskouezet..." #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Diuzañ ur gwezh :" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "krouiñ un treuzgread nevez" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "diuzañ un treuzgread ez eus anezhañ" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "Treuzgreadoù a c'hallfe bezañ an treuzgread kevredet evit an treuzkas " "diabarzh zo bet kavet gant Homebank." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Dibarzh :" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Kounger" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Keloù :" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "Teurel e_vezh ouzh an direnneg" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Ne vern pe stad" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "Skarzhet" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "Reishaet" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Ne vern pe rizh" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Treuzkas" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Kreñvder :" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "skrammañ 'Ouzhpennet'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "skrammañ 'Embannet'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "skrammañ 'Evezh'" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Treuzgread steuñvet" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "ouzhpennañ betek" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "eus bep miz (ezlakaet)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "ouzhpennañ" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "a zeizioù a-raok an deiziad bremanel" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Koust ar c'harbed" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "Dre ziouer" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "Tal_adur :" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "N'haller ket adenvel an emvataer-mañ,\n" "eus '%s' da '%s',\n" "an anv zo anezhañ endeo." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "Toueziñ an emvataer '%s'" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "An treuzgreadoù dezverket ouzh an emvataer-mañ\n" "a vo dilec'hiet betek an trede bet diuzet amañ dindan." #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "_Dilemel an emvataer '%s'" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "War arver emañ an emvataer.\n" "Pep treuzgreag oc'h ober gant an emvataer-mañ a vo lakaet da (emvataer ebet)" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Ardeiñ an emvataerion" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "emvataer nevez" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Ketal" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Treuzgreadoù" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Enporzhiañ/Ezporzhiañ" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Danevell" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Arventennoù dre ziouer ar reizhiad" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Arlunioù hepken" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Testenn hepken" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Testenn dindan an arlunioù" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Testenn e-kichen an arlunioù" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "A-blaen" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "A-serzh" #: ../src/ui-pref.c:109 msgid "Both" msgstr "An eil hag egile" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango sklaer" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango etre" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango teñval" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "m-d-b" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "d-m-b" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "b-m-d" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Leuskel a-gostez" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Ouzhpennañ da Stlennoù" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Ouzhpennañ da Kounger" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Yezh ar reizhiad" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Dibab ur c'havlec'hiad restroù mod Homebank dre ziouer" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Dibab ur c'havlec'hiad enporzhiañ dre ziouer" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Dibab ur c'havlec'hiad ezporzhiañ dre ziouer" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "Dibarzhioù ar restroù mod OFX/QFX" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Sil deraouiñ" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Dibarzhioù an diervadoù" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Dibarzhioù ar stadegoù" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Diskouez dre s_avad" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Diskouez bann ar feu_r" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Diskouez ar munu_doù" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Dibarzhioù ar c'hellidsteuñv" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Gweredekaat" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Ragarventennañ :" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Yezh :" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "_Mentrezh :" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Bloavezh kemedel" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "Kre_giñ a ra d'an/ar :" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Unanennoù muzuliañ" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Ober gant _mileoù evit ar pellder" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "Arverañ ar _gallon evit ar strilheoul" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Prenestr an treuzgread" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Ouzhpennadurioù lies" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Mirout an deiziad diwezhañ" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Barrennad ostilhoù :" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Livioù ar savadoù" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Arverañ a ra al livioù personelaet" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "E_zkefiad :" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "E_nkefiad :" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Evezh :" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "E_nporzhiañ :" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Ezporzhiañ :" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Loc'hadur ar goulev" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Diskouez ar skeudenn ginnig" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Kargañ ar restr digoret da ziwezhañ" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Kas an treuzgreadoù steuñvet o c'hortoz" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Danevelloù ar prenestr pennañ" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Gwellvezioù" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "Ret eo deoc'h adloc'h Homebank\n" "a-benn ma vo efedus ar c'hemm yezh." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "Treuzgread kroueriet" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Savad an treuzgread :" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Anderannet :" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Sammad ar marzioù" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Ha fellout a ra deoc'h terriñ an treuzkas diabarzh ?\n" "\n" "Mar bez graet e vo dilamet an treuzgread arvoned." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "_Ouzhpennañ" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "_Kas" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Ouzhpennañ un treuzgread" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Treuzgread dre hêrezh" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Deiziad :" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "Koung_er :" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "Embannadur treuzgreadoù lies" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "Patrom" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Enlakaat" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Ezlakaat" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(rizh ebet)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Arc'hant liñvel" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Fred" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Kartenn gred" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Diwan" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "E korf an 30 deiz diwezhañ" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "E korf an 60 deiz diwezhañ" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "E korf an 90 deiz diwezhañ" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "E korf an 12 miz diwezhañ" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "An holl zeiziadoù" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Gallout a ra bezañ" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Kent" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "Goude" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "Diskarzhet" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Digompez" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Dirummad" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Genver" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "C'hwevrer" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Meurzh" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Ebrel" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Mezheven" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Gouere" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Eost" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Gwengolo" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Here" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Du" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Kerzu" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Gwe" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "Klask..." #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Chekenn" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Kartenn dle" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Urzh treuzkas" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Taladur elektronek" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Fiziad" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "Mizoù arc'hant un ensavadur" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Dle dihanterat" homebank-5.3.2/po/he.po0000644000175000017500000025473313620025311011607 00000000000000# Hebrew translation for homebank # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2007. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2019-03-12 18:27+0000\n" "Last-Translator: rochai \n" "Language-Team: Hebrew \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" "X-Language: he\n" "X-Source-Language: en\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "מימון אישי" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "ראיית חשבונות אישית חופשית, קלה ופשוטה לכולם" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "מימון;פיננסים;חשבונאות;תקציב;אישי;כסף;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "זו תוכננה לשימוש קל ומסוגלת לנתח מימון אישי לפרטים באמצעות כלי סינון יעילים " "מאוד ותרשימים מרשימים." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "אם אתה מחפש דרך לנהל את החשבונות האישיים שלך בקלות וללא עלות, Homebank היא " "התכנה בשבילך." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "נמצאו %d קבוצות של עסקאות דומות" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "לא נמצאו עסקאות תואמות" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "לא נמצא חוסר עקביות" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "חוסר עקביות נמצא: %d\n" "האם ברצונך לסקור ולתקן?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "כל סכום עסקה יחולק ב %.6f" #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "האם לשנות את מטבע החשבון ל-Euro\n" "כמטבע עיקרי?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "לא בוצעו שינויים בעסקאות" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "עסקה עודכנה: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "תוצאה של השמה אוטומטית" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "האם ליצור תבנתי באמצעות\n" "כל אחת מהעסקאות הנבחרות?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "האם למחוק את\n" "כל העסקאות שנבחרו?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_מחק" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "האם אתה בטח כי ברצונך לשנות את הסטטוס אל אין?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "חלק מהעסקאות שנבחרו כבר הושלמו." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_שינוי" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "האם לעדכן את סטטוס העסקא ל-'הושלם'?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_החלף" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "%d עסקאות" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "יצא QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "יצא CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "ייצא כ-PDF" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_סגור" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "ע_ריכה" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "הוספה..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "הור_ש..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_ערוך..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_סטטוס" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_אין" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "הו_סדר" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "הו_שלם" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "_עריכה מרובה..." #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "צור תבנית..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_מחק..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_כלים" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "סמן ככפול" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "השמות אוטומטיות" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "מ_סנן..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "המר ל-Euro" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "הוסף עסקה חדשה" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "הוסף" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "הורש מתוך העסקה הפעילה" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "הורש" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "ערוך עסקאות פעילות" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "ערוך" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "הגדר עסקאות נבחרות כמוסדרות" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "הגדר עסקאות נבחרות כמושלמות" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "ערוך מספר עסקאות" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "צור תבנית" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "מחק עסקאות נבחרות" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "(סגור)" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "כל העסקאות" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "_רענן" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_טווח:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_טיפוס:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "ס_טטוס:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "אפ_ס" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "פתח את מסנן הרשימה" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "בנק:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "היום:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "עתיד:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "החזר שינויים לא שמורים לקובץ '%s'?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "- שינויים אשר נעשו לקובץ יאובדו לעד\n" "- קובץ ייטען מחדש מתוך השמירה האחרונה (.xhb~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_שחזר" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "האם אתה בטוח כי ברצונך להפוך את הקובץ לעלום?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "המשך יהפוך לעלום כל טקסט, \n" "כגון 'חשבון x', 'מוטב y', 'מזכר z', ..." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_עילום" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "ברוכים הבאים אל HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "מה ברצונך לעשות:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "לקרוא מדריך _HomeBank" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "הגדר _העדפות" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "ליצור קובץ _חדש" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_לפתוח קובץ קיים" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "לפתוח קובץ _דוגמא" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "שגיאת I/O לקובץ '%s'." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "הקובץ '%s' אינו קובץ HomeBank תקני." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "הקובץ '%s' נשמר בעזרת גרסא מתקדמת יותר של HomeBank\n" "ולא יכול להיטען על ידי הגרסא הנוכחית." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "שגיאת קובץ" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_קובץ" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_חדש" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_פתח..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_שמור" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "שמירה _בשם..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "ייבוא..." #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "שחזר" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "מאפיינים..." #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "י_ציאה" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "העדפות..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_תצוגה" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_סרגל כלים" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "הוצאה _עיקרית" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "יורו שולי" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_ניהול" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "_חשבונות..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "מוט_בים..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "סיווגים..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "תזמון/תבנית..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "תקציב..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "משימות..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "מטבעות..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "ע_סקאות" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "הוסף..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "הצג..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "הגדר מתזמן..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "מתוכננות בדיעבד" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_דיווחים" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_סטטיסטיקה..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_מגמת זמן..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "תק_ציב..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "_עלויות רכב..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "הצג דו שיח התחלה..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "סטטיסטיקת קובץ..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "עילום (אנונימיזציה)..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_עזרה" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_תכנים" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "דווח על בעיה..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "תרגם יישום זה..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_אודות" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "צור קובץ חדש" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_פתח" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "פתח קובץ" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "פתח קובץ שהיה בשימוש לאחרונה" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "שמור את הקובץ הנוכחי" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "הגדר חשבונות" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "הגדר מוטבים" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "הגדר סיווגים" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "הגדר עסקאות מתוזמנות/תבנית" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "הגדר תקציב" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "הגדר השמות אוטומטיות" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "הצג עסקאות חשבון נבחרות" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "הוסף עסקאות" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "פתח דו״ח סטטיסטיקה" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "פתח דו״ח מגמת זמן" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "פתח דו״ח מאזן" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "פתח דו״ח תקציב" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "פתח דו״ח עלויות רכב" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "מתוזמן" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "עתיד" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "הזכר" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(אין סיווג)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "פורמט CSV לא חוקי" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "תאריך" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "מידע" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "מוטב" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "מזכר" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "סכום" # ןיתרה #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "מאז" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "לא מוכר" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f ל" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "ק״מ/ל" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "מייל/ל" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(אין מוטב)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "הצג מידע אודות הגירסה וצא" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[קובץ]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "שגיאת דפדפן." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "לא ניתן להציג את הכתובת: '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "אפשרויות HomeBank" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "לא ניתן לפתוח '%s', הקובץ איננו קיים.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(אין מוסד)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "החשבון שלך" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "הרחב הכל" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "צמצם הכל" #: ../src/hub-account.c:547 msgid "Show all" msgstr "הצג הכל" #: ../src/hub-account.c:552 msgid "By type" msgstr "לפי סוג" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "אין עסקה להוספה" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "התווספה עסקה: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "תוצאת בדיקת עסקאות מתוכננות" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "סה״כ" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "עסקאות מתוכננות" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "דלג" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "ערוך וממש" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "ממש" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "מועד מימוש מרבי" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "הוצאה עיקרית" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "%d הוצאות עיקריות" #: ../src/hub-spending.c:294 msgid "Other" msgstr "אחר" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "לאן הולך הכסף שלך" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "סך כולל" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "חשבונות" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "בנק" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "היום" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- פילוג -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "חשבון" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "סטטוס" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "הוצאה" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "הכנסה" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "סיווג" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "תגיות" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "איחור" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "מועד הבא" #: ../src/rep-balance.c:76 msgid "List" msgstr "רשימה" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "הצג תוצאות בתור רשימה" #: ../src/rep-balance.c:77 msgid "Line" msgstr "עקומה" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "הצג תוצאות בתור עקומות" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "רענן" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "רענן תוצאות" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "פירוט" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "פרטים" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d תחת %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "דו״ח מאזן" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "תצוגה" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "ח_שבון:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "בחר ה_כל" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "כל _יום" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_זום X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "מסנן תאריך" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_מן:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_עד:" #: ../src/rep-budget.c:787 msgid " over" msgstr " עודף" #: ../src/rep-budget.c:793 msgid " left" msgstr " נותר" #: ../src/rep-budget.c:796 msgid " under" msgstr " בחובה" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "תקציב עבור %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "תקציב" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "תוצאה" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "הצג תוצאות בתור שורות מסודרות בערימה" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "דו״ח תקציב" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_הצג לפי:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "תוצאה:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "תקציב:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "הוצאות:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "אין חשבון אשר מוגדר כדי להוות חלק מן התקציב." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "עליך להגדיר אילו חשבונות מתוך דו שיח חשבון." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "הוצאות" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "סיווג משני" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "תגית" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "חודש" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "שנה" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "הוצאות וגם הכנסות" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s לפי %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "הצג תוצאות בתור עמודה" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "הצג תוצאות בתור עוגה" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "מקרא" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "שיעור" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "ערוך מסנן" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "דו״ח סטטיסטי" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "לפי ס_כום" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "מאזן:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "הכנסה:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "הוצאה:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "יום" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "שבוע" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "רבעון" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s במשך זמן" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "ממוצע: %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "דו״ח מגמת זמן" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "סיוו_ג:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "מוט_ב:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "ת_גית:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_צבור" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "חיתוך לפי זמן" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "מונה" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "דלק" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "מחיר" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "מרחק" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "יצוא כ-CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "דו״ח עלויות רכב" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "_רכב:" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "מונה:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "צריכה:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "עלות דלק:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "עלות אחרת:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "עלות כוללת:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(אין)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "מוצג" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_ביטול" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_אישור" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "שם חשבון" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "שגיאה" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "לא מסוגל להוסיף חשבון '%s',\n" "שם זה כבר קיים." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "לא יכול למחוק חשבון '%s'" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "חשבון זה מכיל עסקאות ו/או הינו חלק מתוך עסקאות פנימיות." #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "האם אתה בטוח כי ברצונך למחוק את '%s' לצמיתות?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "כאשר אתה מוחק חשבון, זה יאבד לעד." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "לא מסוגל לשנות את שם חשבון זה,\n" "מן '%s' אל '%s',\n" "שם זה כבר קיים." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "ניהול חשבונות" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "גרורו השחרר כדי לשנות את הסדר\n" "לחיצה-כפולה כדי לשנות שם" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "כללי" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "_מספר:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "איזון ה_תחלה:" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "_מטבע:" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "חשבון זה _נסגר" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "הערות:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" # מניעת דיווח #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "הוצאה מכלל דיווח" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "הוצא מתוך _סיכום חשבון" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "הוצא מתוך ה_תקציב" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "הוצא מתוך ה_דיווחים" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "מספר שיק נוכחי" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "פנקס שיקים _1:" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "פנקס שיקים _2:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "כאשר אתה מוחק תזמון/תבנית, זו תאבד לעד." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "_מועד הבא:" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "_כל:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "סוף שבוע:" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_הפסק כעבור:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "ממומשות" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "ניהול עסקאות מתוזמנות/תבנית" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "כאשר אתה מוחק משימה, זו תאבד לעד." #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "מושבת" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "אם ריק" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "שכתוב" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "ניהול משימות" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "תנאי" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "תש_לום:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "חשבון HomeBank חדש (%d מתוך %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "לא נמצא" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_בעלים:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "מטבע:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "מאפייני קובץ" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "איתור מערכת" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "שפות:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "קובץ מוגדר מראש:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "התחל את הסיווגים שלי בעזרת קובץ זה" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "סיווגים מוגדרים מראש" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_שם:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "מאזנים" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_סכום התחלתי:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_משיכת יתר החל מן:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "יצירת חשבון" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "זהו עמוד אימות, לחץ 'החל' כדי להחיל שינויים" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "אימות" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "שם" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "קבצים מוכרים" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "קבצי QIF" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "קבצי OFX/QFX" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "קבצי CSV" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "כל הקבצים" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "סדר תאריך:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "בחר:" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "הכל" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "אין" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "הפוך" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "ימים" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "התיאם נעשה לפי סדר: לפי חשבון, מועד וסכום.\n" "סבילות תאריך של 0 ימים משמעה תיאום מדויק" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "ברוכים הבאים" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "יבוא" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "שגיאת פורמט קובץ" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" "קובץ ה-CSV חייב להכיל את כמות העמודות במדוייק,\n" "מופרדות ע\"י נקודה-פסיק, אנא ראה בעזרה לפרטים נוספים." #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "האם אתה בטוח כי ברצונך לטהר קלט?" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "אם תמשיך, כל סכום יוגדר אל 0." #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "_טהר" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "ניהול תקציב" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "י_בא CSV" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "יצ_א CSV" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "_טהר קלט" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "אפשרויות" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_אכוף מעקב על סיווג זה" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "ינו׳" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "פבר׳" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "מרץ" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "אפר׳" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "מאי" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "יונ׳" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "יול׳" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "אוג׳" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "אוק׳" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "נוב׳" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "דצמ׳" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "סיווג זה הינו מצוי בשימוש.\n" "כל עסקה אשר משתמשת בסיווג זה תוגדר אל (אין סיווג)" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "_מחק את הקטגוריה '%s'" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "מזג" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "מחק סיווגים שאינם בשימוש" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "האם אתה בטוח שברצונך למחוק לצמיתות\n" "סיווגים שאינם בשימוש?" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "ערוך..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "ה_כנסה" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "לא מסוגל לשנות את שם סיווג זה,\n" "מן '%s' אל '%s',\n" "שם זה כבר קיים." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "מיזוג קטגוריה '%s'" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "עסקאות אשר מוקצות לסיווג זה,\n" "יועברו אל הסיווג אשר נבחר מטה." #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "ניהול קטגוריות" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "_מחק לא בשימוש" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "סיווג חדש" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "סיווג משני חדש" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "מטבע בסיס" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "סמל" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "שער המרה" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "ערוך מטבע" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "מטבע" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "תבנית" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "_התאמה אישית" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "_סימן" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "ספרות _שבר:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "_סימן קיבוץ (של אלפים וכד'):" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "בחר מטבע בסיס" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "בחר מטבע" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "אם אתה מוחק מטבע, הוא יאבד לצמיתות." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "שינוי מטבע הבסיס" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" "אם אתה ממשיך, שערי מטבע אחרים\n" "ישתנו ל-0, אל תשכח לעדכן." #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "מטבעות" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "עדכן אונליין" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "בחר כבסיס" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "סטטיסטיקת קובץ" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "עסקה" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "משימה" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "שדרג" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "בחר מטבע בסיס" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "ייצוא כ-QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "יבוא מתוך CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "פתח קובץ HomeBank" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "שמור קובץ HomeBank בשם" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "קבצי HomeBank" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "לשמור שינויים לקובץ לפני סגירה?" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "אם לא תשמור, שינויים יאבדו לעד.\n" "מספר שינויים: %d." #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "_סגור מבלי לשמור" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "בחר מתוך עסקאות אפשריות..." #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "בחר פעולה:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "צור עסקה חדשה" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "בחר עסקה קיימת" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "‏HomeBank מצאה איזו עסקה אשר אולי היא העסקה המשוייכת להעברה הפנימית." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "אפש_רות:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "ת_זכיר:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_מידע:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "תלוי _רישיות" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "כל סטטוס" # נוקה #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "הוסדר" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "הושלם" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "כל טיפוס" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "העברה" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "אכוף:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "הצג 'נתווסף'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "הצג 'נערך'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "הצג 'תזכורת'" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "תאריכים" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "תשלומים" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "סכומים" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "סיווגים" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "מוטבים" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "עסקה מתוכננת" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "הוסף עד יום" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "של כל חודש (לא נכלל)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "הוסף" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "ימים לפני התאריך הנוכחי" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "עלויות רכב" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "מחק מוטב שאינו בשימוש" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "האם אתה בטוח שאתה רוצה\n" "למחוק לצמיתות מוטב שאינו בשימוש" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "ברירת מחדל" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "ת_שלום:" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "לא מסוגל לשנות את שם מוטב זה,\n" "מן '%s' אל '%s',\n" "שם זה כבר קיים." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "מזג מוטב '%s'" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "עסקאות אשר מוקצות למוטב זה,\n" "יועברו אל המוטב אשר נבחר מטה." #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "_מחק את המוטב '%s'" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "מוטב זה הינו מצוי בשימוש.\n" "כל עסקה אשר משתמשת במוטב זה תוגדר אל (אין מוטב)" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "ניהול מוטבים" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "מוטב חדש" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "ממשק" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "עסקאות" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "יבוא/יצוא" #: ../src/ui-pref.c:89 msgid "Report" msgstr "דיווח" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "ברירות מחדל מערכת" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "סמלים בלבד" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "טקסט בלבד" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "טקסט מתחת סמלים" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "טקסט לצד סמלים" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "אופקי" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "אנכי" #: ../src/ui-pref.c:109 msgid "Both" msgstr "גם וגם" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango light" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango medium" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango dark" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "חודש-יום-שנה" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "יום-חודש-שנה" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "שנה-חודש-יום" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "התעלם" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "הוסף למידע" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "הוסף למזכר" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "צרף למוטב" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "שפת מערכת" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "בחירת תיקיית קבצים HomeBank שגרתית" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "בחירת תיקיית יבוא שגרתית" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "בחירת תיקיית יצוא שגרתית" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "אפשרויות OFX/QFX" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "אפשרויות QIF" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "מסנן התחלתי" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "אפשרויות תרשים" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "ערכת צבעים:" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "אפשרויות סטטיסטיקה" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "הצג לפי _סכום" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "הצג טור _אחוזים" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "הצג _פרטים" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "אפשרויות תקציב" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_אפשר" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_קבועים מראש:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_שפה:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "_פורמט:" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "שנת כספים" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "מתחילה _ביום:" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "יחידות מידה" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "השתמש ב_מיילים לצורך מונה" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "השתמש ב_גלונים לצורך דלק" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "חלון עסקה" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "הוספה מרובה" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "שמור את המועד האחרון" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "סרגל _כלים:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "_קווי רשת:" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "צבעי סכום" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "בחר צבעים מותאמים" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_הוצאה:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "ה_כנסה:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_אזהרה:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "י_בוא:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "י_צוא:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "התחלת תוכנית" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "הצג מסך פתיחה" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "פתח קובץ אחרון" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "עסקאות מתוכננות תלויות ועומדות בדיעבד" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "דיווחי חלון ראשי" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "הגדרות" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "עליך להתחיל מחדש את HomeBank\n" "על מנת שהשפה תיכנס לתוקף." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "פילוגי עסקה" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "סכום עסקה:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "לא מוקצה:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "חישוב של פילוגים:" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "האם ברצונך לשבור העברה פנימית ?\n" "\n" "המשך ימחק עסקת יעד." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "הוס_ף" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "_ממש" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "הוספת עסקה" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "הורשת עסקה" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_תאריך:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "ת_זכיר:" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "עריכה מרובה של עסקאות" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "תבנית" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "הכלל" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "הוצא" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(אין טיפוס)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "מזומן" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "נכס" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "כרטיס אשראי" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "התחייבות" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "חודש נוכחי" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "חודש קודם" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "רבעון נוכחי" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "רבעון קודם" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "שנה נוכחית" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "שנה שעברה" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "30 ימים אחרונים" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "60 ימים אחרונים" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "90 ימים אחרונים" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "12 חודשים אחרונים" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "כל התאריכים" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "אפשרי" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "לפני" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "אחרי" # לא מנוקה #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "לא מוסדר" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "לא הושלם" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "לא מסווגת" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "ינואר" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "פברואר" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "מרץ" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "אפריל" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "יוני" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "יולי" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "אוגוסט" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "ספטמבר" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "אוקטובר" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "נובמבר" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "דצמבר" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "ספט׳" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "שיק" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "כרטיס חיוב" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "הוראת קבע" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "תשלום אלקטרוני" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "הפקדה" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "אגרת FI (מוסד פיננסי)" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "הרשאה לחיוב" homebank-5.3.2/po/fr.po0000644000175000017500000026762213620025276011635 00000000000000# GTK+ HomeBank # Copyright (C) 1995-2013 # This file is distributed under the same license as the HomeBank package. # Maxime Doyen, 2009. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2020-02-02 20:51+0000\n" "Last-Translator: TG \n" "Language-Team: fr \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" "Language: fr\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "finances personnelles" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Comptabilité personnelle, gratuite, facile pour tous" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "finance;comptabilité;budget;personnel; argent;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "HomeBank est un logiciel libre (comme dans « libre parole » ou « bière " "gratuite ») qui vous assistera pour gérer votre comptabilité personnelle." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "Il est conçu pour être facile d'utilisation et capable d'analyser vos " "finances personnelles en détail à l'aide d'outils de filtrage puissants et " "de beaux graphiques." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Si vous cherchez une application complètement gratuite et facile pour gérer " "votre comptabilité personnelle alors HomeBank est un logiciel de choix." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "Il y a %d groupes d'opérations similaires" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "Pas d'opérations similaires trouvées !" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "Résultat de vérification transfert interne" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "Aucune incohérence trouvée !" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "Incohérence trouvée(s): %d\n" "Voulez-vous passer en revue et corriger ?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Chaque montant d'opération sera divisé par %.6f" #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Êtes-vous sûr(e) de vouloir convertir ce compte\n" "en devise Euro Majeur ?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Convertir" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Aucune opération modifiée" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "opérations changées : %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "Résultat de l'affectation automatique" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Voulez-vous créer un modèle à partir\n" "de chacune des opérations sélectionnées ?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "_Créer" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Voulez-vous supprimer\n" "chacune des opérations sélectionnées ?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_Supprimer" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Êtes-vous sûr(e) de vouloir changer l'état en Aucun ?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "Des opérations dans votre sélection sont déjà rapprochées." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Changer" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Êtes-vous sûr(e) de vouloir basculer l'état à Rapproché ?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_Basculer" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "%d opérations" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d opérations, %d sélectionnées, moy.: %s, somme: %s (%s - %s)" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "_Compte" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Exporter en QIF…" #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Exporter en CSV…" #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "Exporter en PDF..." #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Fermer" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Éditer" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "Copier" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "Coller" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "Coller (date du jour)" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "_Opération" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Ajouter..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Hériter…" #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Éditer…" #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "É_tat" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "Aucu_n" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "_Pointée" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Rapproché" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "Édition _multiple..." #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Créer un modèle..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Supprimer…" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "_Chercher" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "Ou_tils" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "Marquer les doubles..." #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "Vérifier les virements internes" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "Affectations Auto." #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filtrer..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Convertir en Euro..." #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Ajouter une nouvelle opération" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Ajouter" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Hériter depuis l’opération sélectionnée" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Hériter" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Éditer l’opération sélectionnée" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Éditer" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "Pointer les opérations sélectionnées" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "Inverser rapprochée pour les opérations sélectionnées" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Editer plusieurs opérations" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Créer un modèle" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Supprimer les opérations sélectionnées" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "Déplacer vers le haut" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "Déplacer vers le bas" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "(clôt)" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "Toutes opérations" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "_Actualiser" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Plage :" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "Basculer affichage des transactions futures" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Type :" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "É_tat :" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_Réinitialiser" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Ouvrir la liste de filtres" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "Euro _mineur" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Banque :" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Aujourd’hui :" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Futur :" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Rétablir les changement non enregistrés du fichier « %s » ?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "- Les modifications faites au fichier seront perdues\n" "- Le fichier sera restauré à sa dernière sauvegarde (.xhb~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Rétablir" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Êtes-vous sûr(e) de vouloir anonymiser le fichier ?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Continuer va rendre anonyme tous les textes,\n" "en « compte x », « tiers y », « memo z »..." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Anonymiser" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Bienvenue dans HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Que voulez-vous faire :" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Lire le _manuel utilisateur" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "Configurer les _préférences" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Créer un _nouveau fichier" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Ouvrir un fichier existant" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Ouvrir le fichier d’_exemple" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" "Vous êtes sur le point d'ouvrir le fichier de sauvegarde '%s'\n" "\n" "Êtes-vous sûr de vouloir faire cela ?" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "Ouvrir le fichier de sauveguarde" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "_Ouvrir sauvegarde" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Erreur inconnue" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "Erreur d’E/S pour le fichier « %s »." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Le fichier « %s » n'est pas un fichier HomeBank valide." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "Le fichier « %s » à été enregistré dans une version supérieure d’HomeBank\n" "et ne peut être lu par cette version." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Erreur fichier" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "Le fichier a été modifié depuis son ouverture." #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Si vous l’enregistrez, toutes les modifications externes pourraient être " "perdues. Souhaitez-vous enregistrer quand même ?" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "_Enregistrer quand même" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "Vider" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Fichier" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Nouveau" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Ouvrir..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "Ouvrir les _récents" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Enregistrer" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "Enregistrer _sous..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "Importer..." #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "Exporter en QIF..." #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Rétablir" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "Restaurer la sauvegarde" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Propriétés…" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Quitter" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Préférences..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Affichage" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Barre d’outils" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_Top des dépenses" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "Listes en _bas" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro mineur" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Gérer" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "C_omptes…" #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Tiers..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Catégories..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Planifiées/Modèles…" #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Budget…" #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "Budget (vue tableur)" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Affectations…" #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Devises..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "Étiquettes..." #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Opérations" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Ajouter..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Montrer..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "Tout voir..." #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Définir le planificateur…" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Poster les opérations planifiées" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Rapports" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Statistiques…" #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Tendance dans le temps…" #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "So_lde..." #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "B_udget…" #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "Coût _d’utilisation des véhicules…" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Afficher la fenêtre d’accueil…" #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Statistiques du fichier…" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Anonymiser…" #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Aide" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Aide d’HomeBank" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "Obtenez de l'aide en ligne..." #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "Vérifier les mises à jour" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "Notes de Version" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Signalez un problème..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Traduire cette application…" #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_À propos" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Créer un nouveau fichier" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Ouvrir" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Ouvrir un fichier" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Ouvrir un fichier utilisé récemment" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Enregistrer le fichier actuel" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Configurer les comptes" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Configurer les tiers" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Configurer les catégories" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Configurer les opérations planifiées/modèles" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Configurer le budget" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Configurer les affectations automatiques" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Afficher les opérations du compte sélectionné" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Ajouter des opérations" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Ouvrir le rapport de statistiques" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Ouvrir le rapport de tendance dans le temps" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Ouvrir le rapport de solde" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Ouvrir le rapport de budget" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Ouvrir le rapport de coût d’utilisation des véhicules" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "Faire un don au projet HomeBank" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "Planifiée" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Futur" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "Rappel" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(sans catégorie)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "format CSV invalide" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Date" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Info" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Tiers" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Mémo" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Montant" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Solde" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Inconnu" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "mi/l" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(sans tiers)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "%d-s%d" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "%d-t%d" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Afficher les informations de version et quitter" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[FICHIER]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Erreur du navigateur." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Impossible d’afficher l’URL « %s »" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Options d’HomeBank" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Impossible d'ouvrir « %s », le fichier n'existe pas.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(sans institution)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "(sans groupe)" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Vos comptes" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Tout développer" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Tout réduire" #: ../src/hub-account.c:547 msgid "Show all" msgstr "Voir tous" #: ../src/hub-account.c:552 msgid "By type" msgstr "Par type" #: ../src/hub-account.c:553 msgid "By group" msgstr "Par groupe" #: ../src/hub-account.c:554 msgid "By institution" msgstr "Par institution" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Aucune opération à ajouter" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "opérations ajoutées : %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Résultat de l’ajout des opérations planifiées" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Opérations planifiées" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Passer" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Éditer & poster" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Poster" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "date de postage maximum" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Top des dépenses" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "Top %d dépenses" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Autre" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Où va votre argent" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "compte importé" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Total général" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Comptes" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Banque" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Aujourd'hui" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- ventilé -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "- catégorie requise -" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Compte" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "État" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Dépenses" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Revenus" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Catégorie" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Étiquettes" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "En retard" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "Reste" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Prochaine date" #: ../src/rep-balance.c:76 msgid "List" msgstr "Liste" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Voir les résultats en liste" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Ligne" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Voir les résultats en lignes" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Actualiser" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Actualiser les résultats" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Détail" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Afficher le détail" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d en dessous de %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Rapport de solde" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Affichage" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "_Compte :" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "_Tout sélectionner" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Chaque _jour" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Zoom X :" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Filtre de date" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_De :" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_À :" #: ../src/rep-budget.c:787 msgid " over" msgstr " au-dessus" #: ../src/rep-budget.c:793 msgid " left" msgstr " restant" #: ../src/rep-budget.c:796 msgid " under" msgstr " en-dessous" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "Budget pour %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Budget" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Résultat" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "Voir les résultats en barres empilées" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "_Résultat vers presse-papier" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "_Résultat ver CSV" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "_Détail vers presse-papier" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "_Détail vers CSV" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Rapport budget" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Afficher par :" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "Seulement les hors-budget" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Résultat :" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Budget :" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Dépensé :" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Aucun compte n’est défini pour être inclus dans le budget." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "" "Vous devriez inclure des comptes dans la fenêtre de dialogue des comptes." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Dépensé" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Sous-catégorie" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Étiquette" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Mois" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Année" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Débits et crédits" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s par %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "Trop de colonnes à afficher" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" "Sélectionnez un intervalle plus large et / ou une plage de date plus " "restreinte" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "Voir les résultats en colonnes" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "Voir les résultats en camenbert" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Afficher la légende" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Inverser l'affichage du taux" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "Modifier le filtre" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Rapport statistiques" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "Mode :" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Par _montant" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "Inter_val:" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Solde :" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Revenus :" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Dépenses:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "Moyenne" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Jour" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Semaine" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Trimestre" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "Semestriel" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s au fil du temps" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "Moyenne : %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Rapport de tendance dans le temps" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Catégorie :" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Tiers :" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "É_tiquette :" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Cumuler" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "Montrer les lignes vides" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Part de temps" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Compteur" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Carburant" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Prix" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Dist." #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Exporter en CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Rapport de coût d’utilisation des véhicules" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "Véhi_cule :" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Compteur :" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Consommation :" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Coût carburant :" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Autres coûts :" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Coût total :" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(aucun)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Visible" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Annuler" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Nom du compte" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Erreur" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Impossible d’ajouter un compte « %s »\n" "ce nom existe déjà." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "Impossible de supprimer le compte « %s »" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" "Ce compte contient des transactions et / ou fait partie de virements " "internes." #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Êtes-vous sûr(e) de vouloir supprimer définitivement « %s » ?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "Si vous supprimez un compte, il sera définitivement perdu." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Impossible de renommer ce compte,\n" "de « %s » vers « %s »,\n" "ce nom existe déjà." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Gérer les comptes" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "Renommer" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "Supprimer" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Glisser et déposer pour changer l’ordre\n" "Double-cliquez pour renommer" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Général" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "_Groupe :" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "_Institution:" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "N_uméro :" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Solde _initial :" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "_Devises :" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "ce compte est clos" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "Notes :" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "Comportement" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "Automatisation" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "_Modèle par défaut:" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Exclusion des rapports" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "exclure du ré_sumé des comptes" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "exclure du _budget" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "exclure de tous les _rapports" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "Divers" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Numéro de chèque en cours" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Carnet de chèque _1 :" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Carnet de chèque _2 :" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "Limites de solde" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "_Découvert à:" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" "Si vous supprimez une planification/modèle, elle sera définitivement perdu." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Prochaine _date :" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "To_us les :" #: ../src/ui-archive.c:982 msgid "More options" msgstr "Plus d’options" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Week-end :" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_Arrêt après :" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "postage" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Gérer les opérations planifiées/modèles" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "_Programme" #: ../src/ui-assign.c:303 msgid "Search" msgstr "Rechercher" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "Notes" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "(règle %d)" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "Si vous supprimez une affectation, elle sera définitivement perdu." #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "Ce texte de recherche existe déjà" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "Désactivé" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "Si vide" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "Remplacer" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Gérer les affectations" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "Glisser & déposer pour modifier l'ordre" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Condition" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "_Rechercher:" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "Sensible à la casse" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "Expression régulière" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "_Dans:" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "Affectations" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Paie_ment :" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Nouveau fichier HomeBank (%d sur %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Non trouvé" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Propriétaire :" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "Devise :" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Propriétés du fichier" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "Détection du système" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Langues :" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Fichier prédéfini :" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Initialiser mes catégories avec ce fichier" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Catégories prédéfinies" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "Informations" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Nom :" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Soldes" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Initial :" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "Déc_ouvert à :" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Créer un compte" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Ceci est une page de confirmation, cliquez sur « Appliquer » pour appliquer " "les changements." #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Confirmation" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "Valide" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Nom" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Fichiers connus" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "Fichiers QIF" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "Fichiers OFX/QFX" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "Fichiers CSV" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Tous les fichiers" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "nouveau compte global" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "nouveau compte" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "sauté" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr ", %d de %d opérations" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" "Des dates ne peuvent être converties. Veuillez essayer de changer le format " "de date pour continuer" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "Importer %s _vers:" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "ce fichier" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "ce compte" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" "Nom: %s\n" "Numéro: %s\n" "Fichier: %s\n" "Codage %s" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "%d opération(s), %d similaire, %d existante, %d sélectionnée" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d opération(s), %d sélectionnée" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "Importer l'opération depuis la banque ou la carte de crédit" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" "Avec cet assistant vous serez guidé durant l'import d'un ou plusieurs\n" "relevé téléchargé depuis votre banque ou carte de crédit, dans les formats " "suivants:" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" "Recommandé: .OFX ou .QFX\n" "(parfois nommé Money ™ ou Quicken ™)\n" "Pris en charge: .QIF\n" "(fichier Quicken ™)\n" "Utilisateurs avancés uniquement: .CSV\n" "(le format est spécifique à HomeBank, voir la documentation)" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" "Aucun changement ne sera effectué jusqu'à ce que vous cliquiez sur " "\"Appliquer\" à la fin de cet assistant." #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "Ne pas montrer de nouveau" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" "Glisser & déposer un ou plusieurs fichiers a importer.\n" "Vous pouvez aussi utiliser les boutons ajouter/supprimer de la liste." #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" "Il y a trop de compte dans les fichiers que vous avez choisis,\n" "Veuillez utiliser le bouton Précédent pour sélectionner moins de fichiers." #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "L'identification du compte cible par nom ou numéro a échoué." #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Ordre des dates :" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "_Importer memos" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "_Inverser memos avec tiers" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "_Nom OFX:" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "_Memo OFX:" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "Sélection :" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Tous" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Aucun" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Inverser" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "Casse de phrase pour memo/tiers" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "Transaction similaire dans le compte cible (duplicata possible)" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "Ecart _date:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "jours" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "La concordance est faite dans l’ordre par : compte, montant et date.\n" "Une tolérance de date de 0 signifie un concordance exacte." #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "Jouer l'automatisation" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "1) Enrichir avec le défaut des _tiers" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "2) Lancer les règles d'affectation automatique" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "Cliquer \"Appliquer\" pour mettre à jour vos comptes" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "Bienvenue" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "Sélectionner fichier(s)" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "Importer" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Erreur de format du fichier" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" "Le fichier au format CSV doit contenir le nombre exact de colonnes,\n" "séparées par un point-virgule, reportez-vous à l’aide pour plus de détails." #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "Êtes-vous sûr(e) de vouloir effacer l'entrée ?" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "Si vous continuez, chaque montant sera réglé à 0." #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "_Vider" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Gérer le budget" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "_Importer CSV" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "E_xporter CSV" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "est le même chaque mois" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "_Vider les valeurs" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "est différent chaque mois" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Options" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Forcer l’affichage de cette catégorie" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Fév" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Avr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Mai" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Jui" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Juil" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Aoû" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "Sept" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Oct" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Déc" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "Synthèse" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "Totaux" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "Total annuel" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "Moyenne mensuelle" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "Mensuel" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "Ajouter une catégorie" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "A_ppliquer" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "Catégorie parente" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "Nom de la catégorie" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Cette catégorie est utilisée.\n" "Toute opération utilisant cette catégorie sera définie en (sans catégorie)" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "Fusionner les catégories" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" "Les opérations affectées à la catégorie '%s', vont être modifiées vers la " "catégorie sélectionnées ci-dessous." #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "Catégorie cible" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "_Supprimer la catégorie « %s »" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "Êtes-vous sûr de vouloir éffacer les saisies pour '%s' ?" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "Budget (vue tableur)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "Ajouter catégorie" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "Supprimer catégorie" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "Fusionner" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "Effacer la saisie" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "Supprimer les catégories inutilisées" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Êtes-vous sûr(e) de vouloir supprimer\n" "définitivement les catégories inutilisées ?" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "Éditer..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Revenus" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "Modifier le type des en_fants" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Impossible de renommer cette catégorie,\n" "de « %s » vers « %s »,\n" "ce nom existe déjà." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "Fusionner la catégorie « %s » ?" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "Les opérations affectées a cette catégorie,\n" "seront déplacées vers la catégorie sélectionnée ci-dessous." #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Gérer les catégories" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "_Supprimer inutilisé" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "Bouger/Fusionner" #: ../src/ui-category.c:2349 msgid "new category" msgstr "nouvelle catégorie" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "nouvelle sous-catégorie" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Devise de base" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Symbole" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "Taux de change" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "Dernière modification" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Éditer la Devise" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "Devise" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "Format" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "_Personnaliser" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "_Symbole :" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "est pré_fixe" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "Caractère _décimal:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "Nombre de _décimales :" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "Car. de _groupement:" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Choisir la devise de base" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Sélection de devise" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "Code ISO" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "Ajouter une _devise personnalisée" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "_ISO :" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "Erreur de mise à jour en ligne" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "Si vous supprimez une devise, elle sera définitivement perdue." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Changer la devise de base" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" "Si vous continuez, le taux de change des autres devises\n" "sera remis a 0, n'oubliez pas de mettre à jour" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Devises" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "Mise à jour en ligne" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "Définir comme base" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Statistiques du fichier" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "Opération" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "Affectation" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "Mettre à niveau" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "Choisir une devise de base" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "A partir de la v5.1, HomeBank peut gérer plusieurs devises\n" "si la devise ci dessous n'est pas correcte, merci de la changer:" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Exporter en QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Importer depuis CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "Ouvrir un fichier HomeBank" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "Ficher de sauveguarde HomeBank" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "Enregistrer le fichier HomeBank sous" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "Fichiers HomeBank" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "Fichier sauvegarde" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "Toutes les sauveguardes" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "Enregistrer les modifications avant de fermer le fichier ?" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Si vous n'enregistrez pas, les modifications seront définitivement perdues.\n" "Nombre de modifications : %d." #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "Fermer _sans enregistrer" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "Exporter en PDF" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "Exporter en _PDF" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "Dossier :" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "Sélectionnez un dossier" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "Nom du fichier:" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Choisissez parmi les opérations possibles…" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Sélectionner une action :" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "créer une nouvelle opération" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "choisir une opération existante" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "HomeBank a trouvé des opérations qui peuvent être les opérations cibles du " "virement interne." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Option :" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Mémo :" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Informations :" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "_Sensible à la casse" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Tous les états" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "Pointée" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "Rapprochée" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Tous les types" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Virement" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Forcer :" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "afficher « Ajoutés »" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "afficher « Édités »" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "afficher « Rappel »" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "afficher 'Nul'" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "Dates" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "Paiements" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "Montants" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "Textes" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "Catégories" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "Tiers" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "_Titre:" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Opérations planifiées" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "ajouter jusqu’au" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "de chaque mois (exclu)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "ajouter" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "jour(s) à l’avance d’aujourd’hui" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Coût d’utilisation des véhicules…" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "Paie." #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "Supprimer les tiers inutilisés" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Êtes-vous sûr(e) de vouloir supprimer\n" "définitivement les tiers inutilisés ?" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "Défaut" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "Pa_iement :" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Impossible de renommer ce tiers,\n" "de « %s » vers « %s », ce nom existe déjà." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "Fusionner le tiers « %s » ?" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Les opérations affectées a ce tiers,\n" "seront déplacées vers le tiers sélectionnée ci-dessous." #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "_Supprimer le tiers « %s »" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "Ce tiers est utilisé.\n" "Toute opération utilisant ce tiers sera définie en (sans tiers)" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Gérer les tiers" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "nouveau tiers" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Interface" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "Localisation" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Opérations" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Importer/Exporter" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Rapport" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "Sauvegarde" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "Dossiers" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Défaut du système" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Icônes uniquement" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Texte uniquement" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Texte sous les icônes" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Texte à côté des icônes" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "Horizontale" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "Verticale" #: ../src/ui-pref.c:109 msgid "Both" msgstr "Les deux" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango clair" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango moyen" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango foncé" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "m-j-a" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "j-m-a" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "a-m-j" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Ignorer" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Ajouter à Info" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Ajouter à Mémo" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "Ajouter au tiers" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "Tab" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "Virgule" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "Point-virgule" #: ../src/ui-pref.c:149 msgid "Space" msgstr "Espace" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Langue système" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Choisir le dossier par défaut des fichiers HomeBank" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "Choisissez un dossier de backup par défaut" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Choisir le dossier par défaut des imports" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Choisir le dossier par défaut des exports" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "Options générales" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "Options OFX/QFX" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "Options QIF" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "Options CSV" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "(import opération uniquement)" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "Séparateur :" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Filtre initial" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Options des graphiques" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "Thème de couleurs :" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Options des statistiques" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Montrer par _montant" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Montrer la _colonne des taux" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Montrer les _détails" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Options du budget" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "Activ_er" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Prédéfini :" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "Interface utilisateur" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Langue :" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "Affichage _date:" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "_Format :" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" "%a abréviation du jour de la semaine.\n" "%A nom complet du jour de la semaine.\n" "%b abréviation du mois.\n" "%B nom complet du mois.\n" "%c affichage de l’heure et de la date.\n" "%C le siècle représenté par un nombre [00-99].\n" "%d le jour du mois représenté par un nombre [01,31].\n" "%D identique à %m/%d/%y.\n" "%e le jour du mois représenté par un nombre [1,31]; les chiffres seuls sont " "précédés par un espace.\n" "%j le jour de l’année représenté par un nombre [001,366].\n" "%m le mois représenté par un nombre [01,12].\n" "%p représentation appropriée de la date.\n" "%y l’année représentée par un nombre sans le siècle [00,99].\n" "%Y l’année représentée par un nombre incluant le siècle." #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Année fiscale" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "Début _le :" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Unités de mesure" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Utiliser les _miles pour le compteur" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "Utiliser les _gallons pour le carburant" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Fenêtre des opérations" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "_Voir futures:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "jours avant" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "Cacher les rapprochées" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "Toujours afficher les rappels" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "Toujours afficher nul" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "Inclure les rappels dans le solde" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "Afficher un texte de confirmation" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Ajouts multiples" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Garder la dernière date" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "Mémo autocomplete" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "Actif" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "jours glissants" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Barre d’outils :" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "Lignes de _grille:" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Couleurs des montants" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Utiliser des couleurs personnalisées" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Dépenses" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Revenus" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Alerte :" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "_Activer les sauvegardes automatiques" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "_Nombre de sauvegardes à conserver:" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "La fréquence des sauvegarde est une fois par jour" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "_Portefeuilles:" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "Sauve_gardes:" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "Fichiers d'échanges" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Importer :" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "E_xporter :" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Démarrage du programme" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Montrer la fenêtre de démarrage" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Charger le dernier fichier ouvert" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Poster les opérations planifiées en attente" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "Mise à jour des devises en ligne" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Rapports de l'accueil" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "Réinitialiser toutes les préférences" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" "Voulez-vous vraiment réinitialiser\n" "toutes les préférences à défaut\n" "valeurs?" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Préférences" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "Vous devez redémarrer HomeBank\n" "pour que la modification de langue soit effective." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" "Le dossier de sauvegarde a changé,\n" "vous pourriez copier les fichier '.bak' vers ce nouveau dossier." #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" "Attention: la somme des ventilations et le type d'opération ne concordent pas" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "Opération ventilée" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "Tout supprimer" #: ../src/ui-split.c:851 msgid "Apply" msgstr "Appliquer" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "Annuler" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Montant de l’opération :" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Non-affecté :" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Somme des ventilations :" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Impossible de renommer cette étiquette,\n" "de « %s » vers « %s »,\n" "ce nom existe déjà." #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "Gérer les étiquettes" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "nouvelle étiquette" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "Opération de %s créée." #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Voulez-vous supprimer le lien interne du virement ?\n" "\n" "Si oui, le virement lié sera supprimé." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "_Briser" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "Montrer les _planifiées" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "Voir _tous les comptes" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "Utiliser un modèle" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "Ajouter & Co_nserver" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "_Ajouter" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "_Poster" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Ajouter une opération" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "Ajouter un modèle" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Hériter d’une opération" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "Hériter le modèle" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "Editer l'opération" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "Editer le modèle" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Date :" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" "- tapez: j, j/m, m/j une date complète\n" "- utilisez les touches flèche + ctrl ou shift\n" "- vider pour aujourd'hui" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "Monta_nt:" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "_À :" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "Carnet _2" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" "- tapez des lettre pour l’auto-complétion\n" "- tapez nouveau texte pour créer nouvelle entrée" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "Catégorie:" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "M_émo :" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "É_tiquettes:" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "Attention: signe de montant et signe de catégorie ne concordent pas" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "Édition d'opérations multiples" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" "Typer comme\n" "virement" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "Modèle" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "Temps" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "Tendance" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "Eteint" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Inclure" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Exclure" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(sans type)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Espèces" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Biens" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Carte de crédit" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Dettes" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "Ce mois" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "Le mois dernier" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "Ce trimestre" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "Le trimestre dernier" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "Cette année" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "L’année dernière" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Les 30 derniers jours" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Les 60 derniers jours" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Les 90 derniers jours" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Les 12 derniers mois" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "personnalisé" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Toutes les dates" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "Nul" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Possible" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Avant" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "Après" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "Non pointée" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Non-rapprochée" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Sans catégorie" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "Lun." #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "Mar." #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "Mer." #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "Jeu." #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "Ven." #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "Sam." #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "Dim." #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Janvier" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Février" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Mars" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Avril" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Juin" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Juillet" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Août" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Septembre" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Octobre" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Novembre" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Décembre" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "Rechercher..." #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Chèque" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "Virement bancaire" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Carte de débit" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Virement permanent" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Paiement électronique" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Dépôt" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "Frais bancaires" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Prélèvement direct" homebank-5.3.2/po/POTFILES.in0000644000175000017500000000164513546725307012443 00000000000000# List of source files containing translatable strings. data/homebank.desktop.in.in data/homebank.appdata.xml.in # Main application src/dsp-account.c src/dsp-mainwindow.c src/hb-archive.c src/hb-category.c src/hb-export.c src/hb-filter.c src/hb-hbfile.c src/hb-payee.c src/hb-preferences.c src/hb-report.c src/homebank.c src/hub-account.c src/hub-scheduled.c src/hub-spending.c src/hb-import-csv.c src/hb-import.c src/list-account.c src/list-operation.c src/list-scheduled.c src/rep-balance.c src/rep-budget.c src/rep-stats.c src/rep-time.c src/rep-vehicle.c src/ui-account.c src/ui-archive.c src/ui-assign.c src/ui-assist-start.c src/ui-assist-import.c src/ui-budget.c src/ui-budget-tabview.c src/ui-category.c src/ui-currency.c src/ui-dialogs.c src/ui-filter.c src/ui-group.c src/ui-hbfile.c src/ui-payee.c src/ui-pref.c src/ui-split.c src/ui-tag.c src/ui-transaction.c src/ui-txn-multi.c src/ui-widgets-data.c src/ui-widgets.c homebank-5.3.2/po/nb.po0000644000175000017500000023354513620025307011615 00000000000000# Norwegian Bokmal translation for homebank # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2007. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2016-06-12 07:51+0000\n" "Last-Translator: Jon \n" "Language-Team: Norwegian Bokmal \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HjemmeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Personlig Økonomi" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Gratis, enkelt, personlig regnskap for alle" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "økonomi;regnskap;budsjett;personlig;penger;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "Homebank er fri programvare (fri som i fri tale og gratis som i gratis øl) " "som vil hjelpe deg til å administrere ditt personlige regnskap" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "Det er utviklet for å være enkelt å bruke og gi deg muligheten til å " "analysere din personlige økonomi i detalj ved hjelp av kraftige " "filtreringsverktøy og vakre grafer." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Hvis du er på utkikk etter en fullstendig gratis og enkel måte å " "administrere ditt personlige regnskap på, bør Homebank være ditt førstevalg " "av programvare." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Konverter" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Ingen transaksjoner endret" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Vil du virkelig lage en mal av alle de\n" "valgte transaksjonene?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Vi du virkelig slette\n" "alle de valgte transaksjonene?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Er du sikker på at du vil endre status til Ingen?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "Noen transaksjoner i ditt utvalg er allerede Bilagt." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Endre" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Er du sikker på at du vil veksle visningsmodus av statusen Bilagt?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_Veksle visningsmodus" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Eksporter QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Eksporter CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Lukk" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Rediger" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Transaksj_on" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Legg til..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Arv..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Rediger..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Ingen" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "_Klarert" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Bilagt" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "_Redigere Flere..." #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Lage mal..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Slett..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Verktøy" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filtrer..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Legg til ny transaksjon" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Legg til" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Arv fra aktive transaksjon" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Arv" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Rediger aktive transaksjon" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Endre" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "Veksle visningsmodus til bilagt for valgte transaksjon(er)" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Redigere flere transaksjoner" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Lage mal" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Slette valgte transaksjon(er)" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "Område" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Type:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Åpne liste filtret" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Bank:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Idag:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Fremtidig:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Tlbakestill ulagrede endringer i fil '%s'?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "-Endringer gjort i filen vil bli tapt for alltid\n" "-Filen blir lastet inn fra siste lagring (.xhb~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Tilbakestill" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Er du sikker på at du vil anonymisere filen?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Fortsett og du vil anonymisere all tekst,\n" "som'konto x','betalingsmottaker y', 'memo z',..." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Anonymiser" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Velkommen til HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Hva vil du gjøre:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Les Homebank_Manual" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Lag en_ny fil" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Åpne en eksisterende fil" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Åpne eksempelfilen" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "I/O feil i fil '%s'." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Filen '%s' er ikke en gyldig HomeBank fil." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "Filen '%s' ble lagret med en nyere versjon av HomeBank\n" "og kan ikke bli lastet inn i gjeldende versjon." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Filfeil" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Fil" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Ny" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Åpne" #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Lagre" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Tilbakestill" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Avslutt" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Innstillinger..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Vis" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Verktøylinje" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_Øvre utgifter" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Behandle" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "Kon_toer..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Betalingsmottakere..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Kategorier..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Planlagte/Mal..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Budsjett..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Oppgaver" #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Transaksjoner" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Legg til..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Vis..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Lag planlegger..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Send planlagte" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Rapporter" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Statistikk" #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "" #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "B_udsjett..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "_Kjøretøykostnad..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Vis velkomst dialogen" #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Filstatistikk..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Anonymiser..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Hjelp" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Innhold" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Rapporter et problem…" #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Oversett dette programmet…" #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_Om" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Opprett en ny fil" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Åpne" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Åpne en fil" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Åpne en nylig brukt fil" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Lagre gjeldende fil" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Konfigurèr kontoer" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Konfigurer betalingsmottakere" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Konfigurèr kategoriene" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Konfigurere planlagte/mal transaksoner" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Konfigurer budsjettet" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Konfigurer automatiske oppgaver" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Viser valgte kontos bevegelser" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Legg til transaksjoner" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Åpne Statistikkrapport" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Åpne Trend Time rapport" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Åpne Saldorapporten" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Åpne Budsjettrapport" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Åpne kostnadsrapport for kjøretøy" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Fremtidig" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(ingen kategori)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Dato" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Info" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Betalingsmottaker" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Notat" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Beløp" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Saldo" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Ukjent" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Vis versjoninformasjon og avslutt" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[FIL]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Nettleserfeil." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Kunne ikke vise URL '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "HomeBank valg" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Får ikke åpnet '%s', filen finnes ikke.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Dine konti" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Ingen transaksjoner å legge til" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "transaksjon lagt til: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Sjekk resultat av transaksjoner lagt i planlegger" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Sum" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Planlagte transaksjoner" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Hopp over" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Rediger & Send" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Send" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "senseste forfallsdato" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Annet" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Hvor pengene dine brukes" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Total sum" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Konti" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Bank" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "I dag" #: ../src/list-operation.c:548 msgid "- split -" msgstr "" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Konto" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Status" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Utgift" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Inntekt" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Kategori" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Merker" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Forsinket" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Neste dato" #: ../src/rep-balance.c:76 msgid "List" msgstr "Liste" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Vis resultat som liste" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Linje" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Vis resultat som linjer" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Oppdater" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Oppdater resultat" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Detalj" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Bytte detalj" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Saldorapport" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Vis" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "_Konto" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Velg _alle" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Hver _dag" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Datofilter" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Fra:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Til:" #: ../src/rep-budget.c:787 msgid " over" msgstr "" #: ../src/rep-budget.c:793 msgid " left" msgstr " venstre" #: ../src/rep-budget.c:796 msgid " under" msgstr "" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "Budsjett for %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Budsjett" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Resultat" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Budsjettrapport" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Resultat:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Budsjett:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Brukt:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Ingen konto er valgt som del av budsjettet." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "Du burde inkludere noen konti fra kontodialogen." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Brukt" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Underkategori" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Merke" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Måned" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "År" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Utgifter & Inntekter" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "Vis resultat som kolonne" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "Vis resultat som smultringdiagram" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Aktiver forklaring" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Aktiver rente" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Statistikk Rapport" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Av_sum" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Balanse:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Inntekt" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Utgift" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Dag" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Uke" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "En firedel" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Kategori:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Betalingsmottaker" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Merke:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Måler" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Drivstoff" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Pris" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Distanse." #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Eksporter som CVS" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "_Kjøretøy" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Meter" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Forbruk" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Drivstoffkostnad" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Andre kostnader" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Total kostnad:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(ingen)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Synlig" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Avbryt" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Feil" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Kan ikke bytte navn på denne kontoen.\n" "fra '%s' til '%s',\n" "navnet finnes allerede" #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Behandle kontoer" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Generell" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "Nummer" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Hver:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Betaling" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Ikke funnet" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Eier:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Språk:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Navn:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Initial:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Overtrukket av:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Opprett en konto" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Bekreftelse" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF filer" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX filer" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CVS filer" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Alle filer" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Alle" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "ingen" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Inverter" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "dager" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Filformat feil" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Budsjett behandler" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Mai." #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Aug" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Okt" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Des" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Inntekt" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Behandle Kategorier" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Fraktaltall:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Eksporter som QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Importere fra CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "HomeBank filer" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Valg:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Informasjon:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "_Skill mellom store/små bokstaver" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Overfør" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Kraft:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "vis 'Lagt til'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "vis 'Endret'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Kjøretøykostnad" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "Betaling" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Kan ikke endre navn på denne betaleren,\n" "fra '%s' til '%s',\n" "dette navet finnes allerede." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Behandle betalere" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Grensesnitt" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "" #: ../src/ui-pref.c:89 msgid "Report" msgstr "" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "System standarder" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Bare ikoner" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Bare tekst" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Tekst under ikoner" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Tekst ved siden av ikoner" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango light" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango medium" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango dark" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Ignorer" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Vis av _beløp" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Vis _kurs kolonne" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Vis _detaljer" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "Aktiver" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Verktøylinje:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Bruk egendefinerte farger" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Utgift:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Inntekt" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Advarsel" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Import:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Eksporter:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Last siste åpnet fil" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Send ventende transaksjoner i planlegger" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Brukervalg..." #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Legg til transaksjon" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Arv transaksjonen" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Dato:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "Redigere flere transaksjoner" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Inkludér" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Ekskludér" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Kontant" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Eiendel" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Kreditkort" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Gjeld" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Siste 30 dager" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Siste 12 mnd" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Alle datoer" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "januar" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "februar" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "mars" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "april" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "juni" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "juli" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "august" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "september" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "oktober" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "november" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "desember" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Sjekk" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Kreditt kort" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Elektronisk betaling" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Innskudd" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "" homebank-5.3.2/po/eu.po0000644000175000017500000023233513620025342011622 00000000000000# Basque translation for homebank # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2016-01-27 22:32+0000\n" "Last-Translator: Mikel Haranburu \n" "Language-Team: Basque \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:53+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank (Etxeko kontuak)" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Finantza pertsonala" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Aske, erraz, ororendako kontularitza" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "finantza;kontuak;aurrekontua;pertsonala;dirua" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "Homebank software librea da, lagunduko zaituena zure kontularitza pertsonala " "egiten." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "Diseinatuta dago erraz erabiltzeko eta zure kontu pertsonalak xeheki " "aztertzeko, iragazki indartsuak eta grafiko txukunen bitartez." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Zure kontu pertsonalak maneiatzeko era erraz et erabat askea bilatzen " "baduzu, Homebank da zure aukerako softwarea." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Eragiketa zenbateko bakoitza %.6f zatituko da." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Bihurtu" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Ez da eragiketarik aldatu" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Nahi al duzu ezabatu\n" "hautaturiko eragiketa bakoitza?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Kanbioa" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_Bai/Ez" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "QIF esportatu..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "CSV esportatu" #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Itxi" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Editatu" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Eragike_ta" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Gehitu..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Hona ekar" #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Editatu..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Egoera" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Bat ere ez" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "_Garbitua" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Txantiloia sortu..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Ezabatu..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Tresnak" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Iragazkia..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Eragiketa gehitu" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Gehitu" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Ekar hona uneko eragiketatik" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Ekar hona" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Editatu uneko eragiketa" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Editatu" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Eredua sortu" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Ezabatu hautaturiko eragiketa(k)" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Hesparrua:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Mota:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Egoera:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Ireki zerrenda iragazkia" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Kontuan:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Gaur:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Etorkizun:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Leheneratu" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Izengabetu" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Ongi etorri HomeBankera" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Zer egin nahi duzu:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "HomeBank _manuala irakurri" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Fitxategi _berria sortu" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "_adibide fitxategia ireki" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Fitxategi akatsa" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Fitxategia" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Berria" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Ireki" #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Gorde" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Leheneratu" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Irten" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Hobespenak..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Ikuspegia" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Tresna-barra" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_Gehienezko gastua" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Kudeatu" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "Kon_tuak..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Onuradunak..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Kategoriak..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Aurrekontua..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Esleipenak..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Eragiketak" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Gehitu..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Erakutsi..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Txostenak" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Estatistikak..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Aldiko Bilakaera..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "A_urrekontua..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "_Autoaren kostua..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Agur-hizketa erakuts..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Fitxategien estatistikak..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Izengabetu..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Laguntza" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Edukia" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Arazo baten berri eman..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Aplikazio hau itzuli..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "Honi _buruz" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Fitxategi berria sortu" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Ireki" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Ireki fitxategia" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Ireki berriki erabilitako fitxategia" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Gorde uneko fitxategia" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Kontuak konfiguratu" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Onuradunak konfiguratu" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Kategoriak konfiguratu" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Aurrekontua konfiguratu" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Esleipen automatikoak konfiguratu" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Hautaturiko kontu-eragiketak erakuts" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Eragiketak gehitu" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Ireki estatistika txostena" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Ireki Aldiko Bilakaera txostena" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Ireki Balantze txostena" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Ireki Aurrekontu txostena" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Ireki autoaren kostu-txostena" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Etorkizuna" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Data" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Info" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Onuraduna" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Zenbatekoa" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Balantzea" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Ezezaguna" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Bistaratu bertsioari buruzko informazioa, eta irten" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[FITXATEGIA]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Ezin izan da bistaratu `%s' URLa" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "HomeBank aukerak" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Ezin izan da '%s' ireki, fitxategia ez dago.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Zure kontuak" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Guztira" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Gasturik handiena" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Besterik" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Zertan gastatzen duzun" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Bankua" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Gaur" #: ../src/list-operation.c:548 msgid "- split -" msgstr "" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Kontua" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Gastua" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Sarrera" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Kategoria" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Etiketak" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "" #: ../src/rep-balance.c:76 msgid "List" msgstr "Zerrenda" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Ikus emaitzak zerrenda eran" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Lerroa" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Emaitzak lerrotan ikusi" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Freskatu" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Emaitza freskatu" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Xeheka" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Xeheka/handika" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d %s azpian" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Balantze txostena" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "Kontu_a:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "_Guztiak aukeratu" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "_Egun bakoitza" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Zoom X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Nork:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Nori:" #: ../src/rep-budget.c:787 msgid " over" msgstr "" #: ../src/rep-budget.c:793 msgid " left" msgstr "" #: ../src/rep-budget.c:796 msgid " under" msgstr "" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Aurrekontua" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Emaitza" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Aurrekontu txostena" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Honela ikus:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Aurrekontua:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Emanda:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Gastua" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Azpikategoria" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Etiketa" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Hila" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Urtea" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Sar & Irten" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Legenda bai/ez" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Ehunekoak bai/ez" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Estatistika txostena" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "_Zenbatekoez" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Balantzea:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Sarrera:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Gastua:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Eguna" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Astea" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Laurdena" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Aldiko bilakaerako txostena" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Kategoria:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Onuraduna" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Etiketa:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Metatua" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Epea" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Ibilia" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Erregaia" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Salneurria" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Distantzia" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "CSV eran esportatu" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Autoaren kostu txostena" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "Au_toa:" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Ibilia:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Kontsumoa:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Erregai kostua:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Beste gasturik:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Kostua guztira:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(bat ere ez)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Agerian" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Utzi" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_Ados" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Errorea" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Kontua ezin berrizendatu\n" "'%s'tik '%s'ra,\n" "Izen hori jadanik bada." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Kontuak kudeatu" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Orokorra" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "Z_enbakia:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Aldi_ro:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Esleipenak kudeatu" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "O_rdainketa" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Ez da aurkitu" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Jabea:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Hizkuntzak:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Artxibategi lehenetsia" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Nire kategoriak artxibategi honetaz hasi" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Kategoria lehenetsiak" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Izena:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Hasierakoa" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Zor honetan:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Kontua sortu" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "Hau berresketa-orria da, sakatu 'Onartu' aldaketak onartzeko" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Berretsi" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF fitxategiak" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX fitxategiak" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV fitxategiak" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Fitxategi guztiak" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Denak" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Bat ere ez" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Inbertitu" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "egun" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Berdintzea egin da kontu, zenbateko eta dataren arabera.\n" "Data tolerantzia 0 egun bada, berdintzea zehatza da" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Errorea fitxategiaren formatuan" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Aurrekontua kudeatu" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Behartu kategoria hau monitorizatzera" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Urt" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Ots" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Api" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Mai" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Eka" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Uzt" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Abu" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Urr" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Aza" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Abe" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Sarrera" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Ezin kategoria hau berrizendatu,\n" " '%s'tik '%s'ra,\n" "izen hori jada badago." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Kategoriak kudeatu" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Frakzio digitoak:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "QIF eran esportatu" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "CSVtik inportatu" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "HomeBank fitxategiak" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Aukera:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Info:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "_Maiuskula/Minuskula" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Transferitu" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Indarra:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "'Gehitua' azaldu" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "'Editatua' azaldu" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Autoaren kostua" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Onuradun hau ezin berrizendatu\n" "'%s'tik '%s'ra,\n" "izena jada badago." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Onuradunak kudeatu" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Interfazea" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "" #: ../src/ui-pref.c:89 msgid "Report" msgstr "" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Sistemak lehenetsiak" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Ikonoak soilik" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Testua soilik" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Testua ikonoen azpian" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Testua ikonoen ondoan" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango argia" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango ertaina" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango iluna" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Ez ikusi" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "_Kopuruez erakuts" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Erakuts _ratio zutabea" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Erakuts _zehaztapenak" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Gaitu" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Aurredoitu:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Tresna barra:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Erabiltzailearen koloreak erabil" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Gastua:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Sarrera:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Abisua:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Inportatu:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Esportatu:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Karga azkenez ireki fitxategia" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Hobespenak" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Eragiketa gehitu" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Eragiketa berregin" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Data:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Sartu" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Kanpoan" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Dirua" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Aktiboa" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Kreditu txartela" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Pasiboa" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Azken 30 egun" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Azken 12 hilak" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Data guztiak" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Urtarrila" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Otsaila" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Martxoa" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Apirila" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Ekaina" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Uztaila" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Abuztua" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Iraila" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Urria" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Azaroa" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Abendua" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Ira" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Egiaztatu" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Zor-txartela" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Egiteko agindua" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Ordainera elektronikoa" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Gordailua" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "Banku kuota" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "" homebank-5.3.2/po/ms.po0000644000175000017500000023050113620025337011625 00000000000000# Malay translation for homebank # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2016-09-05 16:32+0000\n" "Last-Translator: abuyop \n" "Language-Team: Malay \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:53+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Kewangan peribadi" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Perakaunan peribadi untuk semua orang yang mudah dan percuma" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "kewangan;perakaunan;bajet;peribadi;wang;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "T_ukar" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Tiada transaksi berubah" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Adakah anda ingin memadam\n" "setiap transaksi pilihan ?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Ubah" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_Togol" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "A_kaun" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Eksport QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Eksport CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Tutup" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Sunting" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Transaks_i" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "T_ambah..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Warisi..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Sunting..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Status" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Tiada" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Cipta templat..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Padam..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "A_lat" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Penapis..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Tukar ke Euro..." #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Tambah transaksi baru" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Tambah" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Warisi dari transaksi aktif" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Warisi" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Sunting transaksi aktif" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Sunting" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Cipta templat" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Julat:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Jenis:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Buka senarai penapis" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Bank:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Hari Ini:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Masa Depan:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Selamat Datang ke HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Apa yang ingin anda lakukan:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Buka fail _contoh" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Ralat fail" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Fail" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Baru" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Buka..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Simpan" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "Simpan Seb_agai..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Kembali Semula" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Sifat..." #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Keluar" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Keutamaan..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Papar" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Palang Alat" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Urus" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "Aka_un..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Penerima..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Kategori..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Bajet..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Pemindahan..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Matawang..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Transaksi" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Tambah..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Papar..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Laporan" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Statistik..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Arah Aliran Masa..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "B_ajet..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Papar dialog aluan..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Statistik fail..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Bantuan" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Kandungan" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Laporkan Masalah..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Terjemahkan Aplikasi Ini..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_Perihal" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Cipta fail baharu" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Buka fail" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Buka fail kebelakangan diguna" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Simpan fail semasa" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Konfigur akaun" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Konfigur penerima" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Konfigur kategori" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Konfigur bajet" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Konfigur pemindahan automatik" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Papar akaun transaksi pilihan" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Buka laporan Statistik" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Buka laporan Arah Aliran Masa" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Buka laporan Imbangan" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Buka laporan Bajet" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Masa depan" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Tarikh" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Maklumat" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Penerima" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Amaun" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Imbangan" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "output maklumat versi dan keluar" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[FAIL]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Tidak dapat papar URL '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Pilihan homebank" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Tidak boleh membuka '%s', fail tidak wujud.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Jumlah" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Bank" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Hari ini" #: ../src/list-operation.c:548 msgid "- split -" msgstr "" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Akaun" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Perbelanjaan" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Pendapatan" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Kategori" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Tag" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "" #: ../src/rep-balance.c:76 msgid "List" msgstr "Senarai" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Papar keputusan dalam senarai" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Baris" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Papar keputusan dalam baris" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Segar Semula" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Segar semula keputusan" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Terperinci" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Togol perincian" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d dibawah %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Laporan imbangan" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "A_kaun:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Pilih semu_a" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Setiap _hari" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Zum X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Dari:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Hingga:" #: ../src/rep-budget.c:787 msgid " over" msgstr "" #: ../src/rep-budget.c:793 msgid " left" msgstr "" #: ../src/rep-budget.c:796 msgid " under" msgstr "" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Bajet" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Keputusan" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Laporan bajet" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Papar berdasarkan:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Bajet:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Digunakan:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Digunakan" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Subkategori" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Tag" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Bulan" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Tahun" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Perbelanjaan & Pendapatan" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Togol petunjuk" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Togol kadar" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Laporan Statistik" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Berdasarkan _amaun" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Imbangan:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Pendapatan:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Perbelanjaan:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Hari" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Minggu" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Suku" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Laporkan Arah Aliran Masa" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Kategori:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Penerima:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Tag:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Kumpul" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Hirisan masa" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Meter" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Bahan Api" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Harga" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Jarak" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Eksport sebagai CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Laporan kos kenderaan" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "Ken_deraan:" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Meter:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Penggunaan:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Kos bahan api:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Kos lain:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Jumlah kos:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(tiada)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Tampak" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Batal" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Ralat" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Tidak dapat menamakan semula Akaun ini,\n" "dari '%s' ke '%s',\n" "nama ini sudah wujud." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Urus Akaun" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Am" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "N_ombor:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Setia_p:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Urus Pemindahan" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Pem_bayaran:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Tidak ditemui" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Pemilik:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Bahasa:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Praset fail:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Awalkan kategori saya didalam fail ini" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Praset kategori" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Nama:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Awalan:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "Terlebih keluar pada:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Cipta akaun" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Merupakan halaman pengesahan, tekan butang 'Laksana' untuk laksanakan " "perubahan" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Pengesahan" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "Fail QIF" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "Fail OFX/QFX" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "Fail CSV" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Semua fail" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Semua" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Tiada" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Songsang" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "hari" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Padanan dilakukan mengikut tertib: berdasarkan akaun, amaun dan tarikh.\n" "Toleransi tarikh bagi 0 hari bermaksud padanan tepat" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Ralat format fail" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Urus Bajet" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Paksa pemantauan kategori ini" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mac" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Mei" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Ogo" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Okt" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Dis" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "Pen_dapatan" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Tidak dapat menamakan semula Kategori,\n" "dari '%s' ke '%s',\n" "nama ini sudah wujud." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Urus Kategori" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "Bilangan digit:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Eksport sebagai QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Import dari CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "Fail homebank" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Pilihan:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Maklumat:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "_Sensitif huruf" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Pemindahan" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Paksa:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "papar 'Ditambah'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "papar 'Disunting'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Tidak dapat menamakan semula Penerima ini,\n" "dari '%s' ke '%s',\n" "nama ini sudah wujud." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Urus Penerima" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Antaramuka" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "" #: ../src/ui-pref.c:89 msgid "Report" msgstr "" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Sistem lalai" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Ikon sahaja" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Teks sahaja" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Teks dibawah ikon" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Teks bersebelahan ikon" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango cerah" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango sederhana" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango gelap" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Abaikan" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Papar berdasarkan _amaun" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Papar lajur kada_r" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Papar per_incian" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Dibenarkan" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "Praset:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "Pa_lang Alat:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Guna warna suai" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "Perbelan_jaan:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "Pen_dapatan:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Amaran:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Import:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Eksport:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Muat fail terakhir dibuka" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Keutamaan" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Tambah transaksi" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Warisi transaksi" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Tarikh:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "M_emo:" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Termasuk" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Kecualikan" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Tunai" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Aset" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Kad Kredit" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Liabiliti" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "30 hari lepas" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "12 bulan lepas" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Semua tarikh" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Januari" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Februari" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Mac" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "April" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Jun" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Julai" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Ogos" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "September" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Oktober" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "November" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Disember" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Cek" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Kad debit" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Arahan tersedia" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Pembayaran elektronik" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Deposit" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "Fi FI" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "" homebank-5.3.2/po/fa.po0000644000175000017500000026632213620025330011577 00000000000000# Persian translation for homebank # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2017-11-21 15:56+0000\n" "Last-Translator: Mojtaba Rezaee \n" "Language-Team: Persian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "امور مالی شخصی" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "آزاد,آسان,برنامه حسابداری شخصی برای همه" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "امور مالی؛ حسابداری؛ بودجه؛ شخصی؛ پول؛" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "HomeBank یک نرم افزار آزاد ( در \"آزادی بیان\" و همچنین مانند \"آبجو " "رایگان\") که به شما در مدیریت حسابداری شخصی کمک می‌کند." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "این نرم افزار به نحوی طراحی شده که به آسانی قابل استفاده باشد و به وسیله " "ابزار فیلتر قدرتمند و نمودار های زیبای این نرم افزار امکان تجزیه و تحیلی " "امور مالی شخصیتان به وجود خواهد آمد." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "اگر شما به دنبال یک راه کاملا آزاد , رایگان و آسان برای مدیریت حسابداری شخصی " "خود هستید, HomeBank باید نرم افزار مورد نظر شما باشد." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "تناقض پیدا نشد!" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "ناسازگاری پیدا شد: %d\n" "آیا تمایل به بررسی و تعمیر آن دارید؟" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "هر مقدار معامله شده بر %.6f. تقسیم خواهد شد." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "آیا برای تبدیل ارز این حساب مطمئن هستید؟\n" "استفاده از یورو به عنوان ارز اصلی" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_تبدیل" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "هیچ رویداد مالی تغییر نکرد" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "تراکنش مقابل تغییر کرد : %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "نتیجه انتساب خودکار" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "می‌خواهید با هیچ‌یک از رویدادهای مالی انتخاب شده\n" " الگو ایجاد کنید؟" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "آیا شما مایل به حذف\n" "تمام تراکنش های انتخاب شده هستید؟" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_حذف" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "آیا مایل به تغییر وضعیت به هیچ هستید؟" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "برخی از تراکنش های انتخابی شما در حال حاضر در وضعیت موافق هستند." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "تغییر" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "آیا مایل به تغییر وضعیت به موافق هستید؟" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "ـتعویض" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "حساب" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "صدور QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "صدور به فرمت ساده (CSV)" #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_بستن" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_ویرایش" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "تراکنش" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_افزودن" #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "ـجانشینی..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_ویرایش..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "ـوضعیت" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_هیچکدام" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "ـپاک" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "مطابق" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "ـویرایش چندگانه..." #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "ایجاد الگو..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_حذف..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_ابزارها" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "انتساب خودکار" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "فیلتر" #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "تبدیل به یورو..." #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "اضافه کردن رویداد مالی جدید" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "افزودن" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "جانشین رویداد مالی حاضر" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "جانشینی" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "ویرایش رویداد مالی حاضر" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "ویرایش" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "تغییر به پاک شده برای تراکنش های انتخاب شده" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "تغییر به موافق برای تراکنش های انتخاب شده" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "ویرایش تراکنش چندگانه" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "ایجاد الگو" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "حذف تراکنش های انتخاب شده" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "نوسازی" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "دامنه" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_نوع:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_وضعیت:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_تنظیم به حالت اولیه" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "فیلتر فهرست را باز کن" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "واحد کوچکتر یورو" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "بانک:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "امروز:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "آینده:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "برگرداندن تغییرات ذخیره نشده فایل '%s'?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "-تغییرات داده شده برای همیشه از دست رفته اند\n" "-بارگذاری مجدد آخرین نسخه ذخیره شده فایل (.xhb~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_بازنشانی" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "آیا برای بی نام کردن فایل مطمئن هستید؟" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "در حال پاک کردن تمام متن ها,\n" "مانند 'یادداشت ها','دریافت کننده ها','حساب ها' , ..." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_گمنام کردن" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "به HomeBank خوش آمدید" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "می‌خواهید چه کنید:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "راهنمای HomeBank را بخوانید" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "پیکربندی تنظیمات" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "ایجاد فایل ـ‌جدید" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "ـ‌باز کردن فایل موجود" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "باز کردن فایل ـمثال" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "خطای ورودی/ خروجی برای فایل «%s»" #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "فایل «%s» یک فایل معتبر برای HomeBank نیست." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "فایل «%s» با نسخه‌ی بالاتر HomeBank ذخیره شده\n" "و نمی‌تواند با نسخه‌ی فعلی بارگذاری شود." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "خطای فایل" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_فايل" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_جدید" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_باز کردن..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_ذخیره" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "ذخیره_به عنوان" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "بازگشت" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "ویژگی‌ها..." #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_خروج" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "تنظیمات..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "ـنمایش" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_نوار ابزار" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_سقف هزینه" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "واحد کوچک‌تر یورو" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_مدیریت" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "حـساب‌ها..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_دریافت کنندهای وجه..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "دسته بندی ها..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "برنامه‌ریزی/الگو..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "بودجه ..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "انتساب..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "واحد پول..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_تراکنش ها" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "افزودن..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "نمایش..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "تنظیم برنامه‌ریز" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "ارسال برنامه ریزی شده" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_گزارش‌ها" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_آمار..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_روند زمانی..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "بـودجه..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "_هزینه خودرو..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "نمایش پنجره خوش آمدید ..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "آمار فایل ..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "بدون نام شود..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_راهنما" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_محتويات" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "گزارش یک مشکل..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "این برنامه را ترجمه کنید…" #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_درباره" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "ایجاد فایل جدید" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_باز کردن" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "باز کردن یک فایل" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "باز کردن پرونده‌ای که اخیراً به کار رفته" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "ذخیره‌ی فایل فعلی" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "پیکربندی حساب ها" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "پیکربندی دریافت کنندهای وجه" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "پیکربندی دسته بندی ها" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "پیکربندی برنامه‌ریزی/الگوی تراکنش ها" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "پیکربندی بودجه" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "پیکربندی انتساب خودکار" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "تراکنش های حساب انتخاب شده را نشان بده" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "اضافه کردن تراکنش ها" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "باز کردن گزارش آماری" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "بازکردن گزارش روند زمانی" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "بازکردن گزارش تراز" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "بازکردن گزارش بودجه" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "گزارش هزینه های خودرو را باز کن" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "زمان‌بندی‌شده" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "آتی" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "یادآوری" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(بدون گروه)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "فایل CSV ناشناخته" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "تاریخ" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "اطلاعات" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "دریافت کننده وجه" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "یادداشت" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "میزان" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "تراز" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "ناشناخته" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "کیلومتر/لیتر" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "مایل/لیتر" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(فاقد گیرنده)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "اطلاعات نسخه را خروجی بده و خارج شو" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[فایل]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "خطای مرورگر" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "نمایش آدرس '%s' ممکن نیست" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "تنظیمات HomeBank" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "ناتوان از باز کردن «%s»، فایل وجود ندارد.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(بدون عرف)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "حساب‌های شما" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "باز کردن تمام زبانه ها" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "بستن تمام زبانه ها" #: ../src/hub-account.c:547 msgid "Show all" msgstr "نمایش همه" #: ../src/hub-account.c:552 msgid "By type" msgstr "بر اساس نوع" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "رویدادی برای افزودن وجود ندارد" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "رویداد مالی %d اضافه شد" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "نتیجه‌ی رویدادهای مالی برنامه‌ریزی شده را چک کن" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "جمع" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "تراکنش های برنامه ریزی شده" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "صرف نظر" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "ویرایش و ارسال" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "ارسال" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "حداکثر تاریخ ارسال" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "بزرگترین مخارج" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "بزرگترین %d مخارج" #: ../src/hub-spending.c:294 msgid "Other" msgstr "موارد دیگر" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "جایی که پول‌تان می‌رود" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "جمع کل" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "حساب‌ها" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "بانک" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "امروز" #: ../src/list-operation.c:548 msgid "- split -" msgstr "-فاصله-" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "حساب" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "وضعیت" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "هزینه" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "درآمد" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "دسته‌بندی" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "برچسب‌ها" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "اخیر" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "تاریخ بعدی" #: ../src/rep-balance.c:76 msgid "List" msgstr "فهرست" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "نتایج را فهرست‌وار نمایش بده" #: ../src/rep-balance.c:77 msgid "Line" msgstr "خط" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "نتایج را خطی نمایش بده" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "بازسازی" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "بازسازی نتایج" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "جزییات" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "سوییچ جزییات" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d تحت %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "گزارش تراز" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "نمایش" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "ـ‌حساب" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "همه را‌ـ‌انتخاب کن" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "هر _روز" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_بزرگنمایی X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "فیلتر تاریخ" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_از:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_تا:" #: ../src/rep-budget.c:787 msgid " over" msgstr " بالغ بر" #: ../src/rep-budget.c:793 msgid " left" msgstr " چپ" #: ../src/rep-budget.c:796 msgid " under" msgstr " کمتر از" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "بودجه برای %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "بودجه" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "نتیجه" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "نمایش نتایج به صورت پشته میله ای" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "گزارش بودجه" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "ـنمایش بر اساس" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "نتیجه:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "بودجه:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "هزینه شده" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "هیچ حسابی به عنوان بخشی از بودجه تعریف نشده" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "باید از گفتگوی حساب حسابی را انتخاب کنید" #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "هزینه شده" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "زیرگروه" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "برچسب" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "ماه" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "سال" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "هزینه & درآمد" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s بر %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "نمایش نتایج به شرح ستون" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "نمایش شرح دونات" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "سوییچ شرح" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "سوییچ نرخ" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "ویرایش فیلتر" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "گزارش آماری" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "بر اساس‌ـ‌میزان" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "تراز:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "درآمد:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "هزینه:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "روز" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "هفته" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "فصل" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s طی زمان" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "میانگین: %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "گزارش زمان روند" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_دسته بندی:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_دریافت کننده وجه:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "برچسب:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "ـتجمیع" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "مقطع زمانی" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "متر" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "سوخت" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "قیمت" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "مسافت" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "صدور با فرمت ساده (CSV)" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "گزارش بهای خودرو" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "خودـرو" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "متر:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "مصرف" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "بهای سوخت:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "بقیه‌ی بها:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "بهای کل:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(هیچ‌کدام)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "نمايان" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_لغو" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_تایید" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "نام حساب" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "خطا" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "نمی‌توان حساب «%s» را افزود،\n" "این نام هم‌اکنون وجود دارد." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "نمیتوانید حساب کاربری را حذف کنید '%s'" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "این حساب شامل معاملات و / یا بخشی از انتقال داخلی است." #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "آیا مطمئن هستید که میخواهید %s را به طور دائم حذف کنید؟" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "اگر یک حساب کاربری را حذف کنید، به طور دائم از میان خواهد رفت." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "تغییر نام این حساب ممکن نیست،\n" "از «%s» به «%s»،\n" "این نام هم‌اکنون موجود است." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "مدیریت حساب‌ها" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "کشیدن و رها کردن برای تغییر دستور\n" "دابل کلیک برای تغییر نام" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "عمومی" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "_شماره:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "تراز ـافتتاحی:" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "_واحد پول:" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "این حساب ـ‌بسته شده" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "یادداشت ها :" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "مستثنیات گزارش" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "جزو ـ‌خلاصه حساب به شمار نیاور" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "جزو ـ‌بودجه به شمار نیاور" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "جزو هیچ ـ‌گزارشی به شمار نیاور" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "شماره‌ی چک جاری" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "دسته‌چک‌ـ۱:" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "دسته‌چک‌ـ۲:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "محدوده های تراز" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "_اضافه برداشت در:" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" "اگر شما یک برنامه ریزی یا قالب را حذف کنید، به طور دائم آن از دست خواهید داد." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "تاریخ بعد:" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "هر:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "اخر هفته:" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_توقف پس از:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "مطلب" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "مدیریت رویدادهای برنامه‌ریزی‌شده/قالب" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "اگر شما یک انتساب را حذف کنید، به طور دائم آن را از دست خواهید داد." #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "غیرفعال" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "در صورت خالی بودن" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "بازنویسی" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "مدیریت واگذاری‌ها" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "شرط" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "پرداخت" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "فایل HomeBank جدید (%d از %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "پیدا نشد" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_مالک:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "واحد پول:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "ویژگی‌های فایل" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "شناسایی سیستم" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "زبان‌ها:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "فایل از پیش تنظیم شده:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "گروه‌ها را با این فایل شروع کن" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "گروه‌های از پیش تنظیم شده" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_نام:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "ترازها" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "حروف ـ‌اختصاری:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "-‌اضافه‌برداشت در:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "ساخت یک حساب" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "این صفحه ی تایید است. برای إعمال تغییرات بر دگمه‌ی 'Apply' کلیک کنید." #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "تأیید" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "نام" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "فایل‌های شناخته شده" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "فایل‌های QIF" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "فایل‌های OFX/QFX" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "فایل‌های فرمت ساده (CSV)" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "تمامی فایل‌ها" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "ترتیب تاریخ:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "انتخاب:" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "همه" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "هیچ‌کدام" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "معکوس" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "روز" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "تطابق به این ترتیب انجام شد: حساب، مقدار و تاریخ.\n" "یک دامنه‌ی نوسان تاریخ صفر یعنی تطابق دقیق" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "خوش آمدید" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "وارد کردن" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "خطای فرمت فایل" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" "فایل CSV باید دارای تعداد مشخصی ستون باشد,\n" "که به وسیطه یک نقطه ویرگول جدا شده باشند,برای دیدن جزئیات بیشتر بخش کمک را " "مطالعه فرمایید." #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "مطمئن هستید که میخواهید ورودی را پاک کنید؟" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "در صورد ادامه , تمام مقادیر 0 خواهند شد." #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "پاک کردن" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "مدیریت بودجه" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "_درون ریزی فایل CSV" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "_درون ریزی فایل CSV" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "ـپاک کردن ورودی" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "گزینه‌ها" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "ـ‌نظارت الزامی این گروه" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "ژانویه" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "فوریه" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "مارس" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "آوریل" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "ماه مه" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "ژوئن" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "ژوئیه" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "اوت" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "اکتبر" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "نوامبر" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "دسامبر" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "این دسته بندی استفاده شده است.\n" "تمام تراکنش هایی که از این دسته بندی استفاده میکنند تبدیل به (بدون دسته " "بندی) خواهند شد." #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "_حذف دسته بندی '%s'" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "ادغام" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "حذف دسته بندی های استفاده نشده" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "آیا برای حذف دسته بندی های استفاده نشده\n" "به طور دائم مطمئن هستید؟" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "ویرایش..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_درآمد" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "نمی‌توان نام این گروه را،\n" "از «%s» به «%s» تغییر داد،\n" "این نام هم‌اکنون وجود دارد." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "ادغام دسته بندی '%s'" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "تراکنش های اختصاص داده شده به این دسته بندی,\n" "به دسته بندی انتخاب شده‌ی زیر انتقال پیدا خواهند کرد." #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "مدیریت گروه‌ها" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "_حذف استفاده نشده ها" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "دسته بندی جدید" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "زیرشاخه جدید" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "ارز پایه" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "نماد" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "نرخ ارز" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "ویرایش ارز" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "واحد پول" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "قالب" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "_شخصی سازی" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "_سمبل:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "پیشوند است" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "جدول دهدهی:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "رقم‌های ـ‌کسری:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "_گروه بندی نمودار:" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "ارز پایه را انتخاب کنید" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "انتخاب ارز" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "کد ISO" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "ارور بروزرسانی آنلاین" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "اگر یک ارز را حذف کنید،به کلی از دست خواهد رفت." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "تغییر ارز پایه" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" "اگر ادامه دهید، نرخ سایر ارزها\n" "روی 0 تنظیم خواهد شد,بروز رسانی آنها را فراموش نکنید" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "ارز‌ها" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "به روز رسانی آنلاین" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "تنظیم به عنوان پایه" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "آمار فایل" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "تراکنش" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "وظیفه" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "به‌روزرسانی" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "ارز پایه را انتخاب کنید" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "شرو با HomeBank نسخه 5.1 , این نسخه قابلیت مدیریت چند نوع ارز را دارد\n" "اگر ارز زیر صحیح نمی باشد، لطفا آن را تغییر دهید:" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "صدور با فرمت QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "فراخوانی از فرمتِ ساده (CSV)" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "فایل HomeBank را باز کنید" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "ذخیره فایل HomeBank به عنوان" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "فایل‌های homebank" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "ذخیره تغییرات در فایل قبل از بسته شدن؟" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "در صورت ذخیره نکردن,تمامی تغییرات از دست خواهند رفت.\n" "تعداد تغییرات : %d" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "بستن _بدون ذخیره‌سازی" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "انتخاب از میان رویدادهای ممکن..." #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "کنشی انتخاب کنید:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "ایجاد رویداد جدید" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "انتخاب رویداد موجود" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "HomeBank رویدادی را یافته که می‌تواند رویداد وابسته به انتقال داخلی باشد." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_گزینه:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "ـ‌یادداشت:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_اطلاعات:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "_حساس به حروف" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "هر وضعیتی" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "صاف شده" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "تسویه شد" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "هر نوع" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "انتقال" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "اجبار:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "نشان بده 'اضافه شده'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "نشان بده 'ویرایش شده'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "نمایش 'یادآوری:" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "تاریخ‌ها" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "پرداخت‌ها" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "مجموع" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "متن‌ها" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "دسته‌بندی‌ها" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "پرداخت‌ها" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "رویداد برنامه‌ریزی شده" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "افزودن تا" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "از هر ماه (مستثنا شود)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "افزودن" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "روز پیش از تاریخ کنونی" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "هزینه خودرو" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "حذف دریافت کننده های وجه استفاده نشده" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "آیا مطمئن هستید که می خواهید\n" "به طور دائم دریافت کننده های وجه استفاده نشده را حذف کنید؟" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "پیش فرض" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "پرـداخت:" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "نام این گیرنده را نمی‌توان،\n" "از «%s» به «%s» تغییر داد،\n" "این نام هم‌اکنون وجود دارد." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "ادغام دریافت کننده وجه '%s'" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "تراکنش های اختصاص یافته به این دریافت کننده وجه،\n" "به دریافت کننده وجه ای که در زیر انتخاب شده منتقل خواهد شد." #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "_حذف کردن این دریافت کننده وجه '%s'" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "این دریافت کننده وجه استفاده شده است.\n" "تمام تراکنش هایی که مربوط به این دریافت کننده وجه هستند به صورت (بدون دریافت " "کننده وجه) تبدیل خواهند شد." #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "مدیریت گیرنده ها" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "دریافت کننده وجه جدید" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "رابط" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "رویدادهای مالی" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "فراخوانی/صدور" #: ../src/ui-pref.c:89 msgid "Report" msgstr "گزارش" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "پیش‌فرض‌های سیستم" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "فقط آیکن" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "فقط متن" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "متن زیر آیکن" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "متن کنار آیکن" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "افقی" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "عمودی" #: ../src/ui-pref.c:109 msgid "Both" msgstr "هر دو" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "تانگوی روشن" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "تانگوی متوسط" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "تانگوی تیره" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "ماه-روز-سال" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "روز-ماه-سال" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "سال-ماه-روز" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "نادیده گرفتن" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "افزودن به اطلاعات" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "افزودن به یادداشت" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "الحاق به دریافت کننده وجه" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "زبان سیستم" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "پوشه‌ی پیش‌فرضی برای فایل‌های HomeBank برگزینید" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "پوشه‌ی پیش‌فرضی برای فایل‌های فراخوانی برگزینید" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "پوشه‌ی پیش‌فرضی برای فایل‌های صادره برگزینید" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "گزینه‌های QFX/OFX" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "گزینه های QIF" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "فیلتر اولیه" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "گزینه‌های نمودارها" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "طرح رنگ:" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "گزینه‌های آماری" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "بر حسب مقدار نشان بده" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "ستون ـ‌نرخ را نشان بده" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "جزییات را نشان بده" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "گزینه‌های بودجه" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_فعال‌سازی" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "ـ‌پیش‌فرض:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_زبان:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "_قالب:" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "سال مالی" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "شروع از:" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "واحدهای اندازه‌گیری" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "به کار گیری ـمایل به جای مت" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "استفاده از واحد گالن برای سوخت" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "پنجره‌ی رویداد" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "چندافزونی" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "آخرین تاریخ را حفظ کن" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_نوار‌ابزار:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "_خط شبکه:" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "رنگ‌های مبلغ" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "از رنگ‌های سفارشی استفاده می‌کند" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "ـ‌هزینه:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_درآمد:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_اخطار:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "ـ‌فراخوانی:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "ـ‌صدور:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "راه‌اندازی برنامه" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "نمایش اسپلش اسکرین" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "آخرین فایل باز شده را بارگذاری کن" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "ارسال تراکنش های زمان بندی شده درحال بررسی" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "به روز رسانی ارز به صورت آنلاین" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "گزارش‌های پنجره‌ی اصلی" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "تنظیمات" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "ناچارید HomeBank را بازراه‌اندازی کنید\n" "تا تغییر زبان اثر کند." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "انشعاب های تراکنش" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "مقدار رویداد:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "تخصیص‌نیافته:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "مجموع تفکیک‌ها:" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "می‌خواهید انتقال داخلی را قطع کنید؟\n" "\n" "ادامه دادن رویداد مالی مقصد را حذف خواهد کرد." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "نمایش برنامه ریزی ها" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "افزودن" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "_ارسال" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "افزودن رویداد مالی" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "جانشین رویداد مالی شود" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_تاریخ:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "یاـدداشت:" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "هشدار:مقدار و علامت دسته بندی باهم مطابقت ندارند" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "ویرایش چندگانه تراکنش‌ها" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "قالب" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "شامل" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "خارج از شمول" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(فاقد نوع)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "وجه نقد" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "دارایی" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "کارت اعتباری" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "بدهی" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "این ماه" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "ماه گذشته" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "این سه ماهه" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "سه ماه گذشته" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "امسال" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "سال گذشته" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "۳۰ روز گذشته" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "۶۰ روز گذشته" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "۹۰ روز گذشته" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "12 ماه اَخیر" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "تمام تاریخ" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "ممکن" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "قبل از" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "پس از" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "صاف نشده" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "فاقد تطابق" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "فاقد گروه" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "ژانویه" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "فوریه" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "مارس" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "آوریل" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "ژوئن" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "ژوئیه" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "اوت" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "سپتامبر" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "اکتبر" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "نوامبر" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "دسامبر" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "سپتامبر" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "جستجو..." #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "چک" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "کارت اعتباری" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "دستور پرداخت مستمر" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "پرداخت الکترونیکی" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "واریز" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "دستمزد ثابت" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "بدهی مستقیم" homebank-5.3.2/po/lv.po0000644000175000017500000023130713620025333011630 00000000000000# Latvian translation for homebank # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the homebank package. # # FIRST AUTHOR , 2008. # Rudolfs , 2011. # Anita Reitere , 2011. msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2014-03-04 14:33+0000\n" "Last-Translator: Gatis Kalnins \n" "Language-Team: gnome-gimp.doc.lv.2010-12-13 \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Neviena transakcija nav mainīta" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "Vēlaties izveidot šablonu ar katru no izvēlētajām transakcijām?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Vai vēlaties dzēst\n" "katru atlasīto transakciju?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "" #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Eksportēt CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Aizvērt" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "R_ediģēt" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Tran_sakcija" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Pievienot..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Mantot..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "R_ediģēt..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "Saskaņots" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Izveidot šablonu..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Rīki" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filtrs..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Pievienot jaunu transakciju" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Pievienot" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Mantot no aktīvās transakcijas" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Mantot" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Rediģēt aktīvo transakciju" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Rediģēt" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "Perio_ds" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Veids:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Atvērt filtru sarakstu" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Bankā:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Šodien:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Nākotnē:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Laipni lūdzam HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Ko vēlaties darīt:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Atvērt pi_emēra failu" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Faila kļūda" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Fails" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "Jau_ns" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Atvērt..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Saglabāt" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Atgriezties" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Iziet" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Iestatījumi..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Skats" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Rīkjosla" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Pārvaldīt" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "_Konti..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Darījumu partneri..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Kategorijas..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Budžets..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Uzdevumi..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Transakcijas" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Pievienot..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Rādīt..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Atskaites" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Statistika..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Tendences..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "B_udžets..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Rādīt sveiciena dialogu..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Palīdzība" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Saturs" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Ziņot par problēmu..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Tulkot šo lietotni..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "P_ar" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Atvērt failu" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Atvērt nesen lietotu failu" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Konfigurēt kontus" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Konfigurēt darījumu partneru datus" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Konfigurēt kategorijas" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Konfigurēt budžetu" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Konfigurēt automātiskos uzdevumus" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Rāda atlasītā konta transakcijas" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Atvērt statistikas atskaiti" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Atvērt tendenču atskaiti" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Atvērt bilances atskaiti" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Atvērt budžeta atskati" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Nākotnē" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Datums" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Informācija" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Partneri" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Summa" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Bilance" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Izvadīt versijas informāciju un iziet" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[FAILS]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Neizdevās attēlot URL \"%s\"" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "HomeBank opcijas" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Nevar atvērt \"%s\", fails neeksistē.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Kopā" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Bankā" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Šodien" #: ../src/list-operation.c:548 msgid "- split -" msgstr "" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Konti" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Izdevumi" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Ienākumi" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Kategorijas" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Birkas" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "" #: ../src/rep-balance.c:76 msgid "List" msgstr "Saraksts" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Skatīt rezultātus kā sarakstu" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Līnija" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Skatīt rezultātus kā līnijas" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Atsvaidzināt" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Atsvaidzināt rezultātus" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Detaļas" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Pārslēgt detaļas" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d zem %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Bilances atskaite" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "_Konts:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Atlasīt _visu" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Katru _dienu" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Mērogs:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_No:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Līdz:" #: ../src/rep-budget.c:787 msgid " over" msgstr "" #: ../src/rep-budget.c:793 msgid " left" msgstr "" #: ../src/rep-budget.c:796 msgid " under" msgstr "" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Budžets" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Rezultāts" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Budžeta atskaite" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Skats:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Budžets:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Tērēts:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Tērētais" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Apakškategorija" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Birka" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "mēneši" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "gadi" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Izdevumi un ienākumi" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Pārslēgt leģendu" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Pārslēgt procentus" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Statistikas atskaite" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Kārtot pēc _summas" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Bilance:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Ienākumi:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Izdevumi:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "dienas" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "nedēļas" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Ceturksnis" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Tendenču atskaite" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Kategorija:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "D_arījuma partneris:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Birka:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Kumulāta" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Laika posms" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Nobraukums" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Degviela" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Cena" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Attālums" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Eksportēt kā CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Auto izmaksu atskaite" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "Autom_ašīna" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Nobraukums:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Patēriņš:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Degvielas cena:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Citi izdevumi:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Kopējie izdevumi:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(nekas)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Redzams" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Kļūda" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Nevar pārsaukt šo kontu\n" "no \"%s\" uz \"%s\",\n" "jo šis nosaukums jau eksistē." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Pārvaldīt kontus" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Vispārēji" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "N_umurs:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Ar per_iodu:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Pārvaldīt uzdevumus" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "_Maksājums:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Nav atrasts" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Īpašnieks:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Valodas:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Iestatījumu fails:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Inicializēt manas kategorijas ar šo failu" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Gatavas kategorijas" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Nosaukums:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Sākotnējais:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Pārtērēts:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Izveidot kontu" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Šī ir apstiprināšanas forma. Nospiediet \"Apply\", lai saglabātu izmaiņas." #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Apstiprinājums" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF fails" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX faili" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV fails" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Visi faili" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Viss" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Nekas" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Invertēt" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "dienas" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Sakritību meklē secībā: konts, summa, datums.\n" "Datuma tolerance \"0 dienas\" nozīmē precīzu sakritību" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Faila formatēšanas kļūda" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Pārvaldīt budžetu" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Monitorēt šo kategoriju" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Maijs" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Jūn" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Jūl" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Aug" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Okt" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Dec" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Ienākumi" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Nevar pārsaukt kategoriju\n" "no \"%s\" uz \"%s\",\n" "jo šis nosaukums jau eksistē." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Pārvaldīt kategorijas" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "Cipari _aiz komata:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Eksportēt kā QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Importēt no CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "HomeBank faili" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Darbība:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Informācija:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "Reģistrjūtīg_s" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Pārskaitījums" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Turklāt:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "rādīt visas pievienotās" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "rādīt visas rediģētās" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Nevar pārsaukt šo darījumu partneri\n" "no \"%s\" uz \"%s\",\n" "jo tāds nosaukums jau eksistē." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Pārvaldīt darījumu partnerus" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Saskarne" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "" #: ../src/ui-pref.c:89 msgid "Report" msgstr "" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Sistēmas noklusētie" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Tikai ikonas" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Tikai teksts" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Teksts zem ikonām" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Teksts blakus ikonām" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango gaišs" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango vidējs" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango tumšs" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Ignorēt" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Kārtot pēc _summas" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Rādīt p_rocentu kolonnu" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Rādīt _detaļas" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "I_eslēgt" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Komplekts:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Rīkjosla:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Izmanto savas krāsas" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "Izd_evumi:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Ienākumi:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Brīdinājums:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Importēt:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Eksportēt:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Ielādēt pēdējo atvērto failu" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Iestatījumi" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Pievienot transakciju" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Mantot transakciju" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Datums:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Iekļaut" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Izslēgt" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Skaidra nauda" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Aktīvi" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Kredītkarte" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Pasīvi" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Pēdējās 30 dienas" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Pēdējie 12 mēneši" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Visi datumi" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Janvāris" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Februāris" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Marts" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Aprīlis" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Jūnijs" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Jūlijs" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Augusts" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Septembris" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Oktobris" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Novembris" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Decembris" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Čeks" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Debetkarte" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Regulārais maksājums" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Elektroniskais maksājums" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Depozīts" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "Komisijas maksa" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "" homebank-5.3.2/po/ru.po0000644000175000017500000031005213620025302011624 00000000000000# RU translation of Homebank. # Copyright (C) 2006 THE HomeBank'S COPYRIGHT HOLDER # This file is distributed under the same license as the HomeBank package. # Alexander Telenga , 2007. # msgid "" msgstr "" "Project-Id-Version: HomeBank 3.2.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2020-02-04 16:17+0000\n" "Last-Translator: q_i \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Личные финансы" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Бесплатный и удобный учёт личных финансов для каждого" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "финансы;учет;бюджет;личный;деньги;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "HomeBank - это свободное программное обеспечение, которое поможет вам " "управлять вашими личными финансами" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "Просто в использовании и позволяет детально анализировать ваши личные " "финансы с помощью полноценных инструментов отбора и информативных графиков." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Если вы ищете приложение для удобного и полноценного учёта своих финансов, " "то HomeBank - лучший выбор." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "Присутствует %d групп похожих транзакций" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "Сходных транзакций не найдено!" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "Несоответсвия не найдены !" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "Найдено несоответствие: %d\n" "хотите посмотреть и исправить ?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Сумма каждой операции будет поделена на %.6f." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Конвертировать данный счёт в Евро,\n" "как в основную валюту?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Конвертировать" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Операция не была изменена" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "операция изменилась: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "Результат автоматического присвоения" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Вы хотите создать шаблон с каждой \n" "выбранной операцией?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "_Создать" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Удалить каждую\n" "из выбранных операций?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_Удалить" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Вы уверены, что хотите сменить статус на \"Не определено\"?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "Некоторые из выбранных операций уже согласованы." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Изменить" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Вы уверены, что хотите поставить статус \"Согласовано\"?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "П_ереключить" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "%d операций" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d операций, %d выбрано, среднее:%s, всего: %s (%s - %s)" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "_Счёт" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Экспорт в QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Экспорт CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "Экспорт в PDF..." #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Закрыть" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Изменить" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Опера_ция" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Добавить..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Наследовать..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Редактировать..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Состояние" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Ничего" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "О_плачено" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Согласовано" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "_Множественное редактирование..." #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Создать шаблон..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Удалить…" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "И_нструменты" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "Пометить дубликаты..." #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "Автомат. назначения" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Отбор" #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Перевести в евро..." #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Добавить новую операцию" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Добавить" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Наследовать от текущей операции" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Наследовать" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Редактировать текущую операцию" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Изменить" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "Переключить \"оплачено\" для выбранных операций" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "Переключить \"проверен\" для выбранных операций" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Редактировать множественную операцию" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Создать шаблон" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Удалить выбранные операции" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "(закрыт)" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "Все операции" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "_Обновить" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Диапазон:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "Переключить отображение будующих транзакций" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Вид:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Статус:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_Сброс" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Открыть список отбора" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "Перейти на/с Евро" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Банк:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Сегодня:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Будущее:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Откатить изменения к предыдущей версии файла '%s'?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "- Последние изменения будут потеряны\n" "- Будет загружена последняя резервная копия (.xhb~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Восстановить" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Вы уверены, что хотите анонимизировать файл?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Продолжение сделает весь текст анонимным,\n" "к примеру, 'счет x', 'получатель y', 'запись z'" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Анонимизировать" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Добро пожаловать в HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Что вы хотите сделать:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Открыть инструкци_ю HomeBank" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "Настройки программы" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Новый _файл" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "Откр_ыть файл" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Открыть файл _примера" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" "Вы собираетесь открыть файл резервной копии '%s'.\n" "\n" "Вы действительно хотите это сделать ?" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "Открыть этот \"backup\" файл ?" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "_Открыть резервную копию" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Неизвестная ошибка" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "Ошибка ввода/вывода файла '%s'." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Файл '%s' не является файлом HomeBank." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "Файл '%s' не может быть открыт, т.к. был сохранен\n" "более поздней версией HomeBank." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Ошибка файла" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "С момента открытия файл был изменён" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Если вы сохраните файл, все внешние изменения будут потеряны. Всё равно " "сохранить?" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "Всё равно со_хранить" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Файл" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Новый" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Открыть..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "_Недавние файлы" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Сохранить" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "Сохранить _как..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "Импорт..." #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "Экспортировать как QIF..." #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Откатить" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "Восстановить резервную копию" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Свойства..." #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Выйти" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Параметры..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Вид" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Панель инструментов" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_Топ расходов" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "Активное расписание" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Переход на/с Евро" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Управление" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "_Счета..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Получатели платежа..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Категории..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Расписание/Шаблоны..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Бюджет..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "Бюжет (таблица)..." #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Назначения..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Курсы валют..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "Метки..." #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Операции" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Добавить..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Показать..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "Показать все" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Настроить планировщик..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Записать запланированные транзакции" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Отчеты" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Статистика..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Временной Тренд" #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "Б_юджет..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "Расходы на автомобил_ь..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Открыть окно приветствия" #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Статистика файла..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Анонимизировать..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Справка" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Содержание..." #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "Проверить обновления..." #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "Примечания к выпуску" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Сообщить о проблеме..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Перевести это приложение..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "О программе" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Создать новый файл" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Открыть" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Открыть файл" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Открыть недавно использованный файл" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Сохранить текущий файл" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Редактировать счета" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Настроить получателей платежа" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Настроить категории" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Настроить расписание/шаблоны операций" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Настроить бюджет" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Настроить автоматические назначения" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Показать операции по счёту" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Добавить операции" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Открыть статистический отчет" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Открыть отчет по Временному Тренду" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Открыть балансовый отчет" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Открыть отчет по бюжету" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Открыть отчет по расходам на автомобиль" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "Запланировано" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Будущее" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "Напомнить" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(без категории)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "повреждённый формат CSV" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Дата" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Сведения" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Получатель платежа" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Заметка" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Сумма" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Баланс" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Неизвестно" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f л" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "км/л" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "миль/л" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(нет получателя)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Показать сведения о версии и выйти" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[Файл]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Ошибка браузера." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Не удалось отобразить ссылку '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Настройки HomeBank" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Не удалось открыть '%s', файл не существует.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(без учреждения)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Ваши счета" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Развернуть все" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Свернуть все" #: ../src/hub-account.c:547 msgid "Show all" msgstr "Показать всё" #: ../src/hub-account.c:552 msgid "By type" msgstr "По типу" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "По организациям" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Нет операций для добавления" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "добавлена операция: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Проверить результат запланированных операций" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Итого" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Запланированные операции" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Пропустить" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Править и записать" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Записать" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "Максимальная дата сообщения" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Наибольшие расходы" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "Наибольшие %d затраты" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Прочее" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Куда уходят ваши деньги" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "импортированная учётная запись" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Общий итог" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Счета" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Банк" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Сегодня" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- разделитель -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Счёт" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Статус" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Расход" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Доход" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Категория" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Метки" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Просрочено" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "Осталось" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Следующая дата" #: ../src/rep-balance.c:76 msgid "List" msgstr "Список" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Показать в виде списка" #: ../src/rep-balance.c:77 msgid "Line" msgstr "График" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Показать в виде линейного графика" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Обновить" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Обновить результаты" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Детали" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Переключить подробности" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d под %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Балансовый отчет" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Показать" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "_Счёт" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Выделить всё" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Ежедневно" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Увеличение X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Отбор по дате" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_С:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_По:" #: ../src/rep-budget.c:787 msgid " over" msgstr " над" #: ../src/rep-budget.c:793 msgid " left" msgstr " осталось" #: ../src/rep-budget.c:796 msgid " under" msgstr " под" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "Бюджет на %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Бюджет" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Результат" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "Показать в виде ленточной диаграммы" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "_Результат в буфер обмена" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "_Результат в CSV" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "_Детали в буфер обмена" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "_Детали в CSV" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Отчет по бюджету" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Просмотреть за" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "Только выходящие из бюджета" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Результат:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Бюджет:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Потрачено:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Нет счетов для включения в бюджет." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "Необходимо выбрать счета в окне счетов." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Потрачено" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Подкатегория" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Метка" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Месяц" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Год" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Расход и доход" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s сгруппировано по графе \"%s\"" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "Показать в виде столбчатой диаграммы" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "Показать в виде круговой диаграммы" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Отразить пояснения" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Отразить в процентах" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "Редактировать фильтр" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Отчёт по статистике" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "По _сумме" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "Интер_вал" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Баланс:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Доход:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Расход:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "День" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Неделя" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Квартал" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "Полугодие" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s во времени" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "В среднем: %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Временной тренд" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Категория:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Получатель платежа:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Метка:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "Накопительный" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "Показать пустые строки" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Временной срез" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Счётчик" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Топливо" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Стоимость" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Расст." #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Экспортировать как CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Отчет по расходам на автомобиль" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "Автомобиль" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Счётчик" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Потребление:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Стоимость топлива:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Другие расходы:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Итоговая стоимость" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(нет)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Видимость" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Отмена" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_ОК" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Имя счёта" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Ошибка" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Невозможно добавить счёт '%s',\n" "такое имя уже занято." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "Невозможно удалить счёт '%s'" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" "Этот счёт содержит операции и/или является частью внутреннего перевода." #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Вы уверены, что хотите безвозвратно удалить '%s'?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "Если вы удалите счёт, он будет безвозвратно утерян." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Не могу переименовать Счет\n" "из '%s' в '%s',\n" "это имя уже используется." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Управление счетами" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Перетаскивайте, чтобы изменить порядок\n" "Двойной клик, чтобы переименовать" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Общие" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "_Банк" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "Номер с_чёта" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Начальный _баланс:" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "_Валюта:" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "этот счёт _закрыт" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "Примечания:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "Поведение" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "Автоматизация" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "_Шаблон по умолчанию:" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Исключить из отчетов" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "исключить из сводки по счетам" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "исключить из бюджета" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "исключить из всех отчетов" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Текущий номер чека" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Чековая книжка 1" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Чековая книжка 2" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "Ограничения баланса" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "_Овердрафт:" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" "Если вы удалите запланированное/шаблон, он будет безвозвратно утерян." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Следущая _дата:" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Периодичность:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Выходные" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_Прекратить после:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "записи" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Управление расписанием/шаблонами операций" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "Если вы сотрёте эту запись, она будет безвозвратно утеряна." #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "Отключёно" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "Если пустой" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "Переписать" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Управление Назначениями" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Условие" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Тип _платежа" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Новый файл HomeBank (%d из %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Не найден" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Владелец:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "Валюта:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Свойства файла" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "Распознавание системы" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Языки:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Файл настроек:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Загрузить мои категории из указанного файла" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Изначальные категории" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "Сведения" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Имя:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Баланс" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Начальный:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Превышение на:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Создать счёт" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Это страница подтверждения, нажмите \"Принять\" для принятия изменений" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Подтверждение" #: ../src/ui-assist-import.c:472 msgid "" msgstr "<Новый счёт (основной)>" #: ../src/ui-assist-import.c:477 msgid "" msgstr "<Новый счёт>" #: ../src/ui-assist-import.c:498 msgid "" msgstr "<Пропустить этот счёт>" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "Корректный" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Имя" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Известные файлы" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "Файлы QIF" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX файлы" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "Файлы CSV" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Все файлы" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "новый основной счёт" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "новый счёт" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "пропущено" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr ", %d из %d транзакций" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" "Некоторые даты не могут быть cконвертированы. Попробуйте, пожалуйста, " "изменить порядок дат для продолжения." #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "Импортировать %s в:" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "этот файл" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "этот счёт" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" "Наименование: %s\n" "Номер: %s\n" "Файл: %s\n" "Кодировка: %s" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "Импорт транзакций из банка или кредитной карты" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" "С помощью этого помощника вы сможете провести процесс импорта одного или " "нескольких\n" "загруженных отчётов из вашего банка или кредитной карты, в следующих " "форматах:" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" "Рекомендованные: .OFX или .QFX\n" "(Иногда называются Money™ or Quicken™)\n" "Поддерживаемые: .QIF\n" "(Обычно Quicken™ файл)\n" "Только для опытных пользователей: .CSV\n" "(формат специализирован для HomeBank, смотри документацию)" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" "Никакие изменения не будут внесены до того как вы нажмёте \"Применить\" в " "конце процесса" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "Больше не показывать это сообщение" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" "В выбранных вами файлах присутствует слишком много счетов,\n" "пожалуйста используйте кнопку назад чтобы выбрать меньшее количество файлов." #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "Не удалось идентифицировать указанный счёт по имени или номеру." #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Формат дат:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "_Импортировать заметки" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "_Поменять заметки на получателя" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "OFX _Название" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "OFX _Действие" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "Выбрать:" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Выбрать все" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Сбросить все" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Инвертировать" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "Чувствительность к _регистру" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "Похожие операции в указанном счёте (возможны повторения)" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "Разрыв _дат" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "дней" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Сопоставление производится в следующем порядке: по счету, по сумме и по " "дате.\n" "Разница в датах \"0\" дней означает точное совпадение." #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "Добро пожаловать" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "Выберите файл(ы)" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "Импортировать" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Ошибка формата файла" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" "CSV - файл должен содержать точно соответствующее количество колонок\n" "разделённых точкой с запятой. За дополнительной информацией обратитесь к " "справке." #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "Вы уверены, что хотите очистить ввод." #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "Если вы продолжите, все суммы будут обнулены." #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "О_чистить" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Управление бюджетом" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "_Импортировать файл CSV" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "Экспортировать CSV" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "одинаковая каждый месяц" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "Очистить ввод" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "разная каждый месяц" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Параметры" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "Принудительный мониторинг категории" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Янв" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Фев" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Мар" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Апр" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Май" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Июн" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Июл" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Авг" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Окт" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Ноя" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Дек" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "Итог" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "Итоги" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "Итого за год" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "В среднем за месяц" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "Каждый месяц" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Эта категория уже используется.\n" "Все операции, относящиеся к этой категории,\n" "будут отмечены как \"без категории\"." #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "_Удалить категорию '%s'" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "Объединить" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "Удалить неиспользованные категории" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Вы уверены, что хотите безвозвратно\n" "удалить неиспользуемые категории?" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "Редактировать..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Доходы" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Невозможно переименовать категорию\n" "из '%s' в '%s',\n" "это имя уже используется." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "Объединить категорию '%s'" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "Операции, относящиеся к этой категории,\n" "будут перемещены в категорию, выбранную ниже." #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Управление категориями" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "_Удалить неиспользованное" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "новая категория" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "новая подкатегория" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Основная валюта" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Символ" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "Обменный курс" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "Последние изменения" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Изменить валюту" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "Валюта" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "Формат" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "_Настроить" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "_Символ" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "Префикс" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "_Десятичный символ:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Знаков после запятой:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "_Символ разделения на группы:" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Выбрать основную валюту" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Выбрать валюту" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "Код ISO" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "Добавить свою _валюту" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "_ISO:" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "Ошибка обновления через Интернет" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "Если вы удалите валюту, она будет навсегда потеряна" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Сменить основную валюту" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" "Если вы продолжите, курсы других валют\n" "станут равны 0, не забудьте обновить их" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Вылюты" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "Обновить по сети" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "Установить в качестве базы" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Статистика файлов" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "Операция" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "Назначение" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "Обновить" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "Выбрать основную валюту" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "Запуск v5.1, HomeBank может работать с различными валютами.\n" "Если указанная ниже валюта неверна, выберите другую." #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Экспортировать как QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Импорт из CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "Открыть файл HomeBank" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "Открыть резервную копию HomeBank" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "Сохранить файл HomeBank как" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "Файлы HomeBank" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "Резервное копирование" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "Все резервные копии" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "Сохранить изменение в файл перед завершением работы?" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Если вы не сохраните изменения, они будут утеряны.\n" "Колличество изменений: %d." #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "Закрыть _без сохранения" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "Экспорт в PDF" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "Экспортировать как_PDF" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "Папка:" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "Выберите папку" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "Имя файла:" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Выберите среди возможных операций" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Выбрать действие:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "создать новую операцию" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "выберите существующую операцию" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "HomeBank обнаружил операции, которые, возможно, предназначены для внутренних " "переводов." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Опция:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Заметка:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Описание:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "С учетом _регистра" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Любой статус" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "Очищено" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "Проверен" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Любой Тип" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Перевод" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Причина:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "показать 'Добавлен'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "показать 'Изменен'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "Отображать \"Запомненные\"" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "Даты" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "Платежи" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "Суммы" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "Тексты" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "Категории" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "Получатель платежа" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Запланированная операция" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "добавить до" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "каждого месяца (исключено)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "добавить" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "дней от текущей даты" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Расходы на автомобиль" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "Удалить неиспользуемых плательщиков" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Вы уверены, что хотите навсегда \n" "удалить неиспользуемых плательщиков" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "По умолчанию" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "Пл_атёж:" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Невозможно переименовать этого Получателя,\n" "из '%s' в '%s',\n" "это имя уже используется." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "Произвести слияние получателя платежа '%s'" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Операции, относящиеся к этому получателю,\n" "будут перемещены получателю, выбранному ниже." #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "Удалить получателя платежей '%s'" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "Этот получатель уже используется. Все операции, \n" "относящиеся к этому получателю, будут отмечены как \"без получателя\"." #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Управление Получателями" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "новый получатель платежей" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Внешний вид" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "Региональные настройки" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Операции" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Импорт/Экспорт" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Отчёт" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "Резервное копирование" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "Папки" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "По умолчанию" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Только значки" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Только текст" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Текст под значками" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Текст рядом со значками" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "По горизонтали" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "По вертикали" #: ../src/ui-pref.c:109 msgid "Both" msgstr "Оба" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Танго светлый" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Танго средний" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Танго темный" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "м-д-г" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "д-м-г" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "г-м-д" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Игнорировать" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Добавить в Сведения" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Добавить в Закладки" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "Добавить к получателю платежа" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "Табуляция" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "Запятая" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "Точка с запятой" #: ../src/ui-pref.c:149 msgid "Space" msgstr "Пробел" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Системный язык" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Выбрать основную папку для файлов HomeBank" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Выбрать основную папку для импорта" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Выбрать основную папку для экспорта" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "Общие настройки" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "Настройки OFX/QFX" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "Настройки QIF" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "Настройки CSV" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "(только для импорта транзакций)" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "Разделитель:" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Начальный фильтр" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Настройки диаграмм" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "Цветовая схема:" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Настройки статистики" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Показать по _сумме" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Показать столбец _курса" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Показать подробности" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Настройки бюджета" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Включить" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Схема:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "Внешний вид программы" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Язык:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "Видеть дату" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "_Формат:" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" "%a - сокращенное название дня недели;\n" "%A - полное название дня недели;\n" "%b - сокращенное название месяца;\n" "%B - полное название месяца;\n" "%c - подробное представление даты и времени;\n" "%C - год, разделенный на 100 и усеченный до целого числа, как десятичное " "число [00-99];\n" "%d - день месяца в виде десятичного числа [01,31];\n" "%D - то же, что %m/%d/%y;\n" "%e - день месяца как десятичное число [1,31], одна цифра через пробел;\n" "%j - день года в виде десятичного числа [001,366];\n" "%m - месяц как десятичное число [01,12];\n" "%P - представление соответствующей даты;\n" "%y - год без века, как десятичное число [00,99];\n" "%Y - год с веком в качестве десятичного числа [2000,2099];" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Отчетный год" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "_Начинается" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Единицы измерений" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Использовать _мили вместо метров" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "Объём топлива в _галлонах" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Окно операций" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "_Показывать будущие на:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "дней вперёд" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Множественное добавление" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Оставить последнюю дату" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "Автозаполнение" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "Активно" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "Скользящие дни" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Панель инструментов" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "Линия _сетки" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Цвета чисел" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Использовать пользовательские цвета" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Расход:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Доход:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Предупреждение:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "Разрешить автоматическое резервное копирование" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "_Количество создаваемых копий:" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "Резервная копия создается один раз в день" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "Кошельки" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "Обмен файлами" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Импорт:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Экспорт:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Запуск программы" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Показать экранную заставку" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Загрузить последний открытый файл" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Записать ожидающие запланированные операции" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "Обновить курсы валют" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Отчёт в главном окне" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "Сбросить все настройки" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "Вы действительно хотите сбросить все настройки к исходным значениям?" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Настройки" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "Вам придется перезагрузить HomeBank \n" "чтобы изменение языка вступило в силу." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "Разбиение операции" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "Применить" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "Отмена" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Количество операций:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Неназначенный" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Сумма разделенных:" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Не удалось переименовать метку\n" "из \"%s \" в \"%s\",\n" "т. к. это имя уже существует." #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "Управление метками" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "новый тег" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Хотите прервать внутренний перевод? \n" "Это отменит целевую операцию." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "_Разрыв" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "Показать _запланированные" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "Показать _все счета" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "_Добавить" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "_Разместить" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Добавить операцию" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Унаследовать операцию" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Дата:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "Кате_гория:" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "Зам_етка" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "_Метки:" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "Внимание: количество и знак категории не соответствуют" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "Редактирование нескольких операций" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "Шаблон" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Включить" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Исключить" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(нет типа)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Наличные" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Активы" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Кредитная карта" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Задолженность" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "Текущий месяц" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "Предыдущий месяц" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "Текущий квартал" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "Предыдущий квартал" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "Текущий год" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "Предыдущий год" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Последние 30 дней" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Последние 60 дней" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Последние 90 дней" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Последний год" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Все даты" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Возможно" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "До" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "После" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "Не оплачено:" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Не сверенные" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Без категории" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Январь" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Февраль" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Март" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Апрель" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Июнь" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Июль" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Август" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Сентябрь" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Октябрь" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Ноябрь" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Декабрь" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Сен" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "Найти…" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Чек" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Дебетовая карта" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Регулярный платеж" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Электронный платеж" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Депозит" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "FI гонорар" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Прямой дебет" homebank-5.3.2/po/lt.po0000644000175000017500000025252413620025334011633 00000000000000# Lithuanian translation for homebank # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2008. # Rimas Kudelis , 2015, 2016. msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2017-01-20 10:55+0000\n" "Last-Translator: Rimas Kudelis \n" "Language-Team: Lithuanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:53+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" "Language: lt\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Namų buhalterija" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Nemokama ir paprasta namų buhalterija kiekvienam" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "finansai;apskaita;biudžetas;asmeninė;pinigai;namai;šeimos;bankas;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "„HomeBank“ – tai laisvai ir nemokamai platinama programa, padėsianti jums " "tvarkyti ir stebėti savo asmeninius bei šeimos (namų) finansus." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "Siekiama, kad ji būtų patogi naudotis ir pasitarnautų analizuojant jūsų " "asmeninius finansus, suteikdama galingus filtrus ir vaizdžias diagramas." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Jei ieškote visiškai laisvo ir patogaus būdo tvarkyti savo asmeniniams " "finansams, išbandykite „HomeBank“ – ji jūsų nenuvils." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "Neatitikimų nerasta!" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "Rasta neatitikimų: %d\n" "ar norite juos peržiūrėti ir ištaisyti?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Visų operacijų sumos bus padalintos iš %.6f." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Ar tikrai norite pakeisti šios sąskaitos\n" "pagrindinę valiutą į Eurus?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Konvertuoti" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Nepakeista nė viena operacija" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "Pakeista operacijų: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "Automatinių priskyrimų rezultatas" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Iš kiekvienos pasirinktos operacijos bus sukurtas\n" "atskiras naujas šablonas. Ar norite tęsti?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "Ar norite pašalinti visas pasirinktas operacijas?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_Šalinti" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Ar tikrai norite išvalyti operacijų būseną?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "Kai kurios pasirinktos operacijos jau yra patvirtintos." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Valyti" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Ar norite perjungti operacijų būseną „Patvirtinta“?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_Perjungti" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "_Sąskaita" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Eksportuoti QIF…" #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Eksportuoti CSV…" #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Užverti" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Taisa" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "_Operacija" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Pridėti…" #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Klonuoti…" #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Taisyti…" #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Būsena" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Jokia" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "Į_vykdyta" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "Pa_tvirtinta" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "_Daugybinis taisymas…" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Kurti šablonus…" #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Šalinti…" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Priemonės" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "Automatiniai priskyrimai" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filtras…" #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Konvertuoti į Eurus…" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Pridėti naują operaciją" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Pridėti" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Pridėti naują operaciją, naudojant parinktos operacijos duomenis" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Klonuoti" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Keisti parinktą operaciją" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Taisyti" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "Perjungti pasirinktų operacijų būseną „Įvykdyta“" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "Perjungti pasirinktų operacijų būseną „Patvirtinta“" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Taisyti kelias operacijas" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Kurti šablonus pagal pasirinktas operacijas" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Šalinti pasirinktas operacijas" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "At_naujinti" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Laikotarpis:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Tipas:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Būsena:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_Atstatyti" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Atverti sąrašo filtrą" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "_Antrinė valiuta" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Bankas:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Šiandien:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Ateitis:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Ar atmesti neįrašytus failo „%s“ pakeitimus?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "– Atlikti šio failo pakeitimai bus negrįžtamai prarasti\n" "– Failas bus naujai įkeltas, panaudojant atsarginę jo kopiją (.xhb~ failą)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Atkurti" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Ar tikrai norite maskuoti šio failo įrašus?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Jeigu tęsite, visi įrašai bus nuasmeninti, pvz.:\n" "„paskyra x“, „mokėtojas y“, „pastaba z“ ir pan." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Maskuoti" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Sveiki, tai – „HomeBank“" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Ką norite atlikti?" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "_Skaityti „HomeBank“ programos žinyną" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Kurti _naują el. piniginės failą" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Atverti anksčiau sukurtą failą" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Atverti _pavyzdinį failą" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "Skaitymo arba rašymo klaida, kreipiantis į failą „%s“." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Failas „%s“ nėra tinkamas „HomeBank“ failas." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "Failas „%s“ buvo įrašytas aukštesne „HomeBank“ versija\n" "ir negali būti atvertas esama programos versija." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Failo klaida" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Failas" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Naujas" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Atverti…" #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "Į_rašyti" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "Įrašyti kaip…" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Atkurti" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Savybės…" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Baigti darbą" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "_Nustatymai…" #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Rodymas" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Priemonių juosta" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "Pagrindinės _išlaidos" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Antrinė valiuta" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Valdymas" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "_Sąskaitos…" #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Gavėjai…" #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "_Kategorijos…" #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "_Planinės operacijos ir šablonai…" #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "_Biudžetas…" #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Priskyrimai…" #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Valiutos…" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Operacijos" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Pridėti…" #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Rodyti…" #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Tvarkaraščio parinktys…" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Pridėti planines" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Ataskaitos" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Statistika…" #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Tendencijos…" #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "_Biudžetas…" #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "_Autotransporto išlaidos…" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Rodyti pasveikinimo vediklio langą…" #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Failo statistika…" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Maskuoti…" #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Pagalba" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Žinynas" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Pranešti apie problemą…" #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Versti šią programą…" #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_Apie" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Kurti naują piniginės failą" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "At_verti" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Atverti failą" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Atverti neseniai naudotą failą" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Įrašyti esamąjį failą" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Tvarkyti sąskaitas" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Tvarkyti gavėjus bei mokėtojus" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Tvarkyti operacijų kategorijas" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Tvarkyti planines operacijas ir šablonus" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Biudžeto planavimas" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Tvarkyti automatinius priskyrimus" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Rodyti pasirinktos sąskaitos operacijas" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Pridėti operacijas" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Atverti statistinę ataskaitą" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Atverti tendencijų ataskaitą" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Atverti balanso ataskaitą" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Atverti biudžeto ataskaitą" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Atverti išlaidų transporto priemonėms ataskaitą" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "Planinės operacijos" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Ateitis" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "Priminti" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(be kategorijos)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "netinkamas CSV formatas" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Data" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Informacija" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Gavėjai" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Pastabos" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Suma" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Balansas" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Nežinoma" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f L" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "km/L" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "myl./L" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(gavėjas nenurodytas)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Parodyti versijos informaciją ir baigti darbą" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[FAILAS]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Naršyklės klaida." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Nepavyko atverti adreso „%s“" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "„HomeBank“ nustatymai" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Nepavyko atverti „%s“, toks failas neegzistuoja.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Jūsų sąskaitos" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Išskleisti viską" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Suskleisti viską" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Nėra pridėtinų operacijų" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "pridėta operacijų: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Planinių operacijų pridėjimo rezultatas" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Iš viso" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Planinės operacijos" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Praleisti" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Taisyti ir pridėti" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Pridėti" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "automatiškai pridedamos ne vėlesnės kaip" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Pagrindinės išlaidos" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Kita" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Kur išleidžiate pinigus" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Iš viso" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Sąskaitos" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Bankas" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Šiandien" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- išskaidyta -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Sąskaitos" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Būsena" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Išlaidos" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Pajamos" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Kategorija" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Žymės" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Pavėluota" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Kita data" #: ../src/rep-balance.c:76 msgid "List" msgstr "Sąrašas" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Rodyti sąrašą" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Linija" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Rodyti linijinę diagramą" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Atnaujinti" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Atnaujinti rezultatus" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Išsamiai" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Rodyti išsamios informacijos polangį" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d iš %d žemiau %s ribos" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Balanso ataskaita" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Rodymas" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "_Sąskaita:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "_Visos sąskaitos" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Kiekviena _diena" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_X mastelis:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Datos filtras" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Nuo:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Iki:" #: ../src/rep-budget.c:787 msgid " over" msgstr " viršyta" #: ../src/rep-budget.c:793 msgid " left" msgstr " liko" #: ../src/rep-budget.c:796 msgid " under" msgstr " nepanaudota" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "Biudžetas: %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Biudžetas" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Būsena" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "Rodyti histogramą" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Biudžeto ataskaita" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Detalumas:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Rezultatas:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Biudžetas:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Išleista:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Jokia sąskaita nėra įtraukta į biudžetą." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "Norimas sąskaitas galite įtraukti sąskaitų lange." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Išleista" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Subkategorija" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Žymė" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Mėnuo" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Metai" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Išlaidos ir pajamos" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s pagal %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "Rodyti stulpelinę diagramą" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "Rodyti žiedinę diagramą" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Rodyti legendą" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Rodyti santykį" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Statistinė ataskaita" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Rikiuoti pagal _sumą" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Balansas:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Pajamos:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Išlaidos:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Diena" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Savaitė" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Ketvirtis" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s laike" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "Vidurkis: %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Tendencijų laike ataskaita" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Kategorija:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Gavėjas (mokėtojas):" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Žymė:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "S_umuoti" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Laiko intervalas" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Rida" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Degalų kiekis" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Kaina" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Atstumas" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Eksportuoti CSV formatu" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Išlaidų transporto priemonėms ataskaita" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "_Transporto kat.:" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Nuvažiuota:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Suvartota:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Išlaidos degalams:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Kitos išlaidos:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Iš viso išlaidų:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(nėra)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Matomas" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Atsisakyti" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_Gerai" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Sąskaitos pavadinimas" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Klaida" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Naujai pridedama sąskaita negali vadintis „%s“ – toks pavadinimas jau " "naudojamas." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "Negalima pašalinti sąskaitos „%s“" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "Šioje sąskaitoje yra įrašytų operacijų ir/arba vidinių pavedimų." #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Ar tikrai norite negrįžtamai pašalinti „%s“?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "Sąskaitos pašalinimas yra negrąžinamas veiksmas." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Negalima šios sąskaitos pervadinti iš „%s“ į „%s“ – toks pavadinimas jau " "naudojamas." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Sąskaitų tvarkymas" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Vilkdami ir paleisdami, sąskaitas galite perrikiuoti.\n" "Spustelėję norimą sąskaitą du kartus, galite ją pervadinti." #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Pagrindai" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "_Numeris:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Pradinis _balansas:" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "_Valiuta:" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "ši sąskaita už_daryta" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "Pastabos:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Nepaisymas ataskaitose" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "neįtraukti į sąskaitų _suvestinę" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "neįtraukti į _biudžetą" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "neįtraukti į jokias _ataskaitas" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Einamojo čekio numeris" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "_1-ojoje čekių knygelėje:" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "_2-ojoje čekių knygelėje:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "Balanso ribos" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "Per_viršis ties:" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "Planinės operacijos ar šablono pašalinimas yra negrįžtamas veiksmas." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Kita _data:" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "_Vykdyti kas" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Savaitgaliais:" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_Nutraukti po:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "kartų" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Planinių operacijų ir šablonų tvarkymas" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "Priskyrimo pašalinimas yra negrįžtamas veiksmas." #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "Nepriskirti" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "Jei nenurodytas (-a)" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "Perrašyti" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Priskyrimų tvarkymas" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Sąlyga" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "_Mokėjimo būdas:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Naujas „HomeBank“ failas (%d-as žingsnis iš %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Nežinomas" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Savininkas:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "Valiuta:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Failo savybės" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "Sistemos parametrai" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Kalbos:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Pradinių nustatymų failas:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Paimti pradinį operacijų kategorijų sąrašą iš šio failo" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Pradinės operacijų kategorijos" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Pavadinimas:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Balansai" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Pradinis:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Kritinis ties:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Pirmoji sąskaita" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Paspauskite mygtuką „Pritaikyti“ ir pradėkite pildyti naują elektroninę " "piniginę" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Patvirtinimas" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Pavadinimas" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Žinomų tipų failai" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF failai" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX failai" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV failai" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Visi failai" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Datos formatas:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Viskas" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Nieko" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Invertuoti" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "d." #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Sutapimai aptinkami remiantis sąskaita, suma ir data.\n" "Pasirinkus 0 dienų datos paklaidą, bus aptinkami tik tikslūs sutapimai." #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "Sveiki!" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "Importuoti" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Failo formato klaida" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" "CSV faile turi būti tiksliai apibrėžtas skaičius stulpelių,\n" "atskirtų kabliataškiu. Išsamesnės informacijos ieškokite žinyne." #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "Ar tikrai norite valyti laukų reikšmes?" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "Jei tęsite, visos sumos bus pakeistos nuliais." #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "_Valyti" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Biudžeto planavimas" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "_Importuoti iš CSV failo" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "_Eksportuoti į CSV failą" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "_Valyti laukus" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Kita" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Priverstinai stebėti šią kategoriją" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Sau" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Vas" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Kov" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Bal" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Gegužė" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Bir" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Lie" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Rgp" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Spa" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Lap" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Grd" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Ši kategorija naudojama.\n" "Visos jai priklausančios operacijos liks be kategorijos." #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "_Pašalinti kategoriją „%s“" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "Sujungti" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "Nenaudojamų kategorijų šalinimas" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Ar tikrai norite negrįžtamai pašalinti\n" "nenaudojamas kategorijas?" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "Keisti…" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Pajamos" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Negalima šios kategorijos pervadinti iš „%s“ į „%s“ – toks pavadinimas jau " "naudojamas." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "Kategorijos „%s“ sujungimas" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "Šiai kategorijai priklausančios operacijos\n" "bus perkeltos į žemiau parinktą kategoriją." #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Kategorijų tvarkymas" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "_Šalinti nenaudojamas" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "Nauja kategorija" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "nauja subkategorija" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Bazinė valiuta" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Ženklas" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "Keitimo kursas" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Valiutos taisymas" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "Valiuta" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "Formatas" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "_Tinkinti" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "Ž_enklas:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "_Prieš skaičių" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "Trupmenos _skirtukas:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "Skaitmenys po _kablelio:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "_Grupavimo ženklas:" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Bazinės valiutos pasirinkimas" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Pasirinkti valiutą" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "ISO kodas" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "Atnaujinimo internetu klaida" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "Jei pašalinsite valiutą, ji bus negrįžtamai prarasta." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Ar pakeisti bazinę valiutą?" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" "Jei patvirtinsite šį veiksmą, visų kitų valiutų kursai\n" "bus pakeisti į 0 – nepamirškite jų atnaujinti." #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Valiutos" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "Atnaujinti internetu" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "Skirti bazine" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Failo statistika" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "Operacija" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "Priskyrimai" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "Naujovinimas" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "Pasirinkite bazinę valiutą" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "Pradedant 5.1 versija, „HomeBank“ programa gali dirbti iškart su keliomis\n" "valiutomis. Jei žemiau nurodyta valiuta yra neteisinga, pakeiskite ją:" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Eksportuoti QIF formatu" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Importuoti iš CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "„HomeBank“ failo atvėrimas" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "„HomeBank“ failo įrašymas" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "„HomeBank“ failai" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "Įrašyti pakeitimus į failą prieš jį užveriant?" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Neįrašius pakeitimų, jie bus negrįžtamai prarasti.\n" "Pakeitimų kiekis: %d." #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "Užverti _neįrašant" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Pasirinkite iš galimų operacijų…" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Pasirinkite veiksmą:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "sukurti naują operaciją" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "parinkti esamą operaciją" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "„HomeBank“ aptiko kelias operacijas, kurios gali būti susijusios vidinio " "pavedimo operacijos." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Kriterijus:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Pastaba:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Informacija:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "Skirti _didžiąsias ir mažąsias raides" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Visos būsenos" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "Įvykdytos" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "Patvirtintos" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Visi tipai" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Pavedimas" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Visada:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "rodyti pridėtas" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "rodyti pakeistas" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "rodyti laukiančias priminimo" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Planinės operacijos" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "pridėti iki" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "kiekvieno mėnesio dienos (neimtinai)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "pridėti" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "d. prieš operacijos datą" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Transporto išlaidos" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "Nenaudojamų gavėjų šalinimas" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Ar tikrai norite negrįžtamai pašalinti\n" "nenaudojamus gavėjus (mokėtojus)?" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "Numatytieji parametrai" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "_Mokėjimo būdas:" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Negalima šio gavėjo pervadinti\n" "iš „%s“ į „%s“ –\n" "toks pavadinimas jau naudojamas." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "Gavėjo „%s“ sujungimas" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Šiam gavėjui (mokėtojui) priklausančios operacijos\n" "bus priskirtos žemiau parinktam mokėtojui." #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "_Pašalinti gavėją (mokėtoją) „%s“" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "Šis gavėjas (mokėtojas) naudojamas.\n" "Visos jam priklausančios operacijos liks be gavėjo (mokėtojo)." #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Gavėjų (mokėtojų) tvarkymas" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "naujas gavėjas (mokėtojas)" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Sąsaja" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Operacijos" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Importas / eksportas" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Ataskaitos" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Sistemos nustatymai" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Tik piktogramos" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Tik tekstas" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Tekstas po piktogramomis" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Tekstas šalia piktogramų" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "Horizontalios" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "Vertikalios" #: ../src/ui-pref.c:109 msgid "Both" msgstr "Abejos" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "„Tango“ šviesios" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "„Tango“ vidutinės" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "„Tango“ tamsios" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "mėnuo-diena-metai" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "diena-mėnuo-metai" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "metai-mėnuo-diena" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Nepaisyti" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Pridėti prie Informacijos" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Pridėti prie Pastabos" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Sistemos kalba" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Pasirinkite numatytąjį „HomeBank“ failų aplanką" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Pasirinkite numatytąjį importo aplanką" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Pasirinkite numatytąjį eksporto aplanką" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "OFX/QFX failai" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Pirminis filtras" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Grafikai" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "Spalvų paletė:" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Statistika" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Rodyti pagal _sumą" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "_Rodyti santykio stulpelį" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Rodyti _išsamios informacijos polangį" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Biudžetas" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "Įj_ungti" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Ruošinys:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Kalba:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "_Formatas:" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Finansiniai metai" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "_Prasideda:" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Matavimo vienetai" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Atstumus matuoti _myliomis" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "Kuro kiekius matuoti _galonais" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Operacijų langas" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Kartotinis pridėjimas" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Palikti paskiausią datą" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "Prie_monių juosta:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "_Tinklelio linijos:" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Sumų spalvos" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Naudoti pasirinktas spalvas" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Išlaidos:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Pajamos:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "Į_spėjimai:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Importuoti:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Eksportuoti:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Programos paleidimas" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Rodyti užsklandą" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Įkelti paskiausiai naudotą failą" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Pridėti nepridėtas planines operacijas" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "Naujinti valiutas internetu" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Pagrindinio lango ataskaitos" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Nustatymai" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "Kalbos pakeitimai įsigalios\n" "iš naujo paleidus „HomeBank“." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "Skaidyti operaciją" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Operacijos suma:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Nepriskirta:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Komponentų suma:" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Ar norite nutraukti vidinį pavedimą?\n" "\n" "Jei tęsite, paskirties operacija bus pašalinta." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "Rodyti _planines" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "_Pridėti" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "_Pridėti" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Pridėti naują operaciją" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Klonuoti operaciją" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Data:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "_Pastabos:" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "Dėmesio: kiekis neatitinka kategorijos ženklo" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "Daugybinis operacijų taisymas" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "Šablonai" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Įtraukti" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Neįtraukti" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(nenurodytas)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Grynieji" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Turtas" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Kreditinė kortelė" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Įsipareigojimai" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "Šis mėnuo" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "Praėjęs mėnuo" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "Šis ketvirtis" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "Ankstesnis ketvirtis" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "Šie metai" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "Praėję metai" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Pastarosios 30 dienų" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Pastarosios 60 dienų" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Pastarosios 90 dienų" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Pastarieji 12 mėnesių" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Visos datos" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "leidžiama" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "prieš" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "po" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "Neįvykdytos" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Nepatvirtintos" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Be kategorijos" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Sausis" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Vasaris" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Kovas" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Balandis" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Birželis" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Liepa" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Rugpjūtis" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Rugsėjis" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Spalis" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Lapkritis" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Gruodis" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Rgs" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "Ieškoti…" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Čekis" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Debetinė kortelė" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Periodinis mokėjimas" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Elektroninis mokėjimas" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Depozitas" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "Finansinis mokestis" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Tiesioginis debetas" homebank-5.3.2/po/ka.po0000644000175000017500000023610613620025343011605 00000000000000# Georgian translation for homebank # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2018-12-04 23:06+0000\n" "Last-Translator: GeoDot \n" "Language-Team: Georgian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:53+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "პირადი ფინანსები" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "უფასო და მარტივი პირად ფინანსების მართვა ყველასთვის" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "ფინანსები;ბუღალტერია;ბიუჯეტი;პირსონალური;ფული;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "HomeBank არის უფასო პროგრამა (უფასო როგორც \"უფასო ლუდში\") რომელიც " "დაგეხმარებათ პირადი ფინანსების მართვაში." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "მისი მიზანია პირადი ფინანსების მარტივად მაგრამ დეტალური მართვა. აქვს ძლიერი " "ფილტრაციის ფუნქცია და მშვენიერი გრაფები." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "თუ ეძებთ საკუთარი ფინანსების მარვთის სრულიად უფასო და მარტივ გზას, მაშინ " "HomeBank თქვენთვისაა." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "არსებობს %d მსგავსი ტრანზაქციების ჯგუფი" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "მსგავსი ტრანსაქციები ვერ მოიძებნა !" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "შეუსაბამომა არ დაფიქსირებულა !" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "დაფიქსირებულია %d შეუსაბამობა.\n" "გსურთ გადახედვა და შესწორება?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "ყველა ტრანზაქციის ოდენობა გაიყოფა %.6f-ზე." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_კონვერტაცია" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "ტრანზაქციები არ შეცვლილა" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "შეცვილი ტრანზაქციები: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "ავტომატური მინიჭების შედეგი" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "გსურთ ყველა არჩეული ტრანზაქციისთვის სათითაოდ შაბლონის შქმნა?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "ნამდვილად გინდათ წაშალოთ\n" "მონიშნული ტრანზაქციები?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "დარწმუნებული ხართ რომ გსურთ სტატუსის მოხსნა?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "თქვენი მონიშნულებში არსებობს უკვე გადამოწმებული ტრანზაქციები." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_შეცვლა" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "დარწმუნებული ხართ რომ გსურთ გადამოწმებულის სტატუს სათითაოდ გადართვა?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_გადართვა" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "%d ტრანზაქციიდან" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d ტრანზაქცია, %d მონიშნული, საშუალო: %s, ჯამი: %s (%s - %s)" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "ა_ნგარიში" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "QIF-ში ექსპორტი" #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "CSV-ში ექსპორტი..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "PDF-ში ექსპორტი" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_დახურვა" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "რ_ედაქტირება" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "ტრანზაქცი_ა" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_დამატება..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "მემკვიდრეობით მიღება" #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_რედაქტირება..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_სტატუსი" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "(_არაფერი)" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "" #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "ხელსაწყოები (_T)" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_ფილტრი..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "ახალი ტრანზაქციის დამატება" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "დამატება" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "მემკვიდრეობით მიღება მიმდინარე ტრანზაქციიდან" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "მემკვიდრეობით მიღება" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "აქტიური ტრანზაქციის რედაქტირება" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "რედაქტირება" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "ინტერვალი:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "ბანკი:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "დღეს:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "მომავალი:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_ფაილი" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_ახალი" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_გახსნა..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "შენახვა" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "დაბრუნება" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_გასვლა" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "პარამეტრები" #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_ხედი" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "ანგარიშები..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "გადახდის მიმღებები..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "კატეგორიები..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "ბიუჯეტი..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "" #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "ტრანზაქციები" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "დამატება..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "ნახვა..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "რეპორტები" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "სტატისტიკა..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "" #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "ბიუჯეტი..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "" #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_დახმარება" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "" #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "" #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "ანგარიშების მართვა" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "გადახდის მიმღებების კონფიგურაცია" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "კატეგორიების კონფიგურირება" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "ბიუჯეტის კონფიგურირება" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "სტატისტიკის რეპორტის გახსნა" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "ბიუჯეტის რეპორტის გახსნა" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "ინფორმაცია" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "ვის უხდით" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "თანხა" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "" #: ../src/homebank.c:255 msgid "Browser error." msgstr "" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "" #: ../src/list-operation.c:548 msgid "- split -" msgstr "" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "ანგარიში" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "ხარჯი" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "შემოსავალი" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "კატეგორია" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "ტეგები" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "" #: ../src/rep-balance.c:76 msgid "List" msgstr "" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "" #: ../src/rep-balance.c:77 msgid "Line" msgstr "" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "ანგარიში" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_დან:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_მდე:" #: ../src/rep-budget.c:787 msgid " over" msgstr "" #: ../src/rep-budget.c:793 msgid " left" msgstr "" #: ../src/rep-budget.c:796 msgid " under" msgstr "" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "თვე" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "წელი" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "დღე" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "კვირა" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_კატეგორია" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "გადამხდელი" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "ექსპორტი როგორც CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(ცარიელი)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "ხილული" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "ზოგადი" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "ყოველი:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "გადახდა" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "მფლობელი" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "ყველა" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "არცერთი" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "შებრუნება" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "ფაილის ფორმატის შეცდომა" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "ბიუჯეტის მართვა" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "წილადები:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "ექსპორტი როგორც QIF ფაილი" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "ოპცია" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "ინფორმაცია" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "ძალა:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "ინტერფეისი" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "" #: ../src/ui-pref.c:89 msgid "Report" msgstr "" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "სისტემის ძირითადი პარამეტრები" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "მხოლოდ ხატულები" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "მხოლოდ ტექსტი" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "ტექსტი ხატულების ქვეშ" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "ტექსტი ხატულებს გვერდით" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "ნახვა თანხით" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "კურსის სვეტის ნახვა" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "დეტალების ნახვა" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "პანელი:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "ხარჯი" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "შემოსავალი:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "გაფრთხილება:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "იმპორტი:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "ექსპორტი:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "ბოლოს გახსნილი ფაილი" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "პარამეტრები" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "ტრანზაქციის დამატება" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "ტრანზაქციის გაფართოება" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_თარიღი:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "ჩართვა" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "გამოტოვება" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "თანხა" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "საკრედიტო ბარათი" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "" homebank-5.3.2/po/et.po0000644000175000017500000022570013620025305011616 00000000000000# Estonian translation for homebank # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2007. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2011-06-03 13:48+0000\n" "Last-Translator: Romet Kannukene \n" "Language-Team: Estonian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Kas soovid kustutada kõik\n" "valitud tehingud?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "" #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Ekspordi CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "Sulge" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "R_edigeeri" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Tehing" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Lisa..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Kasuta..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "Redigeeri..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "" #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Tööriistad" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filter..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Lisa uus tehing" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Lisa" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Kasuta valitud tehingu andmeid" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Kasuta" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Redigeeri aktiivset tehingut" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Muuda" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "Periood:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Tüüp:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Ava loetelu filter" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Pank:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Täna:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Tulevik:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Faili viga" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Fail" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "Uus" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "Ava..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Salvesta" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Taasta" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "Välju" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Eelistused..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Vaade" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Tööriistariba" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Halda" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "Kontod..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "Tehingu_partnerid..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Kategooriad..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Eelarve..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Määrangud..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Tehingud" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Lisa..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Näita..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Aruanded" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Statistika..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "" #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "Eelarve..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "" #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "Abi" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "Sisu" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Teata probleemist..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Tõlgi see rakendus..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "Teave" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Ava viimatu kasutatud fail" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Häälesta kontod" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Häälesta tehingupartnerid" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Häälesta kategooriad" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Häälesta eelarve" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Häälesta automaatmäärangud" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Näitab valitud konto tehinguid" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Ava statistiline aruanne" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Ava eelarve aruanne" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Tulevik" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Kuupäev" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Teave" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Tehingupartner" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Summa" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Bilanss" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Väljasta versiooni informatsioon ja välju" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[FAIL]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Võimetu kuvama URLi '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "HomeBank valikud" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Võimetu '%s' avama, faili ei eksisteeri.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Kokku" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Pank" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Täna" #: ../src/list-operation.c:548 msgid "- split -" msgstr "" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Konto" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Kulu" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Tulu" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Kategooria" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Sildid" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "" #: ../src/rep-balance.c:76 msgid "List" msgstr "Loetelu" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Vaata tulemusi nimekirjana" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Rida" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Vaata tulemusi ribadena" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Värskenda" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Värskenda tulemusi" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Detail" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Pööra detailid" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d alla %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "_Konto:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "Alates:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "Kuni:" #: ../src/rep-budget.c:787 msgid " over" msgstr "" #: ../src/rep-budget.c:793 msgid " left" msgstr "" #: ../src/rep-budget.c:796 msgid " under" msgstr "" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Eelarve" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Tulemus" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Eelarve aruanne" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Eelarve:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Kulutatud:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Kulutatud" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Alamkategooria" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Silt" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Kuu" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Aasta" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Kulud ja tulud" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Pööra legend" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Pööra suhtarv" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Statistiline arunne" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "_Summa järgi" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Bilanss:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Tulu:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Kulu:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Päev" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Nädal" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "Ka_tegooria:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "Te_hingupartner:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Silt:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Läbisõit" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Kütus" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Hind" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Läbitud" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Ekspordi kui CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Läbitud:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Kütusekulu:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Kütuse hind:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Muud kulud:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Kulud kokku:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(mitte ükski)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Nähtav" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Viga" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Halda kontosid" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Üldist" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Iga" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Halda määranguid" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "_Makse:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Omanik:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Nimi:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Algne:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Ületatud" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF failid" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX failid" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV failid" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Kõik failid" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Kõik" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "MItte ükski" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Pööra ümber" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "päeva" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Failiformaadi viga" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Halda Eelarvet" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "mai" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "Sissetulek" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Ei saa seda kategooriat ümber nimetada,\n" "'%s' -> '%s',\n" "nimi on juba olemas." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Halda kategooriaid" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "Kümnendkohti:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Ekspordi QIF-ina" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Impordi CSV failist" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "HomeBank failid" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "Valik:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "In_fo:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Kuva:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "Lisatud" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "Muudetud" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Halda tehingupartnereid" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Kasutajaliides" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "" #: ../src/ui-pref.c:89 msgid "Report" msgstr "" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Süsteemi vaikesätted" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Ainult ikoonid" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Ainult tekst" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Tekst ikoonide all" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Tekst ikoonide kõrval" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Eira" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Kuva summa järgi" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Kuva suhtarvu tulp" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Kuva detailid" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Luba" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Tööriistariba:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "Kulu:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "S_issetulek:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "Hoiatus:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Impordi:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Ekspordi:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Lae viimati avatud fail" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Eelistused" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Lisa tehing" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Kasuta tehingut" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "K_uupäev:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Kaasa arvatud" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Arva välja" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Sularaha" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Krediitkaart" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Viimased 30 päeva" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Viimased 12 kuud" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Kõik päevad" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "jaanuar" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "veebruar" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "märts" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "aprill" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "juuni" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "juuli" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "august" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "september" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "oktoober" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "november" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "detsember" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "" homebank-5.3.2/po/en_AU.po0000644000175000017500000023455313620025333012204 00000000000000# English (Australia) translation for homebank # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2014-06-15 07:01+0000\n" "Last-Translator: Maxime DOYEN \n" "Language-Team: English (Australia) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "No transaction changed" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Do you want to create a template with\n" "each of the selected transaction?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Do you want to delete\n" "each of the selected transactions?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Export QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Export CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Close" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Edit" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Transacti_on" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Add..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Inherit..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Edit..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Reconciled" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Create template..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Tools" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filter..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Add a new transaction" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Add" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Inherit from the active transaction" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Inherit" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Edit the active transaction" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Edit" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Range:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Type:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Open the list filter" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Bank:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Today:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Future:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Welcome to HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "What do you want to do:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Read HomeBank _Manual" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Create a _new file" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Open an existing file" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Open the _example file" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "I/O error for file '%s'." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "The file '%s' is not a valid HomeBank file." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "File error" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_File" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_New" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Open..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Save" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Revert" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Quit" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Preferences..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_View" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Toolbar" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_Top spending" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro minor" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Manage" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "Acc_ounts..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Payees..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Categories..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Scheduled/Template..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Budget..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Assignments..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Transactions" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Add..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Show..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Set scheduler..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Reports" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Statistics..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Trend Time..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "B_udget..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "_Vehicle cost..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Show welcome dialog..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Make anonymous..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Help" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Contents" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Report a Problem..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Translate this Application..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_About" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Create a new file" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Open a file" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Open a recently used file" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Save the current file" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Configure the accounts" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Configure the payees" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Configure the categories" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Configure the scheduled/template transactions" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Configure the budget" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Configure the automatic assignments" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Shows selected account transactions" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Open the Statistics report" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Open the Trend Time report" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Open the Balance report" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Open the Budget report" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Open the Vehicle cost report" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Future" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(no category)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Date" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Info" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Payee" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Memo" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Amount" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Balance" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Unknown" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(no payee)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Output version information and exit" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[FILE]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Browser error." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Could not display the URL '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "HomeBank options" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Unable to open '%s', the file does not exist.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Your accounts" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "No transaction to add" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "transaction added: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Check scheduled transactions result" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Scheduled transactions" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Skip" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Post" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "maximum post date" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Other" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Where your money goes" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Grand total" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Accounts" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Bank" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Today" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- split -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Account" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Status" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Expense" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Income" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Category" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Tags" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Late" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Next date" #: ../src/rep-balance.c:76 msgid "List" msgstr "List" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "View results as list" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Line" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "View results as lines" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Refresh" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Refresh results" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Detail" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Toggle detail" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d under %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Balance report" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Display" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "A_ccount:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Select _all" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Each _day" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Zoom X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Date filter" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_From:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_To:" #: ../src/rep-budget.c:787 msgid " over" msgstr "" #: ../src/rep-budget.c:793 msgid " left" msgstr "" #: ../src/rep-budget.c:796 msgid " under" msgstr "" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Budget" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Result" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Budget report" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_View by:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Result:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Budget:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Spent:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "No account is defined to be part of the budget." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "You should include some accounts from the account dialog." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Spent" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Subcategory" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Tag" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Month" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Year" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Exp. & Inc." #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s by %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Toggle legend" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Toggle rate" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Statistics Report" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "By _amount" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Balance:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Income:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Expense:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Day" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Week" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Quarter" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s Over Time" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Trend Time Report" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Category:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Payee:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Tag:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Cumulate" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Time slice" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Metre" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Fuel" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Price" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Dist." #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Export as CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Vehicle cost report" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "Vehi_cle:" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Metre:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Consumption:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Fuel cost:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Other cost:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Total cost:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(none)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Visible" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Account name" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Error" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Cannot add an account '%s\"\n" "this name already exixts." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Manage Accounts" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Drag & drop to change the order\n" "Double-click to rename" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "General" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "N_umber:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Start _balance:" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "this account was _closed" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Report exclusion" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "exclude from account _summary" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "exclude from the _budget" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "exclude from any _reports" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Current cheque number" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Chequebook _1:" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Chequebook _2:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Next _date:" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Ever_y:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Week end:" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_Stop after:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "posts" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Manage scheduled/template transactions" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Manage Assignments" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Condition" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Pay_ment:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "New HomeBank file (%d of %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Not found" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Owner:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "File properties" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "System detection" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Languages:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Preset file:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Initialise my categories with this file" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Preset categories" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Name:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Balances" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Initial:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Overdrawn at:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Create an account" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "This is a confirmation page, press 'Apply' to apply changes" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Confirmation" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Known files" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF files" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX files" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV files" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "All files" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Date order:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "All" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "None" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Invert" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "days" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 days means an exact match" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "File format error" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Manage Budget" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "_Clear input" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Options" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Force monitoring this category" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "May" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Aug" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Oct" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Dec" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Income" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Manage Categories" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Frac digits:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Export as QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Import from CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "HomeBank files" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Select among possible transactions..." #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Select an action:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "create a new transaction" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "select an existing transaction" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "HomeBank has found a transaction that may be the associated transaction for " "the internal transfer." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Option:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Memo:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Info:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "Case _sensitive" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Any Status" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Any Type" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Transfer" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Force:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "display 'Added'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "display 'Edited'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Scheduled transaction" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "add until" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "of each month (excluded)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "add" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "days in advance the current date" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Vehicle cost" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "Pa_yment:" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Manage Payees" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Interface" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Transactions" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Import/Export" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Report" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "System defaults" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Icons only" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Text only" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Text under icons" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Text beside icons" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango light" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango medium" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango dark" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "m-d-y" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "d-m-y" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "y-m-d" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Ignore" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Append to Info" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Append to Memo" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "System Language" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Choose a default HomeBank files folder" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Choose a default import folder" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Choose a default export folder" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "OFX/QFX options" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Initial filter" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Charts options" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Statistics options" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Show by _amount" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Show _rate column" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Show _details" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Budget options" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Enable" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Preset:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Language:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Fiscal year" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "Starts _on:" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Measurement units" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Use _miles for distance" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Transaction window" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Multiple add" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Keep the last date" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Toolbar:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Amount colours" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Uses custom colours" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Expense:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Income:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Warning:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Import:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Export:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Program start" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Show splash screen" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Load last opened file" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Post pending scheduled transactions" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Main window reports" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Preferences" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "You will have to restart HomeBank\n" "for the language change to take effect." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Transaction amount:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Unassigned:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Sum of splits:" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Add transaction" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Inherit transaction" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Date:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "M_emo:" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Include" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Exclude" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(no type)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Cash" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Asset" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Credit card" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Liability" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Last 30 days" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Last 60 days" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Last 90 days" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Last 12 months" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "All dates" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Possible" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Before" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "After" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Unreconciled" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Uncategorised" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "January" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "February" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "March" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "April" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "June" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "July" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "August" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "September" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "October" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "November" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "December" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Cheque" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Debit card" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Standing order" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Electronic payment" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Deposit" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "FI fee" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Direct Debit" homebank-5.3.2/po/sr.po0000644000175000017500000027611413620025351011640 00000000000000# Serbian translation for homebank # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the homebank package. # Мирослав Николић , 2011—2017. msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2019-06-15 12:54+0000\n" "Last-Translator: Марко М. Костић \n" "Language-Team: Serbian <(nothing)>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:53+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" "Language: sr\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "Кућна банка" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Личне финансије" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Лако и бесплатно лично рачуноводство за свакога" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "финансије;обрачун;буџет;лично;новац;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "Кућна банка је слободан софтвер (слободан за преузимање, мењање и " "расподељивање, тј. са доступним изворним кȏдом) који вам може помоћи при " "вођењу вашег личног рачуноводства." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "Осмишљен је да буде лак за коришћење и да може проучити ваше личне финансије " "детаљно користећи моћне алате за издвајање и приказивање прелепих графика." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Ако тражите потпуно бесплатно и једноставно решење за рад са вашим личним " "финансијама онда би Кућна банка требала бити најбољи избор." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "Постоји група %d са сличним трансакцијама" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "Ниједна слична трансакција није нађена!" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "Нисам нашао недоследност !" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "Нашао сам недоследност: %d\n" "да ли желите да прегледате и исправите ?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Сваки износ трансакције биће подељен са %.6f." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Да ли сигурно желите да претворите овај налог\n" "у евро као главну валуту?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Претвори" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Нема измењених трансакција" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "измењених трансакција: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "Резултат аутоматске доделе" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Да ли желите да направите шаблон са\n" "сваком изабраном трансакцијом ?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "_Направи" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Да ли желите да избришете\n" "сваку изабрану трансакцију ?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "О_бриши" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Да ли сигурно желите да промените стање у „Ништа“?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "Неке трансакције у вашем избору су већ измирене." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Промени" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Да ли сигурно желите измените стање „Измирено“?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_Промени приказ" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "%d трансакција" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d трансакција, %d одабрано, просек: %s, укупно: %s (%s - %s)" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "_Налог" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Извези КуИФ..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Извези ЦСВ..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "Извези као ПДФ..." #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Затвори" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Уреди" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "_Трансакција" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Додај..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Наследи..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Уреди..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Стање" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Ништа" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "_Очишћено" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Измирено" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "Вишес_труко уређивање…" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Направи шаблон..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Обриши..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Алати" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "Направи дупликат..." #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "Самододељивања" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Издвој..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Претвори у евро..." #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Додајте нову трансакцију" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Додај" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Пренесите из активне трансакције" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Пренеси" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Уредите активну трансакцију" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Уреди" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "Промените приказ очишћеног за изабрану трансакцију(е)" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "Промените приказ измиреног за изабрану трансакцију(е)" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Уредите вишеструку трансакцију" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Направите шаблон" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Обришите изабрану трансакцију(е)" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "(затворено)" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "%s - Кућна банка" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "Све трансакције" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "_Освежи" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Опсег:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "Промени стање приказа будуће трансакције" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Врста:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Стање:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_Поврати" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Отвори списак филтера" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "Евро _споредна" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Банка:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Данас:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Будуће:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Да повратим несачуване измене у датотеку „%s“?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "— Измене учињене у датотеци биће трајно изгубљене\n" "— Датотека ће бити поново учитана из последњег чувања (.xhb~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Поврати" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Да ли сигурно желите да анонимизирате датотеку?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Настављање ће анонимизирати сав текст, \n" "нпр. „налог ш“, „прималац ђ“, „белешке ч“…" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Анонимизирај" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Добро дошли у Кућну банку" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Шта желите да урадите:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Да прочитате _упутство за Кућну банку" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "Подеси _поставке" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Да _направите нову датотеку" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "Отвори _постојећу датотеку" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Отвори _пример" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" "Отворићете резервну датотеку „%s“.\n" "\n" "Да ли сте сигурни да желите то?" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "Отворити датотеку са резервом?" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "_Отвори резерву" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Непозната грешка" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "У/И грешка за датотеку „%s“." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Датотека „%s“ није исправна датотека Кућне банке." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "Датотека „%s“ је сачувана новијим издањем Кућне банке\n" "и не може бити учитана текућим издањем." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Грешка датотеке" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "Датотека је промењена након читања." #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Ако је сачувате, све спољне измене могу бити изгубљене. Да је ипак сачувам?" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "Ип_ак сачувај" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Датотека" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Ново" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Отвори..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "Отвори ско_рашње" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Сачувај" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "Сачувај _као..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "Увези..." #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "Извези као QIF..." #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Врати" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "Врати резерву" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Својства..." #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Изађи" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Поставке..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Преглед" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "Трака _алата" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_Највећа потрошња" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "_Доњи спискови" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Евро споредни" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "У_прављање" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "_Налози..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Повериoци..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "_Категорије..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Заказано/Шаблон..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Буџет..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Додељивања..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Валуте..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "Ознаке..." #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Трансакције" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Додај..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Прикажи..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "Прикажи све..." #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Подеси заказивача..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Објави заказано" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Извештаји" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Статистика..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Временско очекивање..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "_Буџет..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "_Издатак возила..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Прикажи прозорче добродошлице..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Статистика датотеке..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Анонимизирај…" #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "По_моћ" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Садржај" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "Потражи ажурирања..." #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "Белешке о издању" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Пријавите проблем..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Преведите овај програм..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_О програму" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Направите нову датотеку" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Отвори" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Отворите датотеку" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Отворите недавно коришћену датотеку" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Сачувајте текућу датотеку" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Подесите налоге" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Подеси повериоце" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Подесите категорије" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Подесите трансакције заказаног/шаблона" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Подесите буџет" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Подесите самостална додељивања" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Прикажите трансакције изабраног налога" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Додајте трансакције" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Отворите статистички извештај" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Отворите извештај временског очекивања" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Отворите извештај биланса" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Отворите извештај буџета" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Отворите извештај трошкова возила" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "Заказано" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Будуће" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "Подсећање" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(без категорије)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "неисправан ЦСВ формат" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Датум" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Подаци" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Поверилац" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Белешке" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Износ" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Биланс" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Непознато" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "mi./l" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(нема поверилаца)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "%d-нед.%d" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "%d-кв.%d" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Исписује обавештење о издању и излази" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[ДАТОТЕКА]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Грешка прегледача." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Не могу да прикажем адресу „%s“" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Опције Кућне банке" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Не могу да отворим „%s“, датотека не постоји.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(нема институције)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Ваши налози" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Раширите све" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Скупите све" #: ../src/hub-account.c:547 msgid "Show all" msgstr "Прикажи све" #: ../src/hub-account.c:552 msgid "By type" msgstr "по врсти" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "По установи" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Нема трансакције за додавање" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "додата трансакција: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Резултат провере заказаних трансакција" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Укупно" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Заказане трансакције" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Прескочи" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Уреди и пошаљи" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Пошаљи" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "крајњи датум слања је" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Највећи издатак" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "Највећи %d трошак" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Друго" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Где одлази ваш новац" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "увезени налог" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Целокупни износ" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Налози" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Банка" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Данас" #: ../src/list-operation.c:548 msgid "- split -" msgstr "— подели —" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Налог" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Стање" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Расход" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Приход" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Категорија" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Ознаке" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Касни" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Следећи датум" #: ../src/rep-balance.c:76 msgid "List" msgstr "Списак" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Прикажите резултате у облику списка" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Траке" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Прикажите резултате у тракама" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Освежи" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Освежите резултате" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Детаљи" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Промените приказ детаља" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d испод %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Извештај биланса" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Приказ" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "_Налог:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Изабери _све" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Сваког _дана" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "Х _увећање:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Филтер датума" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Од:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_До:" #: ../src/rep-budget.c:787 msgid " over" msgstr " преко" #: ../src/rep-budget.c:793 msgid " left" msgstr " преостало" #: ../src/rep-budget.c:796 msgid " under" msgstr " испод" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "Буџет за %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Буџет" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Резултат" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "Прикажите резултате као на хрпи" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "_Резултат у оставу" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "_Резултат у ЦСВ" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "Поје_диности у оставу" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "Поје_диности у ЦСВ" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Извештај о буџету" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "За _преглед:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "Само ван буџета" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Резултат:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Буџет:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Потрошња:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Ниједан налог није дефинисан да буде део буџета." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "Можете да укључите неке налоге из прозорчета налога." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Потрошња" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Подкатегорија" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Ознака" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Месец" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Година" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Расход и приход" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s по %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "Прикажите резултате у облику усправних трака" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "Прикажите резултате у облику кружног графикона" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Промените приказ легенде" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Промените приказ камате" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "Уреди филтер" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Статистички извештај" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Према _износу" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "Интер_вал:" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Биланс:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Приход:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Расход:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Дан" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Недеља" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Четврт" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "Полугодишње" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s током времена" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "Просечно: %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Извештај временског кретања" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Категорија:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Поверилац:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Ознака:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Збирно" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "Прикажи празну линију" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Исечак времена" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Мерач" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Гориво" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Цена" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Растојање" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Извези као CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Извештај трошкова возила" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "_Возило:" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Мерач:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Потрошња:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Утрошак горива:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Остали трошкови:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Укупан трошак:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(ништа)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Видљива" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Откажи" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "У _реду" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Назив налога" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Грешка" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Не могу да додам налог „%s“,\n" "налог са овим називом већ постоји." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "Не могу да обришем налог „%s“" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "Овај налог садржи трансакције и/или је део унутрашњих преноса." #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Да ли сигурно желите трајно да обришете „%s“?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "Ако обришете овај налог, он ће трајно нестати." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Не могу да преименујем овај налог,\n" "са „%s“ у „%s“,\n" "овај назив већ постоји." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Управљајте налозима" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Превуците и пустите да промените редослед\n" "Дупли клик за преименовање" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Опште" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "Б_рој:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Почетни _биланс:" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "_Валута:" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "овај налог је _затворен" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "Напомене:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "Подразумевани ша_блон:" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Пријави изузеће" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "искључи из _сажетка налога" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "искључи из _буџета" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "искључи из било ког _извештаја" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Тренутни број чека" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Чековна књижица _1:" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Чековна књижица _2:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "Ограничења биланса" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "_Препиши са:" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "Ако обришете заказано/шаблон, биће трајно изгубљено." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Следећи _датум:" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Сва_ког:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Викенд:" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "Зау_стави након:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "чланака" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Управљајте трансакцијама заказаног/шаблона" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "Ако обришете додељивање, оно биће трајно изгубљено." #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "Искључено" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "Ако је празно" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "Препиши" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Управљајте додељивањем" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Услов" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "П_лаћање:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Нова датотека Кућне банке (%d од %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Нисам нашао" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Власник:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "Валута:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Својства датотеке" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "Открића система" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Језици:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Датотека претподешавања:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Започни моје категорије овом датотеком" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Категорије претподешавања" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "Подаци" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Назив:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Биланси" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Почетни:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Преписан са:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Прављење налога" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Ово је страница за потврђивање, кликните „Примени“ да примените измене" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Потврђивање" #: ../src/ui-assist-import.c:472 msgid "" msgstr "<Нови налог (глобални)>" #: ../src/ui-assist-import.c:477 msgid "" msgstr "<Нови налог>" #: ../src/ui-assist-import.c:498 msgid "" msgstr "<Прескочи овај налог>" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "Исправно" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Назив" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Познате датотеке" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "КуИФ датотеке" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "ОФИкс/КуФИкс датотеке" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV датотеке" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Све датотеке" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "нови глобални налог" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "нови налог" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "прескочено" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr ", %d од %d трансакција" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "ова датотека" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "овај налог" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" "Назив: %s\n" "Број: %s\n" "Датотека: %s\n" "Кодни распоред: %s" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "Увези трансакције из банке или са кредитне картице" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "Не приказуј ово поново" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Редослед датума:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "Изабери:" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Све" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Ништа" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Окрени" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "дана" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Поређење је извршено следећим редом: налог, износ и датум.\n" "Толеранција датума од 0 дана значи тачно поређење" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "Добро дошли" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "Увези" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Грешка формата датотеке" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" "ЦСВ датотека мора да садржи тачан број колона, које су\n" "раздвојене запетачком, погледајте помоћ за више о томе." #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "Да ли сигурно желите да очистите улаз?" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "Ако наставите, сваки износ биће постављен на 0." #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "_Очисти" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Управљајте буџетом" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "_Увези ЦСВ" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "_Извези ЦСВ" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "_Очисти унесено" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Опције" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Присили праћење ове категорије" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Јан" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Феб" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Мар" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Апр" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Мај" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Јун" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Јул" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Авг" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Окт" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Нов" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Дец" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Ова категорија је у употреби.\n" "Свака трансакција унутар ове категорије биће постављена на (без категорије)" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "О_бриши категорију „%s“" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "Споји" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "Обришите некоришћене категорије" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Да ли сигурно желите трајно да обришете\n" "категорије које се не користе?" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "Уреди..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Приход" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Не могу да преименујем ову категорију,\n" "из „%s“ у „%s“,\n" "овај назив већ постоји." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "Споји категорију „%s“" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "Трансакције додељене овој категорији\n" "биће померене у категорију изабрану испод." #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Управљајте категоријама" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "_Обриши некоришћене" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "нова категорија" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "нова подкатегорија" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Основна валута" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Симбол" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "Однос размене" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "Последња измена" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Уредите валуту" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "Валута" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "Формат" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "_Прилагоди" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "_Симбол:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "Јесте пре_фикс" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "Знак _децимала:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Број децимала:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "Знак _груписања:" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Изаберите валуту основе" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Изаберите валуту" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "ИСО кȏд" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "Додај прилагођену ва_луту" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "Грешка мрежног освежавања" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "Ако обришете валуту, биће трајно изгубљена." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Измените валуту основе" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" "Ако наставите, односи других валута биће\n" "постављени на 0, не заборавите да освежите" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Валуте" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "Освежите на мрежи" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "Поставите као основу" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Статистика датотеке" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "Трансакција" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "Додељивање" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "Надогради" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "Изаберите валуту основе" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "Покрећем в5.1, Кућна банка може управљати са неколико\n" "валута. Ако валута испод није тачна, измените је:" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Извези као QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Увези из ЦСВ-а" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "Отворите датотеку Кућне банке" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "Сачувајте датотеку Кућне банке као" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "Датотеке Кућне банке" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "Да сачувам измене у датотеку пре затварања?" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Ако не сачувате, измене ће бити трајно изгубљене.\n" "Број измена: %d." #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "Затвори _без чувања" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "Извези као ПДФ" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "Фасцикла:" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "Изабери фасциклу" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "Назив датотеке:" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Изабери између могућих трансакција..." #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Изабери радњу:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "направите нову трансакцију" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "изаберите постојећу трансакцију" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "Кућна банка је пронашла неке трансакције које би могле бити придружене " "трансакције за унутрашњи пренос." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Опција:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Белешкe:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "П_одаци:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "Разликуј величину _слова" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Било које стање" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "Очишћено" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "Измирено" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Било које врсте" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Пренос" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Присили:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "прикажи „Додато“" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "прикажи „Уређено“" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "прикажи „Подсети“" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "Датуми" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "Плаћања" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "Своте" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "Текстови" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "Категорије" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "Повериоци" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Заказана трансакција" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "додај све до" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "сваког месеца (искључено)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "додај" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "дана након текућег датума" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Издатак возила" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "Обриши некоришћеног повериоца" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Да ли сигурно желите трајно да обришете\n" "повериоце који се не користе?" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "Основно" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "_Плаћање:" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Не могу да преименујем овог повериоца,\n" "из „%s“ у „%s“,\n" "ово име већ постоји." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "Споји повериоца „%s“" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Трансакције додељене овом повериоцу\n" "биће померене на повериоца изабраног испод." #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "О_бриши повериоца „%s“" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "Овај поверилац је у употреби. Свака трансакција која\n" "користи овог повериоца биће подешена на (нема поверилаца)" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Управљајте повериоцима" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "нови поверилац" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Сучеље" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Трансакције" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Увоз/извоз" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Извештај" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Основности система" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Само иконице" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Само текст" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Текст испод иконица" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Текст поред иконица" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "Водоравно" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "Усправно" #: ../src/ui-pref.c:109 msgid "Both" msgstr "Оба" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Танго светла" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Танго средња" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Танго тамна" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "м.д.г." #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "д.м.г." #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "г.м.д." #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Занемари" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Прикачи на инфо" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Додај на белешке" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "Додај на повериоца" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Језик система" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Изаберите основну фасциклу са датотекама Кућне банке" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Изаберите основну фасциклу за увоз" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Изаберите основну фасциклу за извоз" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "ОФИкс/КуФИкс опције" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "QIF опције" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Почетни филтер" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Опције графикона" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "Шема боје:" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Опције статистике" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Прикажи према _износу" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Прикажи колону _односа" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Прикажи _детаље" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Опције буџета" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Омогући" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Предподешавање:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Језик:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "_Формат:" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Фискална година" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "_Почиње:" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Мерне јединице" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Користи _миље за даљину" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "Користи _галоне за гориво" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Прозор трансакције" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Вишеструко додавање" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Задржи последњи датум" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "Трака _алата:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "_Линија мреже:" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Боје износа" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Користи произвољну боју" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Расход:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Приход:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Упозорење:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Увоз:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Извоз:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Покретање програма" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Прикажи уводни екран" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Учитај последњу отворену датотеку" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Објави заказане трансакције на чекању" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "Освежи валуте на мрежи" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Главни прозор извештава" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Поставке" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "Мораћете поново да покренете Кућну банку\n" "да би промена језика ступила на снагу." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "Поделите трансакције" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Износ трансакције:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Недодељено:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Збир подела:" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Да ли желите да прекинете унутрашњи пренос?\n" "\n" "Поступак ће избрисати циљну трансакцију." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "Прикажи _заказано" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "_Додај" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "_Пошаљи" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Додајте трансакцију" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Пренесите трансакцију" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Датум:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "_Белешке:" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "Упозорење: знак износа и категорије нису исти" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "Вишеструко уређивање трансакција" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "Шаблон" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Укључи" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Искључи" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(нема врсте)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Готовина" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Добро" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Кредитна картица" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Одговорност" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "Овог месеца" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "Прошлог месеца" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "Овог тромесечја" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "Прошлог тромесечја" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "Ове године" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "Последње године" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Последњих 30 дана" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Последњих 60 дана" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Последњих 90 дана" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Последњих 12 месеци" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Сви датуми" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Могуће" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Пре" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "После" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "Неочишћено" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Неизмирено" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Неразврстано" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Јануар" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Фебруар" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Март" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Април" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Јун" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Јул" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Август" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Септембар" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Октобар" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Новембар" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Децембар" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Сеп" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "Тражи..." #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Чек" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Картица задуживања" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Трајна наруџбина" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Електронско плаћање" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Улог" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "ФИ накнада" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Директно задуживање" homebank-5.3.2/po/hu.po0000644000175000017500000026466313620025320011632 00000000000000# Hungarian translation for homebank # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2007. # # Translators: # Balázs Úr , 2019 # Balázs Meskó , 2019 # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2020-01-08 20:58+0000\n" "Last-Translator: Kevin Patterson \n" "Language-Team: Hungarian (https://www.transifex.com/fsf-hu/teams/77907/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" "Language: hu\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Személyes pénzügyek" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Ingyenes, egyszerű, személyi pénzügyi program mindenkinek" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "pénzügy;könyvelés;költségvetés;személyes;pénz;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "A HomeBank szabad szoftver, amely segítséget nyújt a személyes pénzügyei " "kezelésében." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "Úgy tervezték, hogy könnyen használható legyen, valamint részletes " "szűrőeszközökkel és szép grafikonokkal részletesen elemezhesse személyes " "pénzügyeit." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Ha teljesen ingyenes és egyszerű módszert keres a személyes könyvelése " "kezelésére, akkor a HomeBankot érdemes választani." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "%d hasonló csoport tranzakció található" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "Nem találhatók hasonló tranzakciók!" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "Nem található következetlenség!" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "Következetlenség található: %d\n" "Szeretné felülvizsgálni és javítani?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Minden tranzakció összege a következővel lesz elosztva: %.6f." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Biztosan át szeretné váltani ezt a számlát euróra\n" "fő pénznemként?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "Át_váltás" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Tranzakció nem változott" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "Megváltozott tranzakciók: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "Automatikus hozzárendelés eredménye" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Szeretne új sablont létrehozni\n" "a kiválasztott tranzakciók mindegyikéből?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "_Létrehozás" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Minden kiválasztott tranzakciót \n" "törölni szeretne?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_Törlés" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Biztos, hogy törli az állapotot?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "A kiválasztott tranzakciók közül néhány már Egyeztetett." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Módosítás" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Biztos, hogy bekapcsolja az Egyeztetett állapotot?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_Átkapcsolás" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "%d tranzakció" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d tranzakció, %d kijelölt, átlag: %s, összes: %s (%s - %s)" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "Szám_la" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "QIF exportálása…" #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Exportálás CSV-be…" #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "Exportálás PDF-be…" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Bezárás" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Szerkesztés" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "Másolás" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "Beillesztés" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "Beillesztés (ma)" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Tranzakc_ió" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Hozzáadás…" #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "Ö_röklés…" #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "Sz_erkesztés" #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Állapot" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Nincs" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "_Elszámolt" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Egyeztetett" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "_Többszörös szerkesztés…" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Sablon létrehozása…" #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Törlés…" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "_Keresés" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Eszközök" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "Megjelölés duplikátumként…" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "Számlák közötti átvezetés vizsgálata" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "Automatikus hozzárendelések" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Szűrők…" #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Euróra váltás…" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Új tranzakció hozzáadása" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Hozzáadás" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Öröklés az aktív tranzakcióból" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Öröklés" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Aktív tranzakció szerkesztése" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Szerkesztés" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "Elszámoltság állapotának átváltása a kijelölt tranzakcióknál" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "Egyeztetettség állapotának átváltása a kijelölt tranzakcióknál" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Több tranzakció szerkesztése" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Sablon létrehozása" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Kijelölt tranzakció(k) törlése" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "Tranzakció mozgatása felfelé" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "Tranzakció mozgatása lefelé" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "(zárolt)" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "%s – HomeBank" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "Összes tranzakció" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "_Frissítés" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Tartomány:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "Jövőbeli tranzakciók láthatósága be/ki" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Típus:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Állapot:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_Visszaállítás" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Szűrőlista megnyitása" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "Euró _másod." #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Bank:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Ma:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Jövő:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Valóban visszavonható minden nem mentett változás a fájlban: „%s”?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "- A fájlban történt változások végérvényesen elvesznek.\n" "- A fájl a legutóbbi mentésből lesz visszaállítva (.xhb~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Visszaállítás" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Biztos, hogy anonimizálja a fájlt?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Folytatva minden szöveg anonimizálva lesz,\n" "mint pl. a „X számla”, „Y partner”, „Z feljegyzés”, …" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Anonimizálás" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Üdvözöljük a HomeBankban" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Mi a teendő?" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "HomeBank _súgó olvasása" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "Beállítások _konfigurálása" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Ú_j fájl létrehozása" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "Meglévő fájl _megnyitása" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "_Példafájl megnyitása" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" "A biztonsági mentés megnyitása hamarosan megkezdődik: „%s”.\n" "\n" "Biztos, hogy ezt teszi?" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "Megnyitja a biztonsági mentést?" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "Biztonsági mentés _megnyitása" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Ismeretlen hiba" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "Ki- vagy bemeneti hiba a(z) „%s” fájlban." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "A(z) „%s” fájl nem érvényes HomeBank fájl." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "A(z) „%s” fájl a HomeBankkal egy magasabb verziójával lett elmentve,\n" "ezért nem tölthető be ebben a verzióban." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Fájlhiba" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "A fájl megváltozott a betöltése óta." #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Ha most mentésre kerülne ez a változat, akkor minden külső módosítás " "elveszne. Mindenképp elmenti?" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "_Mentés mindenképp" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "Törlés" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Fájl" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Új" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Megnyitás…" #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "Leg_utóbbi megnyitása" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Mentés" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "Mentés másként…" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "Importálás…" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "Exportálás QIF-be…" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Visszaállítás" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "Biztonsági mentés visszaállítása" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Tulajdonságok…" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Kilépés" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Beállítások…" #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Nézet" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Eszköztár" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_Legnagyobb kiadások" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "Al lista" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euró másod." #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Kezelés" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "_Számlák…" #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Partnerek…" #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Kategóriák…" #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Ütemezés/Sablon…" #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Költségvetés…" #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "Költségvetés (táblázatos nézet)" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Besorolások…" #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Pénznemek…" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "Címkék…" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Tranzakciók" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Hozzáadás…" #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Megjelenítés…" #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "Összes megjelenítése…" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Ütemező beállítása…" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Ütemezések feladása" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Kimutatások" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Statisztika…" #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "T_rend…" #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "_Egyenleg..." #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "Költség_vetés…" #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "_Gépjárműköltség…" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Üdvözlő üzenet megjelenítése…" #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Fájlstatisztika…" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Anonimizálás…" #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Súgó" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Tartalom" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "Online segítség…" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "Frissítés keresése…" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "Kiadási megjegyzések" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Hiba jelentése…" #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Alkalmazás fordítása…" #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_Névjegy" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Új fájl létrehozása" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Megnyitás" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Fájl megnyitása" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Nemrég használt fájlok megnyitása" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Az aktuális fájl mentése" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Számlák beállítása" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Partnerek beállítása" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Kategóriák beállítása" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Ütemezett/sablon tranzakciók beállítása" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Költségvetés beállítása" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Automatikus besorolások beállítása" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Kiválasztott számla tranzakcióinak megjelenítése" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Tranzakciók hozzáadása" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Statisztikai kimutatás megnyitása" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Trendkimutatás megnyitása" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Egyenlegkimutatás megnyitása" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Költségvetési kimutatás megnyitása" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Gépjárműköltség-kimutatás megnyitása" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "A HomeBank project támogatása" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "Ütemezett" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Jövőben" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "Emlékeztető" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(kategorizálatlan)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "érvénytelen CSV formátum" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Dátum" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Megjegyzés" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Partner" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Feljegyzés" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Összeg" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Egyenleg" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Ismeretlen" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "mérföld/l" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(nincs partner)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "%d/%d. hét" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "%dQ%d" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Verzióinformáció kiírása és kilépés" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[FÁJL]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Böngésző hiba." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Nem jeleníthető meg az URL: „%s”" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "HomeBank beállításai" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "A(z) „%s” nem nyitható meg, a fájl nem létezik.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(nincs szervezet)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "(nincs csoport)" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Számlák" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Összes kibontása" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Összes összecsukása" #: ../src/hub-account.c:547 msgid "Show all" msgstr "Összes megjelenítése" #: ../src/hub-account.c:552 msgid "By type" msgstr "Típus szerint" #: ../src/hub-account.c:553 msgid "By group" msgstr "Csoport szerint" #: ../src/hub-account.c:554 msgid "By institution" msgstr "Intézmény szerint" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Nincs hozzáadható tranzakció" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "tranzakció hozzáadva: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Ütemezett tranzakciók eredményeinek ellenőrzése" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Összesen" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Ütemezett tranzakciók" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Kihagyás" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Szerkesztés és feladás" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Feladás" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "Maximális feladási dátum" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Legnagyobb kiadások" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "%d legnagyobb kiadás" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Egyéb" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Mire ment el a pénz?" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "importált számla" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Mindösszesen" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Számlák" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Bank" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Ma" #: ../src/list-operation.c:548 msgid "- split -" msgstr "– megosztás –" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "- hiányzó kategória -" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Számla" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Állapot" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Kiadás" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Bevétel" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Kategória" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Címkék" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Késő" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "Hátralévő" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Következő dátum" #: ../src/rep-balance.c:76 msgid "List" msgstr "Lista" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Eredmények megjelenítése listaként" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Vonal" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Eredmény megjelenítése vonalakkal" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Frissítés" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Eredmények frissítése" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Részletezés" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Részletek be/ki" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d %s alatt" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Egyenlegkimutatás" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Megjelenítés" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "_Számla:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Össz_es kijelölése" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Minden n_ap" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Nagyítás:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Dátum szűrése" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Ettől:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "E_ddig:" #: ../src/rep-budget.c:787 msgid " over" msgstr " felett" #: ../src/rep-budget.c:793 msgid " left" msgstr " maradt" #: ../src/rep-budget.c:796 msgid " under" msgstr " alatt" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "%s költségvetése" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Költségvetés" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Eredmény" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "Eredmények megjelenítése sávdiagramként" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "_Eredmények a vágólapra" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "E_redmények CSV-be" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "_Részletek a vágólapra" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "_Részletek CSV-be" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Költségvetési kimutatás" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Nézet:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "Csak a költségvetésen túliak" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Eredmény:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Tervezet:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Kiadás:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Egyetlen számla sem szerepel a költségvetésben." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "A számla párbeszédablakban néhány számlát hozzá kell adni." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Kiadások" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Alkategória" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Címke" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Hónap" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Év" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Kiadás és bevétel" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s, %s szerint" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "Túl sok megjelenitendő oszlop" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "Eredmények megjelenítése oszlopban" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "Eredmények megjelenítése fánkdiagramként" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Jelmagyarázat be/ki" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Arány be/ki" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "Szűrő módosítása" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Statisztikai kimutatás" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "Mód:" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Össze_g szerint" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "Idő_köz:" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Egyenleg:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Bevétel:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Kiadás:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "Átlag" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Nap" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Hét" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Negyedév" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "Félév" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s az idő múlásával" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "Átlag: %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Trendkimutatás" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Kategória" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Partner:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Címke:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Egybevetés" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "Üres sor megjelenítése" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Időszelet" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Út" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Üzemanyag" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Ár" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Táv" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Exportálás CSV-be" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Gépjárműköltség-kimutatás" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "_Gépjármű" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Út:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Fogyasztás:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Üzemanyagköltség:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Egyéb költség:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Teljes költség:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(nincs)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Látható" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Mégse" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Számlanév" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Hiba" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "A(z) „%s” számla nem adható hozzá,\n" "a név már létezik." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "A(z) „%s” számla nem törölhető" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "A számla tranzakciókat tartalmaz vagy belső átvezetések része." #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Biztos, hogy véglegesen törli: „%s”?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "Ha törli a számlát, akkor véglegesen elvész." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "A(z) „%s” számla átnevezése\n" "erre sikertelen: „%s”,\n" "ez a név már létezik." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Számlák kezelése" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "Átnevezés" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "Törlés" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Sorrend módosítása: fogd és vidd módon.\n" "Átnevezés: dupla kattintással." #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Általános" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "_Csoport:" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "S_zám:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Kezdő_egyenleg:" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "_Pénznem:" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "ez a számla _zárolt" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "Megjegyzések:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "Működés" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "Automatizálás" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "Alapértelmezett _sablon:" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Kimutatáskivétel" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "kihagyás a számlaössze_sítőből" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "kihagyás a _költségvetésből" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "kihagyás a ki_mutatásokból" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "Egyéb" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Jelenlegi csekkszám" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "_1. csekkfüzet:" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "_2. csekkfüzet:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "Egyenleghatár" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "Hiteltúllépési korlát:" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "Ha törli az időzítést/sablont, akkor véglegesen elvész." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Következő _dátum" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Min_den:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "További beállítások" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Hétvége" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_Leállítás ennyi után:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "feladás" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Ütemezett/sablon tranzakciók kezelése" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "Ü_temezés" #: ../src/ui-assign.c:303 msgid "Search" msgstr "Keresés" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "Ha törli a hozzárendelést, akkor véglegesen elvész." #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "Kikapcsolva" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "Ha üres" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "Felülírás" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Hozzárendelések kezelése" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Feltétel" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Fizetési _mód:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Új HomeBank fájl (%d/%d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Nem található" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Tulajdonos:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "Pénznem:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Fájl tulajdonságai" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "Rendszerészlelés" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Nyelvek:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Összeállításfájl:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Kategóriák betöltése a következő fájlból" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Kategória-összeállítások" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "Információ" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Név:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Egyenlegek" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Kezdőegyenleg:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Túllépés pontja:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Új számla létrehozása" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Ez egy megerősítő oldal, a változások érvényesítéséhez nyomja meg az " "„Alkalmaz” gombot" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Megerősítés" #: ../src/ui-assist-import.c:472 msgid "" msgstr "<Új számla (globális)>" #: ../src/ui-assist-import.c:477 msgid "" msgstr "<Új számla>" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "Érvényes" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Név" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Ismert fájlok" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF-fájlok" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX-fájlok" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV-fájlok" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Minden fájl" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "új globális számla" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "új számla" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "kihagyott" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr ", %d/%d tranzakció" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" "Néhány dátum nem alakítható át. A folytatáshoz próbálja meg módosítani a " "dátumsorrendet." #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "%s _importálása:" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "ebbe a fájlba" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "ebbe a számlába" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" "Név: %s\n" "Szám: %s\n" "Fájl: %s\n" "Kódolás: %s" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "Tranzakciók importálása bank- vagy hitelkártyáról" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" "Ez a segéd végigvezeti egy vagy több bank- vagy hitelkártya-kivonat " "importálásán,\n" "a következő formátumokból:" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" "Javasolt: .OFX vagy .QFX\n" "(Néha Money™ vagy Quicken™ néven ismert)\n" "Támogatott: .QIF\n" "(Közös Quicken™ fájl)\n" "Csak haladó felhasználóknak: .CSV\n" "(A formátum HomeBank-specifikus, lásd a dokumentációt)" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" "Addig nem történik változás, míg nem kattint az „Alkalmaz” gombra a segéd " "végén." #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "Ne jelenjen meg többé" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" "Túl sok számla található a kijelölt fájlokban,\n" "használja a „Vissza” gombot, és jelöljön ki kevesebbet." #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "A célszámla azonosítása név vagy szám alapján sikertelen." #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Dátumsorrend:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "_Feljegyzések importálása" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "Feljegyzések és partnerek _felcserélése" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "OFX-_név:" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "OFX-_feljegyzés:" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "Kijelölés:" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Összes" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Semmi" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Megfordítás" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "Feljegyzés/partner _nagybetűsítése" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "Hasonló tranzakciók a célszámlán (kettőzések előfordulhatnak)" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "Dátum_intervallum:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "nap" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Találatok keresése ebben a sorrendben: számla, összeg, dátum szerint.\n" "0 nap eltérés a dátumban pontos találatot jelent." #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "Üdvözlet" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "Fájl(ok) kijelölése" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "Importálás" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Fájlformátum-hiba" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" "A CSV-fájlnak meghatározott számú oszlopot kell tartalmaznia\n" "pontosvesszővel elválasztva. Lásd a súgót a további részletekért." #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "Biztos, hogy törli a bemenetet?" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "Ha folytatja, akkor minden összeg 0-ra lesz állítva." #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "_Törlés" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Költségvetés kezelése" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "_Importálás CSV-ből" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "E_xportálás CSV-be" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "Bemenet _törlése" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Beállítások" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "Ezen kategória megfigyelésének _kényszerítése" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "jan." #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "febr." #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "márc." #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "ápr." #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "május" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "jún." #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "júl." #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "aug." #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "okt." #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "nov." #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "dec." #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Ez a kategória használatban van.\n" "Minden ezen kategóriát használó tranzakció (nincs)-re lesz állítva." #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "„%s” kategória _törlése" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "Összevonás" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "Használaton kívüli kategóriák törlése" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Valóban véglegesen törölhetőek\n" "a használaton kívüli kategóriák?" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "Szerkesztés…" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Bevétel" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "A(z) „%s” kategória átnevezése\n" "sikertelen, mert a(z) „%s”\n" "már létezik." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "„%s” kategória összevonása" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "Az ehhez a kategóriához tartozó tranzakciók\n" "az alább kijelölt kategóriához lesznek hozzárendelve." #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Kategóriák kezelése" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "Használaton _kívüliek törlése" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "új kategória" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "új alkategória" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Alappénznem" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Jel" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "Beváltási árfolyam" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "Utoljára módosítva" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Pénznem szerkesztése" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "Pénznem" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "Formátum" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "_Testreszabás" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "_Jel:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "_Előtag?" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "_Tizedesjel:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Tizedesjegyek:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "_Csoportosítójel:" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Alappénznem kijelölése" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Pénznem kijelölése" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "ISO-kód" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "_Egyéni pénznem hozzáadása" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "_ISO:" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "Online frissítési hiba" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "Ha törli a pénznemet, akkor véglegesen elvész." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Alappéznem módosítása" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" "Ha folytatja, akkor a többi pénznem átváltási aránya\n" "0-ra lesz állítva, így ne felejtse el frissíteni őket" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Pénznemek" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "Online frissítés" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "Beállítás alapként" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Fájlstatisztika" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "Tranzakció" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "Hozzárendelés" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "Frissítés" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "Alappénznem kijelölése" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "A HomeBank 5.1 verziójától kezdve több pénznem is kezelhető.\n" "Ha a pénznem nem helyes, alább módosítható:" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Exportálás QIF-be" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Importálás CSV-ből" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "HomeBank-fájl megnyitása" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "HomeBank biztonságimentés-fájl visszaállítása" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "HomeBank fájl mentése másként" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "HomeBank-fájlok" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "Biztonságimentés-fájl" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "Összes biztonsági mentés" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "Menti a fájl változásait bezárás előtt?" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Ha nem menti a változásokat, akkor azok véglegesen elvesznek.\n" "A változtatások száma: %d." #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "Bezárás _mentés nélkül" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "Exportálás PDF-be" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "Exportálás _PDF-be" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "Mappa:" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "Válasszon egy mappát" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "Fájlnév:" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Lehetséges tranzakciók kiválasztása…" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Művelet választása:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "új tranzakció létrehozása" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "létező tranzakció kiválasztása" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "A HomeBank néhány olyan tranzakciót talált, amely belső átvezetéshez " "kapcsolódó tranzakció lehet." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Beállítás:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Feljegyzés:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Megjegyzés:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "Kis- és _nagybetű" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Minden állapot" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "Elszámolt" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "Egyeztetett" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Bármely típus" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Átvezetés" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Feltétlenül:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "„Hozzáadva” megjelenítése" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "„Szerkesztve” megjelenítése" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "„Emlékeztető” megjelenítése" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "Dátumok" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "Kifizetések" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "Összegek" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "Szövegek" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "Kategóriák" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "Partnerek" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Időzített tranzakció" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "hozzáadás a hónap" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "napjáig (kizárva)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "hozzáadás" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "nap múlva a jelenlegi dátumhoz képest" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Gépjárműköltség" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "Használaton kívüli partner törlése" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Biztos, hogy véglegesen törli\n" "a használaton kívüli partnert?" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "Alapértelmezett" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "_Kifizetések:" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "A(z) „%s” partner átnevezése\n" "sikertelen, mert a(z) „%s”\n" "már létezik." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "„%s” partner összevonása" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Az ehhez a partnerhez tartozó tranzakciók\n" "az alább kijelölt partnerhez lesznek hozzárendelve." #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "„%s” partner _törlése" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "Ez a partner használatban van.\n" "Minden ezen partnert használó tranzakció (nincs partner)-re lesz állítva." #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Partnerek kezelése" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "új partner" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Felület" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "Területi beállítás" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Tranzakciók" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Importálás/exportálás" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Kimutatás" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "Biztonsági mentés" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "Mappák" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Visszaállítás" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Csak ikonok" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Csak szöveg" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Szöveg az ikonok alatt" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Szöveg az ikonok mellett" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "Vízszintesen" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "Függőlegesen" #: ../src/ui-pref.c:109 msgid "Both" msgstr "Mindkét irányban" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango halvány" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango közepes" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango sötét" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "h-n-é" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "n-h-é" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "é-h-n" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Mellőzés" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Hozzáfűzés a megjegyzéshez" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Hozzáfűzés a feljegyzéshez" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "Hozzáfűzés a partnerhez" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "Tabulátor" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "Vessző" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "pontosvessző" #: ../src/ui-pref.c:149 msgid "Space" msgstr "Szóköz" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Rendszer nyelve" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Válassza ki az alapértelmezett Home Bank fájlt" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Válassza ki az alapértelmezett importálási mappát" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Válassza ki az alapértelmezett exportálási mappát" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "OFX/QFX-beállítások" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "QIF-beállítások" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "CSV opciók" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "Csak import tranzakciók" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "Elválasztó:" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Kezdeti szűrő" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Diagrambeállítások" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "Színösszeállítás:" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Statisztikai beállítások" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Megjelenítés összeg szerint" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Mutassa az érték oszlopot" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "_Részletek megjelenítése" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Költségvetési lehetőségek" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Engedélyezés" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "Összeállítás" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "Felhasználói felület" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Nyelv:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "_Dátumformátum:" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "_Formátum:" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" "% a - a hét napjai rövidítve. \n" "% A - a hét napjai teljes hosszában. \n" "% b - a hónap neve rövidítve. \n" "% B - a hónap neve teljes hosszában. \n" "% c - a területi beállításnak megfelelő dátum- és időábrázolás. \n" "% C - az évszázad száma (az év osztva 100-zal, és egész számra csonkolva) " "decimális számmal [00-99]. \n" "% d - egy hónap napja decimális számmal [01,31]. \n" "% D - iazaz, menta egy% m /% d /% y-t. \n" "% e - a hónap napja decimális számmal, az a helyi értékű szám előtt szóköz " "van [1,31]. \n" "% j - az év konkrét napja decimális számmal [001,366]. \n" "% m - egy hónapos decimális számmal [01,12]. \n" "% p - a területi beállításnak megfelelő dátumábrázolás. \n" "% y - az év évszázad nélkül, decimális számmal [00,99].\n" "% Y - az év évszázaddal együtt, decimális számmal." #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Pénzügyi év" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "_Kezdete:" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Mértékegységek" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Mérföld használata" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "_Gallon használata az üzemanyaghoz" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Tranzakció ablak" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "_Jövő megjelenítése:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "nappal előre" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Többszörös hozzáadás" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Utolsó dátum megtartása" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "Automatikusan kiegészülő feljegyzések" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "Aktív" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "görgetett nap" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Eszköztár:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "Rácsvonalak" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Összeg színek" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Egyéni színek használata" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Kiadás:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Bevétel:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Figyelmeztetés:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "Automatikus _biztonsági mentések engedélyezése" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "Megőrzendő biztonsági mentések szá_ma:" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "Biztonsági mentés naponta egyszer" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "_Pénztárcák:" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "Cserefájlok" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Importálás:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Exportálás:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Programindítás" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Mutassa a nyitó képernyőt" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Az utoljára megnyitott fájl betöltése" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Várakozó ütemezett tranzakciók feladása" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "Pénznemek online frissítése" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Kimutatások a főablakban" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "Minden beállítás visszaállítása" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "Biztos benne, hogy minden beállítást alapértékre állít vissza?" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Beállítások" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "A nyelv megváltoztatáshoz újra kell indítania a programot." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "Tranzakciók megosztása" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "Alkalmaz" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "Mégse" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Tranzakció összege:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Hozzá nem rendelt:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Megosztások összege:" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "A címke nem nevezhető át,\n" "erről: „%s”, erre: „%s”,\n" "a név már létezik." #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "Címkék kezelése" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "új címke" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Biztos, hogy megszakítja a belső átvezetést?\n" "\n" "A folytatás törli a cél-tranzakciót." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "_Megszakítás" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "Ütemezés" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "Összes számla megjelenítése" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "_Hozzáadás" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "_Közzététel" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Tranzakció hozzáadása" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Tranzakció öröklése" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Dátum:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "_Feljegyzés:" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "Figyelem: az összeg és a kategóriajel nem egyezik" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "Tranzakciók tömeges szerkesztése" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "Sablon" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "ÁFA-val" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Kizáró feltétel" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(típus nélküli)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Készpénz" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Vagyon" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Hitelkártya" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Kötelezettség" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "Ebben a hónapban" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "Múlt hónapban" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "Ebben a negyedévben" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "Előző negyedévben" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "Ebben az évben" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "Tavaly" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Elmúlt 30 napban" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Elmúlt 60 napban" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Elmúlt 90 napban" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Elmúlt 12 hónapban" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Minden dátum" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Lehetséges" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Előtte" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "Utána" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "Nem elszámolt" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Rendezetlen" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Kategorizálatlan" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "január" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "február" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "március" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "április" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "június" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "július" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "augusztus" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "szeptember" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "október" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "november" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "december" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "szept." #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "Keresés…" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Csekk" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Betéti kártya" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Állandó megbízás" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Elektronikus fizetés" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Letét" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "Számlakezelési díj" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Direkt kifizetés" homebank-5.3.2/po/ChangeLog0000644000175000017500000000000011023413026012374 00000000000000homebank-5.3.2/po/sk.po0000644000175000017500000023065613620025323011631 00000000000000# Slovak translation for homebank # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2007. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2018-10-04 12:18+0000\n" "Last-Translator: Peter \n" "Language-Team: Slovak \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Osobné financie" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Nevybraná žiadna transakcia" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Chcete vytvoriť šablónu\n" "z každej z vybraných transakcií?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Chcete odstrániť\n" "každú z vybraných transakcií?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Exportovať QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Exportovať do CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Zatvoriť" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Upraviť" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "_Transakcia" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Pridať..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Zdediť..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Upraviť..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Vysporiadané" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Vytvoriť šablónu" #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "Nás_troje" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filtrovať..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Pridať novú transakciu" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Pridať" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Zdediť zo zvolenej transakcie" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Preberanie" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Upraviť aktívnu transkaciu" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Úprava" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Rozsah:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Typ:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Otvor zoznam filtrov" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Banka:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Dnes:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Budúcnosť:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Vitajve v HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Čo si želáte robiť:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Čítať _manuál k HomeBank" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Otvoriť _ukážkový súbor" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Chyba súboru" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Súbor" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Nový" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Otvoriť..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Uložiť" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Obnoviť" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Ukončiť" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Predvoľby..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Zobraziť" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Panel nástrojov" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_Naj výdavky" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Spravovať" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "Úč_ty..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Príjemci..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Kategórie..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Plánované/Šablóny..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Rozpočet..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Pridelenie..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Meny..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Transakcie" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Pridať..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Zobraziť..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Nastav plánovač..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Zostavy" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "Štatistiky..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Trend Času.." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "R_ozpočet..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "_Náklady na auto..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Ukázať uvítací dialóg" #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Utajiť..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Pomocník" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Obsah" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Nahlásiť Problém..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Preložiť túto aplikáciu..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_O aplikácii" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Vytvorí nový súbor" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Otvoriť­ súbor" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Otvoriť nedávno použitý súbor" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Ulož aktuálny súbor" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Konfigurovať účty" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Konfigurovať príjemcov" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Konfigurovť kategórie" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Nastaviť transakcie z plánované/šablón" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Konfigurovať rozpočet" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Nastaviť automatické pridelovanie" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Zobrazí translakcie na zvolenom účte" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Otvorte správu Štatistika" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Otvoriť správu Trendu Času" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Otvor správu vyrovnania" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Otvoriť rozpočtovú správu" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Otvor report nákladov na auto" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Budúci" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Dátum" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Informácie" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Príjemca platby" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Suma" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Zostatok" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Vypíše označenie verzie a skončí" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[SÚBOR]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Nemôžem zobraziť URL '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "HomeBank nastavenia" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Nie je možné otvoriť „%s“, súbor neexistuje.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Celkom" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Banka" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Dnes" #: ../src/list-operation.c:548 msgid "- split -" msgstr "" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Účet" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Výdavky" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Príjem" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Kategória" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Značky" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "" #: ../src/rep-balance.c:76 msgid "List" msgstr "Zoznam" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Ukáž výsledky ako zoznam" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Riadok" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Zobraz výsledky ako riadky" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Obnoviť" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Výsledky obnovy" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Podrobnosti" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Zobraziť/skryť podrobnosti" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d pod %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "Ú_čet" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Zväčšiť X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Od:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Do:" #: ../src/rep-budget.c:787 msgid " over" msgstr "" #: ../src/rep-budget.c:793 msgid " left" msgstr "" #: ../src/rep-budget.c:796 msgid " under" msgstr "" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Rozpočet" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Výsledok" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Správa rozpočtu" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Zobraziť podľa:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Rozpočet:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Minuté:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Utratené" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Podkategórie" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Tag" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Mesiac" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Rok" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Príjmy a výdaje" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "prepnúť vysvetlivku" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Prepínač sadzieb" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Štatistické údaje" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Podľa_množstva" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Zostatok" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Príjem" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Výdaje" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Deň" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Týždeň" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Kategória:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Príjemca" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Tag:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Kumulované" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Meter" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Palivo" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Cena" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Odoslať ako CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Meter:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Spotreba:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Cena benzínu:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Iná cena:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Celková cena:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(žiadne)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Viditeľný" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Zrušiť" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Chyba" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Nemôžem premenovať tento Účet,\n" "z '%s' na '%s',\n" "taký už existuje" #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Spravovať účty" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Všeobecné" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "Č_íslo" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Každ_ý:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Spravovať Pridelenia" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Plat_ba:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Nenájdené" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Vlastník:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "Mena:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Jazyky:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Prednastavený súbor:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Prednastavené kategórie" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Meno" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Počiatočný:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Prekročený v:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Vytvoriť účet" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF súbory" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX súbory" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV súbory" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Všetky súbory" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Všetko" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Žiadne" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Invertovať" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "dní" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Chyba formátu súboru" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Spravovať rozpočet" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Vynútiť sledovanie tejto kategórie" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Máj" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Jǔl" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Aug" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Oct" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Dec" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Príjem" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Nemôžem premenovať túto Kategóriu,\n" "od '%s' do '%s'," #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Spravovať Kategórie" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Základná mena" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Upraviť menu" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "Mena" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Vyber základnú menu" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Meny" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Odoslať ako QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Importovať z CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "HomeBank súbory" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Možnosť:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Informácia:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "Rozlišovať _veľkosť písmen" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Prevod" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Prinúť:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "zobraz 'Pridané'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "zobraz 'Upravené'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "Pl_atba:" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Nemôžem premenovať tohoto Príjemcu,\n" "od '%s' do '%s',\n" "pod týmto názvom už existuje." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Spravovať Príjemcov" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Rozhranie" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "" #: ../src/ui-pref.c:89 msgid "Report" msgstr "" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Predvolené v systéme" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Iba ikony" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Iba text" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Text pod ikonami" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Text vedľa ikon" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango svetlé" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango stredné" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango tmavé" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Ignorovať" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Zobraziť podľa sumy" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Zobraziť _podrobnosti" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Povoliť" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Prednastaviť:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Panel s nástrojmi:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Použiť vlastné farby" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Výdavok:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Príjem:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Varovanie:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Import:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Export:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Načítať naposledy otvorený súbor" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "Akutalizovať meny online" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Predvoľby" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Pridať transakciu" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Zdediť transakciu" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Dátum:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Zahrnúť" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Vypustiť" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Hotovosť" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Aktíva" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Kreditná karta" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Pasíva" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Posledných 30 dní" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Posledných 12 mesiacov" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Všetky dátumy" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Január" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Február" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Marec" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Apríl" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Jún" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Júl" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "August" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "September" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Október" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "November" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "December" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Skontrolovať" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Debetná karta" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Elektronická platba" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Vklad" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "" homebank-5.3.2/po/tr.po0000644000175000017500000026403513620025305011637 00000000000000# Turkish translation for homebank # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2007. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2019-11-30 18:06+0000\n" "Last-Translator: Huseyin Fahri Uzun \n" "Language-Team: Turkish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" "Language: tr\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Kişisel finans" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Herkes için ücretsiz kolay ve kişisel muhasebe" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "finans;muhasebe;bütçe;kişisel;para;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "HomeBank, kişisel muhasebenizi yönetmenize yardımcı olacak ücretsiz bir " "yazılımdır (\"ücretsiz konuşma\" ve \"ücretsiz bira\" gibi)" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "Güçlü filtreleme araçlarını ve güzel grafikleri kullanarak kişisel " "finansınızı kullanımı kolay ve ayrıntılı bir şekilde analiz edebilmek için " "tasarlanmıştır." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Kişisel muhasebenizi yönetmek için tamamen ücretsiz ve kolay bir yol " "arıyorsanız, HomeBank tercih ettiğiniz yazılım olmalıdır." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "Benzer hareketlerin%d grubu var" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "Benzer bir işlem bulunamadı!" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "İç transfer sonucunu kontrol et" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "Tutarsızlık bulunamadı !" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "Tutarsızlık bulundu: %d\n" "Gözden geçirip, düzenlemek ister misiniz?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Her işlem miktarı %.6f tarafından bölünecektir." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Bu hesabın ana parasını Euro'ya\n" "çevirmek istediğinize emin misiniz?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Dönüştür" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Değişen işlem yok" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "hareket değiştirildi: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "Otomatik atama sonuçları" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Seçilen her bir işlemle bir şablon\n" "oluşturmak istiyor musunuz?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "_Oluştur" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Seçilen her işlemi silmek\n" "istiyor musunuz ?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_Sil" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Durumu Hiçbiri olarak değiştirmek istediğinize emin misiniz?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "Seçiminizdeki bir işlem zaten Bağdaşık." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Değiştir" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Bağdaşık duruma geçiş yapmak istediğinize emin misiniz?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_Geçiş" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "%d işlem" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d hareketleri, %d seçili, ortalama: %s, toplam: %s (%s - %s)" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "H_esap" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Dışa Aktar QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Dışa Aktar CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "Dışa Aktar PDF..." #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Kapat" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Düzenle" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "Kopyala" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "Yapıştır" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "Yapıştır (bugün)" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "İşle_m" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Ekle..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Devral..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Düzenle..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Durum" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Hiçbiri" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "_Temizlendi" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Bağdaşık" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "_Çoklu değiştir..." #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Taslak oluştur..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Sil..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "_Bul" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Araçlar" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "Yineleneni işaretle..." #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "İç transferi kontrol et" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "Otomatik tahsis" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Süzgeç..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Euro'ya çevir..." #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Yeni bir işlem ekle" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Ekle" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Etkin işlemden devral" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Devral" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Etkin işlemleri düzenle" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Düzenle" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "Seçilen işlem(ler) için temizlenmiş olana geçiş yap" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "Seçilen işlem(ler) için bağdaşık olana geçiş yap" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Çoklu hareket düzenle" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Şablon oluştur" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Seçilen işlemleri sil" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "İşlemi yukarı taşı" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "İşlemi aşağıya taşı" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "(kapandı)" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "%s -HomeBank" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "Tüm işlemler" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "_Yenile" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Aralık:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "İleri tarihli işlemleri göster/gizle" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Tür:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Durum:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_Sıfırla" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Liste filtremeyi aç" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "Euro _kuru" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Banka:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Bugün:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Gelecek:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "'%s' dosyası için kaydedilmemiş değişiklikleri eski durumuna getir?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "-Dosyada yapılan değişiklikler kalıcı olarak kaybedilecek\n" "-Dosya son kayıttan yeniden yüklenecek (.xhb~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Eski Durumuna Getir" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Dosyayı anonimize etmek istediğinize emin misiniz?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Bu hareket herhangi bir metni anonimize edecektir, \n" "'hesap x', 'alacaklı y', 'not z', gibi..." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "Anonimize" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "HomeBank'a hoş geldiniz" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Ne yapmak istiyorsunuz:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "HomeBank _Kılavuzu Oku" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "Tercihleri düzenle" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Ye_ni bir dosya oluştur" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "Var_olan bir dosyayı aç" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Örnek _dosyayı aç" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" "Yedek dosyasını açmak üzeresiniz '%s'.\n" "Bunu yapmak istediğinden emin misin?" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "Yedekleme dosyasını aç?" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "Yedek Aç" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Bilinmeyen hata" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "'%s' dosyası için G/Ç hatası." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "'%s' dosyası HomeBank için uygun değil." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "Dosya '%s' HomeBank'in ileri versiyonu ile kaydedildi." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Dosya hatası" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "Dosya yüklendikten sonra değiştirilmiş." #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Eğer kaydederdeniz, tüm dış kaynaklı değişiklikler kaybolabilir. Kaydetmek " "istiyor musunuz?" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "Yine de Kaydet" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "Temizle" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Dosya" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Yeni" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Aç..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "Son _Kullanılanı Aç" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Kaydet" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "Farklı _Kaydet..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "İçeri Aktar..." #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "Dışa Aktar QIF..." #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Eskiye Dön" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "Yedeklemeyi Geri Yükle" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Özellikler..." #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Çık" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Tercihler..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Görüntüle" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Araç çubuğu" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "Üst harcama" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "_Alt Listeler" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro kuru" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Yönet" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "He_saplar..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Alacaklılar..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Kategoriler..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Zamanlanmış/taslak..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Bütçe..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "Bütçe (tablo görünümü)..." #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Tanımlamalar..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Dövizler..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "Etiketler..." #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_İşlemler" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Ekle ..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Göster..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "Hepsini görüntüle..." #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Zamanlayıcıyı ayarla..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Zamanlanmış işlemler" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Raporlar" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "İs_tatistikler..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Eğilim zamanı..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "_Bütçe..." #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "B_ütçe..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "_Araç maliyeti..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Hoşgeldin penceresini göster..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Dosya istatistikleri..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Anonimleştir..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Yardım" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "İçinde_kiler" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "Çevrimiçi Yardım Alın..." #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "Güncellemeleri denetle..." #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "Sürüm notları" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Bir sorun bildir..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Uygulamayı tercüme et..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_Hakkında" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Yeni bir dosya oluştur" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Aç" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Bir dosya aç" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Yakın geçmişteki bir dosyayı aç" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Mevcut dosyayı kaydet" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Hesapları yapılandır" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Alacaklıları yapılandır" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Kategorileri yapılandır" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Zamanlanmış ve taslak işlemlerini yapılandır" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Bütçeyi yapılandır" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Otomatik tanımlamaları düzenle" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Seçili hesap işlemlerini gösterir" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "İşlemleri ekle" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "İstatistik raporlarını aç" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Eğilim zamanı raporlarını aç" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Denge raporunu aç" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Bütçe raporunu aç" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Araç maliyeti raporunu aç" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "HomeBank projesine bağışta bulunun" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "Zamanlanmış" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Gelecek" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "Hatırlat" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(kategorisiz)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "geçersiz CSV uzantısı" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Tarih" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Bilgi" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Alacaklı" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Not" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Miktar" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Bakiye" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Bilinmeyen" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "% .2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "km/litre" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "mil/litre" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(alacaklı yok)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "%d-h%d" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "%d-ç%d" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Sürüm bilgilerini yaz ve çık" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[DOSYA]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Gezinme hatası." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "URL '%s' gösterilemedi" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "HomeBank seçenekleri" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "'%s' dosyası açılamadı, dosya yok\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(Kurum belirtilmemiş)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "(grup yok)" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Hesaplarınız" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Tümünü genişlet" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Tümünü daralt" #: ../src/hub-account.c:547 msgid "Show all" msgstr "Tümünü göster" #: ../src/hub-account.c:552 msgid "By type" msgstr "Tipe göre" #: ../src/hub-account.c:553 msgid "By group" msgstr "Gruba göre" #: ../src/hub-account.c:554 msgid "By institution" msgstr "Kurum tarafından" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Ekleyecek işlem yok" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "%d işlem eklendi" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Planlanan işlemler sonucu kontrol et" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Toplam" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Planlanan işlemler" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Atla" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Düzenle & Gönder" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Gönder" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "yaklaşan gönderim tarihi" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Çok harcananlar" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "Ençok %d harcama" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Diğer" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Paranız nereye gidiyor" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "içe aktarılmış hesap" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Genel Toplam" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Hesaplar" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Banka" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Bugün" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- böl -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "-kategori gerekiyor-" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Hesap" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Durum" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Gider" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Gelir" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Kategori" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Etiketler" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Geciken" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "Devamlı" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "İleri tarih" #: ../src/rep-balance.c:76 msgid "List" msgstr "Liste" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Sonuçları liste şeklinde görüntüle" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Çizgi" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Sonuçları çizgiler şeklinde göster" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Yenile" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Sonuçları yenile" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Detay" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Detaya geç" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d altında %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Bakiye raporu" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Görüntüle" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "H_esap:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "_Tümünü seç" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Tüm _günler" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Yakınlaştır X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Tarih filtresi" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Kaynak:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Hedef:" #: ../src/rep-budget.c:787 msgid " over" msgstr " üstünde" #: ../src/rep-budget.c:793 msgid " left" msgstr " sol" #: ../src/rep-budget.c:796 msgid " under" msgstr " altında" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "%s için bütçe" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Bütçe" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Sonuç" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "Sonuçları yığın barı olarak göster" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "Sonucu panoya kopyala" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "Sonucu CSV olarak kaydet" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "Detayları panoya kopyala" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "Detayları CSV olarak kaydet" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Bütçe raporu" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Göster:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "Sadece bütçe dışı" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Sonuç:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Bütçe:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Harcama:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Hiçbir hesap bütçenin parçası olarak tanımlanmamıştır." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "Hesap penceresinden bazı hesapları dahil etmelisiniz." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Harcama" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Alt kategori" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Etiket" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Ay" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Yıl" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Gid. & Gel." #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s seçimi %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "Gösterebilmek için çok fazla sutün var" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "Lütfen daha geniş aralık ve/veya daha dar tarih aralığı seçin" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "Sonuçları kolon olarak görüntüle" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "Sonuçları donut olarak görüntüle" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Göstergeye geçiş yap" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Orana geçiş yap" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "Filtreyi düzenle" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "İstatistik Raporu" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "Mod:" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "_Miktara göre" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "Aralık:" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Bakiye:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Gelir:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Gider:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "Ortalama" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Gün" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Hafta" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "3 aylık" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "Yarım Yıl" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s Zaman Aşımı" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "Ortalama: %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Eğilim Zaman Raporu" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Kategori:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Alacaklı:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Etiket:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Toplama" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "Boş satırı göster" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Zaman dilimi" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Sayaç" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Yakıt" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Fiyat" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Uzaklık." #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "CSV Olarak Dışa Aktar" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Araç maliyet raporu" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "_Araç:" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Sayaç:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Tüketim:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Yakıt gideri:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Diğer giderler:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Toplam giderler:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(hiçbiri)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Görünür" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_İptal" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_Tamam" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Hesap adı" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Hata" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "'%s' e bir hesap eklenemez,\n" "bu isim zaten mevcut." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "'%s' hesabı silemezsiniz" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "Bu hesap işlemleri ve/veya iç transferlerin parçalarını içeriyor." #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "'%s' ı kalıcı olarak silmek istediğinize emin misiniz?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "Eğer bir hesabı silerseniz, o kalıcı olarak yok olacaktır." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Hesap adı %s adından %s adına yeniden adlandırılamadı, çünkü bu ada sahip " "hesap zaten mevcut." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Hesapları Yönet" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "Yeniden adlandır" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "Sil" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Sürükle & bırakla sırayı değiştirin\n" "Çift tıklayarak yeniden adlandırın" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Genel" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "_Group:" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "_Kurum:" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "R_akam:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Başlangıç _bakiyesi:" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "_Döviz:" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "bu hesap kapanmıştır" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "Notlar:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "Davranış" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "Otomasyon" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "Öntanımlı _şablon:" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Rapor aktarma" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "hesap özetini çıkar" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "bütçe özetini çıkar" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "her hangi bir tür rapor çıkar" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "Dğr." #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Şuanki kontrol numarası" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Çek defteri_1:" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Çek defteri_2:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "Bakiye limitleri" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "_Limit aşma yeri:" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" "Eğer bir planlamayı/şablonu silerseniz, o kalıcı olarak yok olacaktır." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "İleri _tarih:" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "_Her:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "Daha fazla seçenek" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Hafta sonu:" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_Sonra dur:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "gönderiler" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Zamanlanmış/Taslak işlemleri yönet" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "_Zamanla" #: ../src/ui-assign.c:303 msgid "Search" msgstr "Ara" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "Notlar" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "(kural %d)" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "Eğer bir atamayı silerseniz, o kalıcı olarak yok olacaktır." #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "Bu arama metni zaten var" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "Pasif" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "Eğer boşsa" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "Üzerine yaz" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Tanımlama Yönet" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "Sıralamayı değiştirmek için sürükle ve bırakın" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Kondisyon" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "_Ara:" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "Büyük/Küçük harf duyarlı" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "Regular expression" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "_İçinde:" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "Atamalar" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Öde_me:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Yeni HomeBank dosyası (%d / %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Bulunamadı" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Sahibi:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "Para Birimi:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Dosya özellikleri" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "Sistem algılama" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Diller:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Şimdiki dosya:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Kategorilerimi bu dosya ıle bul" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Şimdiki kategoriler" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "Açıklama" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_İsim:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Bakiyeler" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Başlangıç:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_den fazla çekilmiş:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Hesap oluştur" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Bu bir onaylama sayfası, değişiklikleri uygulamak için 'Uygula' ya basınız" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Onay" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "Geçerli" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "İsim" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Bilinen dosya" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF dosyaları" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX dosyaları" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV dosyaları" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Tüm dosyalar" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "yeni global hesap" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "yeni hesap" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "atlandı" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr ",%d %d hareketlerin" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" "Bazı tarihler dönüştürülemez. Devam etmek için tarih sırasını değiştirmeyi " "deneyin." #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "İçe aktarma %s içine:" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "bu dosya" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "bu hesap" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" "İsim: %s\n" "Numara: %s\n" "Dosya: %s\n" "Kodlama: %s" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "%d işlem, %d benzer, %d varolan, %d seçilen" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d işlem, %d seçilen" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "İşlemleri banka veya kredi kartından içe aktarma" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" "Bu asistanla, bankanızdan veya kredi kartınızdan indirilen bir veya birden " "fazla ifadeyi\n" "aşağıdaki formatlarda içe aktarma işlemi boyunca yönlendirileceksiniz:" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" "Önerilen: .OFX yada .QFX\n" "(Bazen Money ™ veya Quicken ™ olarak adlandırılır)\n" "Desteklenen: .QIF\n" "(Yaygın Quicken™ dosyası)\n" "İleri düzey kullanıcılar: .CSV\n" "(biçimi HomeBank 'a özeldir, belgelere bakın)" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" "Bu asistanın sonunda \"Uygula\" yı tıklayana kadar hiçbir değişiklik " "yapılmayacak." #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "Bu mesajı tekrar gösterme" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" "Bir veya daha fazla dosyayı Sürükle&Bırak ile içe aktar\n" "Aynı zamanda listenin ekle/sil tuşlarını da kullanabilirsiniz." #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" "Seçtiğiniz dosyalarda çok fazla hesap var,\n" "daha az dosya seçmek için lütfen geri düğmesini kullanın." #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "İsme veya numaraya göre hedef hesap tanımlaması başarısız oldu." #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Tarih sırası:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "_Notları içe aktar" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "Notları alacaklılarla _değiştirme" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "OFX _Adı:" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "OFX _Notlar:" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "Seç:" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Tümü" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Hiçbiri" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Tersine çevir" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "Cümle olay not/alacaklı" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "Hedef hesapta benzer işlem (olası yinelenen)" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "Tarih _boşluğu:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "günler" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Eşleşme bu sıralamayla yapıldı: Hesap, miktar ve tarih.\n" "0 günlük yakınlık kesin sonucu gösterir" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "Otomasyonu çalıştır" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "1) _alacaklı varsayılanı ile zenginleştir" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "2) Otomatik _atama kurallarını çalıştır" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "\"Uygula\" tuşu ile hesaplarınızı güncelleyin." #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "Hoşgeldiniz" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "Dosya(ları) seç" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "İçe aktar" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Dosya biçimi hatası" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" "CSV dosyaları noktalı virgülle ayrılmış sütunların tam sayısını " "içermelidir.\n" "Lütfen daha fazla ayrıntı için yardımı görün." #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "Girişi temizlemek istediğinize emin misiniz?" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "Devam ederseniz her miktar 0'a ayarlanır." #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "_Temizle" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Bütçeyi Yönet" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "_İçe CSV aktar" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "Dışa CSV aktar" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "her ay için aynı" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "Girişi _Temizle" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "her ay için farklı" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Seçenekler" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "Bu kategoriyi göstermeye _zorla" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Ocak" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Şubat" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mart" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Nisan" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Mayıs" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Haziran" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Temmuz" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Ağustos" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "Eylül" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Ekim" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Kasım" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Aralık" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "Özet" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "Toplamlar" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "Yıllık Toplam" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "Aylık Ortalama" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "Aylık" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "Kategori ekleyin" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "_Uygula" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "Üst kategori" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "Kategori ismi" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Bu kategori kullanılmış.\n" "Bu kategoriye atanan her hareket (Kategori yok)'a atanacak." #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "Kategorileri birleştir" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" "'%s' kategorisine atanan işlemler, aşağıda seçilen kategoriye taşınacak." #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "Hedef kategori" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "Kategori '%s' i _Sil" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "'%s' için tüm girişleri temizlemek istediğinize emin misiniz?" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "Bütçe (tablo görünümü)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "Kategori ekle" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "Kategori sil" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "Birleştir" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "Girişi temizle" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "Kullanılmayan kategorileri sil" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Kullanılmayan kategorileri kalıcı\n" "olarak silmek ister misiniz?" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "Düzenle..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Gelir" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "_alt için tip değiştir" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Bu isimde bir Kategori adı\n" "mevcut '%s'\n" "'%s' yeniden adlandırılamaz." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "Kategori '%s' i birleştir" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "Bu kategoriye atanan haraketler aşağıda\n" "seçilen kategoriye aktarılacak." #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Kategorileri Düzenle" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "_Kullanılmayanları sil" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "Taşı/Birleştir" #: ../src/ui-category.c:2349 msgid "new category" msgstr "yeni kategori" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "yeni alt kategori" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Temel para birimi" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Sembol" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "Döviz kuru" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "Son değişiklik" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Para birimini düzenle" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "Para Birimi" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "Biçim" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "_Düzenle" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "_Sembol:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "_Önek" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "_Ondalık basamağı:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "Kesi_r haneleri:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "_Toplama basamağı:" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Temel para birimini seçin" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Para birimini seçin" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "ISO Kodu" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "Özel _para birimi ekle" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "_ISO:" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "Çevrimiçi hatayı güncelle" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "Bir para birimini silerseniz, kalıcı olarak kaybolacak." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Temel para birimini değiştirin" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" "Eğer devam ederseniz, diğer para birimlerinin\n" "kurları 0'a ayarlanacak. Onları güncellemeyi unutmayın" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Para Birimleri" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "Çevrimiçi güncelleyin" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "Temel olarak ayarla" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Dosya istatistikleri" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "İşlem" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "Atama" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "Yükselt" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "Bir temel para birimi seçin" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "Sürüm v5.1 başlarken, HomeBank çeşitli para birimlerini yönetebilir.\n" "Aşağıdaki para birimi doğru değilse, lütfen değiştirin:" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "QIF Olarak Dışa Aktar" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "CSV'den içe aktar" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "HomeBank dosyası aç" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "HomeBank yedek dosyasını aç" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "HomeBank dosyasını farklı kaydet" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "HomeBank dosyaları" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "Dosya yedeği" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "Tüm yedekler" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "Kapatmadan önce dosyaya değişiklikler kaydedilsin mi?" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Eğer kaydetmezseniz, değişiklikler kalıcı olarak kaybolacak.\n" "Değişikliklerin sayısı: %d." #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "_Kaydetmeden kapat" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "Dışarı Aktar PDF" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "Dışarı Aktar _PDF" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "Klasör:" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "Bir klasör seçin" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "Dosya adı:" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Olası işlemler arasından seç..." #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Bir eylem seçin:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "yeni bir işlem oluştur" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "mevcut bir işlem seçin" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "HomeBank hesaplar arası aktarım işlemleriyle bağlantılı olabilecek bazı " "işlemler buldu." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Seçenek:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Not:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Bilgi:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "Küçük/Büyük _harfe duyarlı" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Herhangi bir durum" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "Temizlendi" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "Bağdaşık" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Herhangibir Tip" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Transfer" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Zorla:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "'Eklendi'yi Göster" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "'Düzeltildi'yi Göster" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "'Hatırlatmayı' göster" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "Tarihliler" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "Ödemeler" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "Miktarlar" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "Metinler" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "Kategoriler" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "Alacaklılar" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Planlanan işlemler" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "kadar ekle" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "her ayın" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "ekle" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "geçmiş gün" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Araç maliyeti" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "Öde." #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "Kullanılmayan alacaklıları sil" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Kullanılmayan alacaklıları kalıcı olarak\n" "silmek istediğinizden emin misiniz?" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "Varsayılan" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "Ödeme:" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Bu isimde bir Ödeme adı\n" "mevcut '%s' \n" "'%s' yeniden adlandırılamaz." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "Alacaklı '%s' i birleştir" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Bu alacaklıyla ilgil işlemler aşağıda\n" "seçili alacaklıya aktarılacak." #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "Alacaklı '%s' i _Sil" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "Bu alacaklı kullanılmış.\n" "Bu alacaklıyı kullanan tüm işlemler (no payee) olarak ayarlanacak." #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Alacaklıları Düzenle" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "yeni alacaklı" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Arayüz" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "Yerelleştir" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "İşlemler" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "İçe Aktar/Dışa Aktar" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Rapor" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "Yedekleme" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "Klasörler" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Sistem varsayılanı" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Sadece simgeler" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Sadece metin" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Metin simgenin altında" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Metin simgelerin yanında" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "Yatay" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "Dikey" #: ../src/ui-pref.c:109 msgid "Both" msgstr "Her ikisi" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango aydınlık" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango orta" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango karanlık" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "a-g-y" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "g-a-y" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "y-a-g" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Yoksay" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Bilgiye ekle" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Nota ekle" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "Alacaklıya ekle" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "Tab" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "Virgül" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "Noktalı verigül" #: ../src/ui-pref.c:149 msgid "Space" msgstr "Boşluk" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Sistem Dili" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Bir varsayılan HomeBank dosya klasörü seçin" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "Varsayılan HomeBank yedekleme dosyası klasörünü seçin" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Bir varsayılan alma klasörü seçin" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Bir varsayılan verme klasörü seçin" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "Genel seçenekler" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "OFX/QFX seçenekleri" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "QIF seçenekleri" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "CSV seçenekleri" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "(sadece işlem aktarımı)" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "Ayraç:" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Başlangıç süzgeci" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Grafik seçenekleri" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "Renk şeması:" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "İstatistik seçenekleri" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "_Tutar olarak göster" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "_Oran sütununu göster" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "_Detayları göster" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Bütçe seçenekleri" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Etkinleştir" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Ön ayar:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "Kullanıcı arabirimi" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Dil:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "_Tarih görüntüle:" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "_Biçim:" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" "%a bir yerel ayarın kısaltılmış hafta içi adı.\n" "%A yerel haftanın tam adı. \n" "%b yerel ayarının kısaltılmış ay adı. \n" "%B yerel ayarının tam ay adı. \n" "%c yerel ayarının uygun tarih ve saat gösterimi. \n" "%C yüzyıl numarası (yıl 100'e bölünür ve bir tam sayıya kesilir) ondalık " "sayı olarak [00-99]. \n" "%d ondalık sayı olarak ayın günü [01,31]. \n" "%D %m/%d/%y ile aynı. \n" "%e bir ondalık sayı olarak Ayın günü [1,31]; tek bir rakam bir boşluk önce " "gelir. \n" "%j ondalık sayı olarak yılın günü[001,366]. \n" "%m ondalık sayı olarak ay [01,12]. \n" "%p yerel ayarın uygun tarih gösterimi. \n" "%y ondalık sayı olarak yüzyıl olmadan yıl [00,99]. \n" "%Y bir ondalık sayı olarak yüzyıl ile yıl." #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Mali yıl" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "Bu _zamanda başlat:" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Ölçü birimleri" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Metre için mil kullan" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "Yakıt için galon kullan" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "İşlem penceresi" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "_Gelecek işlemler:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "gün önce" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "Mutabakatları sakla" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "Her zaman hatırlatıyıcı göster" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "Bilançoya hatırlatıcıyı dahil et" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "Doğrulama metnini göster" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Birden çok ekle" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Son tarihi koru" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "Notları otomatik ekle" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "Etkin" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "ortalama gün" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Araç çubuğu:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "_Klavuz çizgisi:" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Miktar renkleri" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Özel renkler kullan" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Gider:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Gelir:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Uyarı:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "Otomatik yedeklemeyi _etkinleştir" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "_Saklanacak yedek sayısı:" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "Yedekleme aralığı günde bir kez" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "_Cüzdanlar:" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "_Yedeklemeler:" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "Exchange dosyaları" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_İçe Aktar:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Dışa Aktar:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Program başlangıcı" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Karşılama ekranını göster" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Son açılan dosyayı yükle" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Bekleyen zamanlanmış işlemleri yayınla" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "Kurları çevrimiçi güncelle" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Ana pencere raporları" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "Tüm Tercihleri Sıfırla" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" "Tüm tercihleriniz sıfırlanacak\n" "Sıfırlamak istiyor musunuz?" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Tercihler" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "Dil değişikliğinin etkin olması için HomeBank\n" "yeniden başlatılması gereklidir." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" "Yedekleme klasörü değişti,\n" "'.bak' dosyanızı bu yeni dosya yoluna kopyalamanız gerekebilir." #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "İşlem bölünmeleri" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "Hepsini sil" #: ../src/ui-split.c:851 msgid "Apply" msgstr "Uygula" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "İptal" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "İşlem miktarı:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Atanmamış:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Bölünme toplamı:" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Bu Etiketi yeniden adlandıramıyor,\n" "%s' den '%s' e,\n" "Bu isim zaten mevcut." #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "Etiketleri Yönet" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "yeni etiket" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "%s işlemi oluşturuldu." #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "İç transferini bozmak ister misin?\n" "\n" "Bu hareket hedef işlemi silecektir." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "_Ara" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "Zamanlananları göster" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "_Tüm hesapları göster" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "Taslak kullan" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "Ekle & _Sakla" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "_Ekle" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "_Gönder" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "İşlem ekle" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "Taslak ekle" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "İşlem devret" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "Taslak devret" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "İşlemi düzenle" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "Taslağı düzenle" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Tarih:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" "- tuşla: d, d/m, m/d tam tarih\n" "- yön tuşarı + ctrl veya shift\n" "- bugün için boş" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "Miktar:" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "Kime:" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "Kitap_2" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" "- otomatik tamamlama için bir kaç harf girin\n" "- giriş oluşturmak için yeni metin girin" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "Kategori:" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "Not:" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "_Etiketler:" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "Uyarı: Tutar ve kategori işareti uyuşmuyor" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "Hareketleri toplu düzenle" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" "Transfer\n" "tipinde" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "Şablon" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "Zaman" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "Eğilim" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "Kapalı" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Dahil et" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Hariç tut" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(belirsiz tip)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Nakit" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Varlık" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Kredi kartı" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Borçlar" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "Bu ay" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "Geçen ay" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "Bu çeyrek" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "Son çeyrek" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "Bu yıl" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "Geçen yıl" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Son 30 gün" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Son 60 gün" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Son 90 gün" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Son 12 ay" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "özel" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Tüm zamanlar" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "Geçersiz" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Mümkün" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Önce" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "Sonra" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "Temizlenmemiş" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Sonuçlanmamış" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Kategorilenmemiş" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "Pzt" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "Salı" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "Çrş" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "Per" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "Cum" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "Cts" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "Paz" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Ocak" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Şubat" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Mart" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Nisan" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Haziran" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Temmuz" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Ağustos" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Eylül" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Ekim" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Kasım" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Aralık" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Eylül" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "Arama..." #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Denetle" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "Banka Transferi" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Banka kartı" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Bekleyen emir" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Elektronik ödeme" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Yatan" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "Finans ücreti" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Otomatik ödeme" homebank-5.3.2/po/cy.po0000644000175000017500000025636213620025354011635 00000000000000# Welsh translation for homebank # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2019-03-10 11:32+0000\n" "Last-Translator: Rhoslyn Prys \n" "Language-Team: Welsh \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:53+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" "Language: cy\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Arian personol" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Cyfrifo personol hawdd i bawb - yn rhydd a rhad" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "cyllid;cyfrifo;cyllidebu;persopol;arian;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "Mae HomeBank yn feddalwedd rhydd (fel mewn \"siarad yn rhydd\" yn ogystal â " "\"cwrw am ddim\" fydd yn eich cynorthwyo i reoli eich arian personol." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "Mae wedi ei gynllunio i fod yn hawdd i'w defnyddio ac i allu dadansoddi eich " "gwario personol yn fanwl gan ddefnyddio offer hidlo pwerus a graffiau hardd." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Os ydych y chwilio am ffordd hawdd a rhad/rhydd o reoli eich cyfrifon " "personol yna HomeBank ddylai fod eich rhaglen ddewis." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "Mae %d grŵp o drafodion tebyg" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "Heb ganfod trafodyn tebyg !" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "Heb ganfod anghysonderau!" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "Wedi canfod anghysonderau: %d\n" "hoffech chi gael golwg ar yr ateb?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Bydd pob swm trafodyn yn cael ei rannu gyda %.6f." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Ydych chi'n siŵr eich bod eisiau trosi'r cyfrif i\n" "Euro fel y prif arian?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Trosi" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Dim trafodyn wedi newid" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "trafodyn wedi newid: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "Canlyniad aseiniad awtomatig" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Hoffech chi greu templed gyda phob\n" "trafodyn dan sylw?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "Creu" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Ydych chi am ddileu\n" " pob trafodyn dan sylw?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_Dileu" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Ydych chi'n siŵr eich bod am newid y statws i Ddim?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "Eisoes mae rhai trafodion yn eich dewis wedi eu cysoni." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Newid" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Ydych chi'n siŵr eich bod eisiau toglo'r statws Cysoni?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_Toglo" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "% d trafodyn" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d trafodion, %d dewiswyd, avg: %s, swm: %s (%s -%s)" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "C_yfrif" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Allforio QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Allforio CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "Allforio fel PDF..." #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Cau" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "Golygu" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Trafodion" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "Ychwanegu..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Etifeddu..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "Golygu..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Statws" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Dim" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "Cliriwyd" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Cysonwyd" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "Golygu Lluosog..." #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Creu templed..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Dileu..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "Offer" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "Marcio dyblyg..." #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "Aseiniadau awtomatig" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Hidlo..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Trosi i Euros..." #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Ychwanegu trafodion newydd" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Ychwanegu" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Etifeddu o'r trafodion cyfredol" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Etifeddu" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Golygu'r trafodion cyfredol" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Golygu" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "Toglo'r clirio ar gyfer y trafodion o dan sylw" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "Toglo cysoni ar gyfer y trafodion o dan sylw" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Golygu trafodion lluosog" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Creu templed" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Dileu'r trafodion hyn" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "(wedi cau)" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "Pob trafodyn" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "_Adnewyddu" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "Cyfnod:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "Toglo dangos trafodion y dyfodol" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "Math:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Statws:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_Ailosod" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Agor y rhestr hidlo" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "Ewro _lleiaf" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Banc:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Heddiw:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Y dyfodol:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Dychwelyd newidiadau heb eu cadw i ffeil '%s'?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "- Bydd newidiadau sy'n cael eu gwneud i'r ffeil yn cael eu colli am byth\n" "- Bydd y ffeil yn cael ei llwytho eto o'r cadw diwethaf (.xhb ~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Dychwelyd" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Ydych chi'n siŵr eich bod am wneud y ffeil yn anhysbys?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Bydd parhau yn gwneud unrhyw\n" "destun yn anhysbys, fel 'cyfrif x, 'talai y', 'memo z' ..." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "Gwneud yn anhysbys" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Croeso i HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Beth ydych chi eisiau gwneud:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Darllen _ Llawlyfr HomeBank" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "Ffurfweddu'r _dewisiadau" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Creu ffeil _newydd" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Agor ffeil gyfredol" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Agor y ffeil _enghreifftiol" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" "Rydych ar fin agor y ffeil wrth gefn '%s'.\n" "\n" "Ydych chi'n siŵr eich bod am wneud hyn?" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "Agor ffeil wrth gefn ?" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "_Agor y copi wrth gefn" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Gwall anhysbys" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "Gwall I/O ffeil '%s'." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Nid yw ffeil %s yn ffeil HomeBank ddilys." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "Cafodd y ffeil '%s' ei chadw gan fersiwn uwch o HomeBank\n" "ac nid oes modd ei llwytho gan y fersiwn cyfredol." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Gwall ffeil" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "Cafodd y ffeil %s ei newid ers ei darllen." #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Os wnewch chi ei chadw, mae'n bosib y bydd yr holl newidiadau allanol yn " "cael eu colli. Ydych chi am ei chadw beth bynnag?" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "C_adw Beth Bynnag" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Ffeil" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Newydd" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "Agor..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "Agor _Diweddar" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Cadw" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "Cadw _fel..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "Mewnforio..." #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "Allforio fel QIF..." #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Dychwelyd" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "Adfer y copi wrth gefn" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Priodweddau..." #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "Gadael" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Dewisiadau..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Gweld" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "Bar Offer" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_Prif wario" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Ewro lleiaf" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Rheoli" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "_Cyfrifon..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "Taleion..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Categorïau..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Trefnu/Templed..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Cyllideb..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Aseiniadau..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Arian..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "Tagiau..." #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Trafodion" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Ychwanegu..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Dangos..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "Dangos y cyfan..." #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Gosod trefniadau..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Cofnod wedi ei drefnu" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "Adroddiadau" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "Y_stadegau..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "Tuedd Cyfnod..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "C_yllideb..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "C_ost cerbyd." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Dangos y sgrin groeso..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Ystadegau ffeil..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Gwneud yn anhysbys..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Cymorth" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Cynnwys" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "Gwirio am ddiweddariadau..." #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "Nodiadau Ryddhau" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Adrodd am Broblem..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Cyfieithwch y Rhaglen hon..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_Ynghylch" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Creu ffeil newydd" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Agor" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Agor ffeil" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Agor ffeil a ddefnyddiwyd yn ddiweddar" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Cadw'r ffeil gyfredol" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Ffurfweddu'r cyfrifon" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Ffurfweddu'r taledigion" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Ffurfweddu'r categorïau" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Ffurfweddu trafodion trefnwyd/templed" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Ffurfweddu'r gyllideb" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Ffurfweddu'r aseiniadau awtomatig" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Yn dangos trafodion cyfrif dethol" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Ychwanegu trafodion" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Agor yr adroddiad Ystadegau" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Agor yr adroddiad Tuedd Cyfnod" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Agor yr adroddiad mantolen" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Agor yr adroddiad Cyllideb" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Agor adroddiad cost cerbyd" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "Trefnu" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Y dyfodol" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "Atgoffa" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(dim categori)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "fformat CSV annilys" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Dyddiad" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Manylion" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Talai" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Memo" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Swm" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Gweddill" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Anhysbys" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "mi./l" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(dim talai)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "%d-w%d" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "%d-q%d" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Allbynnu gwybodaeth y fersiwn a chau" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[FFEIL]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Gwall porwr." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Nid oedd modd dangos yr URL '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Dewisiadau HomeBank" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Methu agor '%s', nid yw'r ffeil yn bodoli.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(dim sefydliad)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Eich cyfrifon" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Ehangu popeth" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Cau popeth" #: ../src/hub-account.c:547 msgid "Show all" msgstr "Dangos y cyfan" #: ../src/hub-account.c:552 msgid "By type" msgstr "Yn ôl math" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "Yn ôl sefydliad" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Dim trafodion i'w hychwanegu" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "ychwanegwyd y trafodion ]: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Gwirio canlyniad trafodion rheolaidd wedi eu trefnu" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Cyfanswm" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Trafodion wedi eu trefnu" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Hepgor" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Golygu a Chofnodi" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Cofnod" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "dyddiad y cofnod mwyaf" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Prif wariant" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "Y %d Prif Wariant" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Arall" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Lle'r aeth yr arian" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "cyfrif wedi ei mewnforio" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Prif Gyfanswm" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Cyfrifon" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Banc" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Heddiw" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- hollti -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Cyfrif" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Statws" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Gwario" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Incwm" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Categori" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Tagiau" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Hwyr" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "Sefydlog" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Dyddiad nesaf" #: ../src/rep-balance.c:76 msgid "List" msgstr "Rhestr" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Gweld canlyniadau fel rhestr" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Llinell" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Gweld canlyniadau fel llinellau" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Adnewyddu" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Adnewyddu'r canlyniadau" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Manylyn" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Togl manylyn" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d o dan %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Adroddiad mantolen" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Dangos" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "C_yfrif:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Dewis y cyfan" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Pob _dydd" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "Chwyddo X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Hidlo dyddiad" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_O:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "I:" #: ../src/rep-budget.c:787 msgid " over" msgstr " drosodd" #: ../src/rep-budget.c:793 msgid " left" msgstr " chwith" #: ../src/rep-budget.c:796 msgid " under" msgstr " o dan" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "Cyllideb ar gyfer %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Cyllideb" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Canlyniad" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "Gweld y canlyniadau fel bariau stac" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "_Canlyniad i'r clipfwrdd" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "_Canlyniad i CSV" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "_Manylyn i'r clipfwrdd" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "_Manylyn i CSV" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Adroddiad cyllideb" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "­_Golwg yn ôl:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "Dim ond allan o'r gyllideb" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Canlyniad:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Cyllideb:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Gwariwyd:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Nid oes cyfrif wedi ei ddiffinio i fod yn rhan o'r gyllideb." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "Rhaid cynnwys rhai cyfrifon o'r ddeialog cyfrifon." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Wedi ei wario" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Is gategori" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Tag" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Mis" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Blwyddyn" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Costau a Chynwysedig." #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s yn ôl %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "Gweld canlyniadau fel colofn" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "Gweld canlyniadau fel toesen" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Togl chwedl" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Toglo'r gyfradd" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "Golygu'r hidl" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Adroddiad Ystadegau" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Yn ôl _swm" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "c_yfnod:" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Gweddill:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Incwm:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Gwario:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Dydd" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Wythnos" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Chwarter" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "Hanner Blwyddyn" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s yn Hwyr" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "Cyfartalog: %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Adroddiad Tuedd Cyfnod" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Categori:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "Talai:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Tag:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Crynhoi" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "Dangos llinell wag" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Darn amser" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Metr" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Tanwydd" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Pris" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Pellter." #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Alforio fel CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Adroddiad cost cerbyd" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "Cerbyd:" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Metr:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Gwariant:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Cost y tanwydd:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Costau eraill:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Cyfanswm:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(dim)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Gweladwy" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Diddymu" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_Iawn" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Enw'r cyfrif" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Gwall" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Methu ychwanegu cyfrif '%s',\n" "mae'r enw hwn eisoes yn bodoli." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "Methu dileu cyfrif '%s'" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" "Mae'r cyfrif hwn yn cynnwys trafodion a/neu mae'n rhan o drosglwyddiadau " "mewnol." #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Ydych chi'n siŵr eich bod am ddileu \"%s\" yn barhaol?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "Os fyddwch yn dileu cyfrif, bydd yn cael ei golli am byth." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Methu ail-enwi'r Cyfrif hwn,\n" "o '%s' i '%s',\n" "mae'r enw hwn eisoes yn bodoli." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Rheoli Cyfrifon" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Llusgo a gollwng i newid y drefn\n" "Clic dwbl i ailenwi" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Cyffredinol" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "Rhif:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "_Mantolen _gychwynnol:" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "_Arian:" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "mae'r cyfrif hwn wedi cau" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "Nodiadau:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "_Templed Rhagosodedig:" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Adrodd ar waharddiad" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "eithrio o grynodeb y cyfrif" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "eithrio o'r _gyllideb" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "eithrio o unrhyw _adroddiad" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Rhif siec cyfredol" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Llyfr Siec _1:" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Llyfr Siec _2:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "Terfynau'r gweddill/balansau" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "_Gorddrafft yn:" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" "Os byddwch yn dileu templed/wedi'i drefnu bydd yn cael ei golli'n barhaol." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "_Dyddiad nesaf:" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Pob:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Diwedd yr wythnos:" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_Aros ar ôl:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "cofnodion" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Rheoli trafodion drefnwyd/templed" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "Os fyddwch yn dileu aseiniad, bydd yn cael ei golli am byth." #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "Anablwyd" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "Os gwag" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "Trosysgrifennu" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Rheoli Aseiniadau" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Amod" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "_Taliad:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Ffeil Homebank newydd (%d o %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Heb ei ganfod" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "Perchennog:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "Arian:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Priodweddau ffeil" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "Canfod y system" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Ieithoedd:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Ffeil rhagosodedig:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Cychwyn fy categorïau gyda'r ffeil hon" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Categorïau rhagosodedig" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "Manylion" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Enw:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Mantolion" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Cyntaf:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Gorddrafft yn:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Creu cyfrif" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Dyma'r tudalen gadarnhau yn ymddangos, pwyswch 'Apply' i osod y newidiadau" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Cadarnhad" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "Dilys" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Enw" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Ffeiliau hysbys" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "Ffeiliau QIF" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "Ffeiliau OFX/QFX" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "Ffeiliau CSV" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Pob ffeil" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "cyfrif eang newydd" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "cyfrif newydd" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "wedi ei hepgor" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr ", %d o %d trafodyn" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" "Nid oes modd newid rhaid dyddiadau. Ceisiwch newid trefn dyddiadau er mwyn " "parhau." #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "Mewnforio %s i:" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "y ffeil hon" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "y cyfrif hwn" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" "Enw: %s\n" "Rhif: %s\n" "Feil: %s\n" "Amgdio: %s" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "Mewnforio trafodion o gerdyn banc neu gredyd" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" "Gyda'r cynorthwy-ydd hwn byddwch yn cael eich arwain trwy'r broses o " "fewnforio un\n" "neu nifer o ddatganiadau wedi'u llwytho i lawr gan eich cerdyn banc neu " "gredyd, yn y fformatau canlynol:" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" "Argymell: .OFX neu .QFX\n" "(Weithiau'n cael ei alw'n Money™ neu Quicken™)\n" "Cefnogi: .QIF\n" "(Ffeil cyffredin Quicken™)\n" "Defnyddwyr uwch yn unig: .CSV\n" "(fformat penodol i HomeBank, gw. y ddogfennaeth)" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" "Bydd dim newidiadau'n cael eu gwneud nes i chi glicio \"Defnyddio\" ar " "ddiwedd y cynorthwyydd." #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "Peidio dangos eto" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" "Mae gormod o gyfrifon yn y ffeiliau rydych wedi eu dewis,\n" "defnyddiwch y botwm nôl i ddewis llai o ffeiliau." #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "Wedi methu adnabod cyfrif targed yn ôl enw neu rif." #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Trefn dyddiadau:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "Mewnforio _memos" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "_Newid memos gyda'r taledig" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "_Enw OFX:" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "_Memo OFX:" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "Dewis:" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Y Cyfan" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Dim" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Gwrthdroi" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "Maint llythrennau brawddeg memo/taledig" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "Trafodion tebyg yn y cyfrif targed (dyblyg posibl)" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "Ystod _dyddiad:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "dyddiau" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Mae'r cydweddu'n cael ei wneud mewn trefn: cyfrif, swm a dyddiad.\n" "Mae goddefiad 0 diwrnod yn golygu cyfatebiaeth llawn" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "Croeso" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "Dewis ffeil(iau)" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "Mewnforio" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Gwall fformat ffeil" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" "Rhaid i'r ffeil CSV gynnwys yr union nifer o golofnau, wedi'u gwahanu gyda " "hanner colon, ewch i'r Cymorth am fwy o fanylion." #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "Ydych chi'n siŵr eich bod am glirio'r mewnbwn?" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "Os fyddwch yn bwrw ymlaen, bydd pob swm yn cael eu gosod i 0." #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "Clirio" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Rheoli Cyllideb" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "_Mewnforio CVS" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "Allforio CSV" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "_Clirio'r mewnbwn" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Dewisiadau" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Gorfodi monitro'r categori hwn" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Ion" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Chw" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Maw" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Ebr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Mai" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Meh" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Gor" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Aws" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Hyd" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Tac" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Rha" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Mae'r categori hwn yn cael ei ddefnyddio.\n" " Bydd unrhyw drafodyn sy'n defnyddio'r categori hwnnw yn cael ei osod i (dim " "categori)" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "_Dileu categori '%s'" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "Cyfuno" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "Dileu categorïau heb eu defnyddio" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Ydych chi'n siŵr eich bod am ddileu'n barhaol\n" "pob categori heb eu defnyddio?" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "Golygu..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Incwm" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Methu ail-enwi'r Categori hwn,\n" "o '%s' i '%s',\n" "mae'r enw hwn eisoes yn bodoli." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "Cyfuno cateori '%s'" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "Bydd y trafodion sydd yn y categori hwn yn\n" " cael eu symud i'r categori sydd wedi ei ddewis isod." #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Rheoli Categoriau" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "_Dileu heb ei ddefnyddio" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "categori newydd" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "is gategori newydd" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Arian sail" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Symbol" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "Cyfradd cyfnewid" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "Newidiwyd diwethaf" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Golygu'r arian" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "Arian" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "Fformat" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "_Cyfaddasu" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "_Symbol:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "Ar y blaen" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "_Nod degol:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "Digidau _frac:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "_Grwpio nodau:" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Dewiswch arian sail" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Dewis y math o arian" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "Cod ISO" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "Ychwanegu _arian cyfaddas" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "_ISO:" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "Gwall diweddaru ar-lein" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "Os fyddwch yn dileu arian, bydd yn cael ei golli am byth." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Newid yr arian sylfaen" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" "Os byddwch yn bwrw ymlaen, bydd cyfraddau arian eraill\n" "yn cael eu gosod i 0, peidiwch ag anghofio ei ddiweddaru" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Arian" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "Diweddaru ar-lein" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "Gosod fel sylfaen" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Ystadegau'r ffeil" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "Trafodyn" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "Aseiniad" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "Uwchraddio" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "Dewiswch arian syfaen" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "Yn cychwyn gyda v5.1, gall HomeBank reoli sawl math o arian\n" "os na fydd yr arian isod yn gywir, dylech ei newid:" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Allforio fel QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Mewnforio o CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "Agor ffeil HomeBank" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "Agor ffeil wrth gefn HomeBank" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "Cadw ffeil HomeBank fel" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "Ffeiliau HomeBank" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "Copi wrth gefn" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "Pob copi wrth gefn" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "Cadw newidiadau i'r ffeil cyn cau?" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Os na wnewch chi gadw'r ffeil, bydd newidiadau'n cael eu colli am byth.\n" "Nifer o newidiadau: %d." #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "Cau _heb gadw" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "Allforio fel PDF" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "Allforio fel _PDF" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "Ffolder:" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "Dewis Ffolder" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "Enw'r ffeil:" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Dewis o blith trafodion posibl ..." #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Dewiswch weithred:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "creu trafodyn newydd" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "dewis drafodyn sy'n bodoli eisoes" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "Mae HomeBank wedi canfod trafodyn all fod y trafodyn cysylltiedig ar gyfer y " "trosglwyddiad mewnol." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Dewis:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Memo:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Manylion:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "_Sensitif i lythrennau bach/mawr" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Unrhyw Statws" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "Cliriwyd" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "Cymodwyd" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Unrhyw Fath" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Trosglwyddiad" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Gorfodi:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "dangos 'Ychwanegu'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "dangos 'Wedi ei Olygu'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "dangos 'Atgoffa'" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "Dyddiadau" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "Taliadau" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "Symiau" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "Testunau" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "Categorïau" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "Y taledig" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Trefnu trafodion" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "ychwanegu tan" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "o bob mis (wedi'u heithrio)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "ychwanegu" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "diwrnod cyn y dyddiad cyfredol" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Cost cerbyd" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "Dileu talai heb ei ddefnyddio" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Ydych chi'n siŵr eich bod am\n" "ddileu talai heb ei ddefnyddio yn barhaol?" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "Rhagosodedig" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "Taliadau:" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Methu ailenwi'r Talai hwn,\n" "o '%s' i '%s',\n" "mae'r enw hwn eisoes yn bodoli." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "Cyfuno talai '%s'" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Bydd y trafodion a roddir i'r talai hwn\n" "yn cael eu symud i'r talai a ddewiswyd isod." #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "_Dileu talai '%s'" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "Mae'r talai hwn yn cael ei ddefnyddio.\n" "Bydd unrhyw drafodyn sy'n defnyddio'r talai hwnnw yn cael ei osod (dim talai)" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Rheoli Taledigion" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "talai newydd" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Rhyngwyneb" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "Locale" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Trafodion" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Mewnforio/Allforio" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Adroddiad" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "Copïo wrth gefn" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "Ffolderi" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Rhagosodiadau'r System" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Eiconau yn unig" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Testun yn unig" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Testun o dan eiconau" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Testun wrth ochr eiconau" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "Llorweddol" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "Fertigol" #: ../src/ui-pref.c:109 msgid "Both" msgstr "Y ddau" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango golau" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango canolig" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango tywyll" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "m-d-b" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "d-m-b" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "b-m-d" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Anwybyddu" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Atodwch i Manylion" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Atodwch i Memo" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "Atodi i'r Talai" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Iaith y System" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Dewiswch ffolder ffeiliau HomeBank ragosodedig" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Dewiswch ffolder mewnforio ragosodedig" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Dewiswch ffolder allforio rhagosodedig" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "Dewisiadau OFX / QFX" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "Dewisiadau QIF" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Hidl cychwynnol" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Dewisiadau siartiau" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "Cynllun lliw:" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Dewisiadau ystadegau" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Yn ôl _swm" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Dangos colofn _graddfa" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Dangos Manylion" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Dewisiadau cyllideb" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Galluogi" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "Rhagosodedig:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "Rhyngwyneb" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Iaith:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "_Dyddiad dangos:" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "_Fformat:" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" "%a enw cryno diwrnod o'r wythnos.\n" "%A enw llawn diwrnod o'r wythnos locale. \n" "%b enw cryno mis locale. \n" "%B enw llawn mis locale. \n" "%c cyflwyniad addas dyddiad ac amser locale. \n" "%C rhif canrif (y flwyddyn wedi ei rannu gyda 100 ac wedi ei dalfyrru i " "gyfanrif) fel rhif degol [00-99]. \n" "%d diwrnod y mis fel rhif degol [01,31]. \n" "%D yr un peth â %m/%d/%y. \n" "%e diwrnod y mis fel rhif degol [1,31]; un digid wedi ei ragflaenu â bwlch. " "\n" "%j diwrnod o'r flwyddyn fel rhif degol [001,366]. \n" "%m mis fel rhif degol [01,12]. \n" "%p cyflwyniad addas dyddiad locale. \n" "%y blwyddyn heb ganrif fel rhif degol [00,99]. \n" "%Y blwyddyn â chanrif fel rhif degol." #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Blwyddyn ariannol" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "_Dechrau ar:" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Unedau mesur" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Defnyddio _milltiroedd ar gyfer y mesurydd" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "Defnyddio _galwyni am danwydd" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Ffenestr trafodion" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "Dangos y _dyfodol:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "dyddiau i ddod" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Ychwanegu lluosog" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Cadw'r dyddiad olaf" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "Awto gwblhau memo" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "Gweithredol" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "dyddiau treigl" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "Bar Offer:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "Llinell grid:" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Lliw symiau" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Yn defnyddio lliwiau cyfaddas" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Gwario:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Incwm:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Rhybudd:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "_Galluogi creu copïau wrth gefn awtomatig" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "_Y nifer o gopïau wrth gefn i'w cadw:" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "Amlder copïo wrth gefn yw unwaith y dydd" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "_Waledi:" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "Cyfnewid ffeiliau" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "Mewnforio:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "Allforio:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Dechrau'r rhaglen" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Dangos y sgrin groeso" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Llwytho'r ffeil agorwyd ddiwethaf" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Trafodion wedi eu trefnu ar ôl dyddiad talu" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "Diweddaru arian ar-lein" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Adroddiadau'r brif ffenestr" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "Ailosod yr Holl Ddewisiadau" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" "Ydych chi wir eisiau ailosod pob\n" "dewis i'w gwerthoedd rhagosodedig?" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Dewisiadau" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "Bydd rhaid i chi ailgychwyn HomeBank\n" "i'r newid iaith ddod i rym." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "Rhannu trafodion" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "Defnyddio" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "Diddymu" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Swm y trafodyn:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Heb ei ddynodi:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Swm y rhannu:" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Methu newid enw'r Tag,\n" "o '%s' i '%s',\n" "mae'r enw hwn yn bodoli eisoes." #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "Rheoli Tagiau" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "tag newydd" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Ydych chi am dorri'r trosglwyddiad mewnol?\n" "Bydd y camau yn dileu'r trafodyn targed." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "_Toriad" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "Dangos _ wedi'i drefnu" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "Dangos pob _cyfrif" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "_Ychwanegu" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "_Cofnod" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Ychwanegu trafodion" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Etifeddu trafodion" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Dyddiad:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "M_emo:" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "Rhybudd: nid yw'r arwydd swm a chategori yn cydweddu" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "Trafodion golygu lluosog" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "Templed" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Yn cynnwys" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Allgau" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(dim math)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Arian Parod" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Ased" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Cerdyn Credyd" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Atebolrwydd" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "Y mis hwn" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "Mis diwethaf" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "Y chwarter hwn" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "Chwarter diwethaf" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "Eleni" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "Llynedd" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Y 30 diwrnod diwethaf" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Y 60 diwrnod diwethaf" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Y 90 diwrnod diwethaf" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Y 12 mis diwethaf" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Pob dyddiad" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Posib" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Cyn" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "Ar Ôl" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "Heb eu clirio" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Heb ei gymodi" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Heb Gategori" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Ionawr" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Chwefror" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Mawrth" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Ebrill" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Mehefin" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Gorffennaf" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Awst" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Medi" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Hydref" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Tachwedd" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Rhagfyr" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Med" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "Chwilio..." #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Siec" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Cerdyn Debyd" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Archeb Sefydlog" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Taliad Electronig" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Adnau" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "Ffi Banc" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Debyd Uniongyrchol" homebank-5.3.2/po/vi.po0000644000175000017500000023442113620025314011624 00000000000000# Vietnamese translation for homebank # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2007. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2019-05-29 09:04+0000\n" "Last-Translator: mimosa2688 \n" "Language-Team: Vietnamese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "Ngân hàng cá nhân" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Tài chính cá nhân" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Kế toán cá nhân dễ dàng, miễn phí cho mọi người" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "tài chính;kế toán;ngân sách;cá nhân;tiền;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Chuyển đổi" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Không có giao dịch thay đổi" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "Bạn có muốn xóa mỗi một giao dịch đã được chọn ?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "" #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Xuất ra CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Đóng" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Chỉnh sửa" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Giao dịch" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Thêm..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Kế thừa" #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Sửa..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "" #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Công cụ" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Lọc..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Thêm một giao dịch mới" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Thêm" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Kế thừa từ các giao dịch đang hoạt động" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Kế thừa" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Chỉnh sửa giao dịch đang hoạt động" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Chỉnh sửa" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Khoảng" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Loại:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Mở danh sách lọc" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Ngân hàng:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Hôm nay:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Tương lai:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Xin chào bạn đã đến với HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Bạn muốn làm cái gì:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Mở file mẫu" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "Lỗi nhập xuất của tập tin '%s'." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Tập tin '%s' không phù hợp với tập tin HomeBank" #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "Tập tin '%s' đã được lưu với phiên bản cao nhất của HomeBank, \n" "và không thể xem trên phiên bản cũ." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Lỗi tập tin" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Tập tin" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Mới" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Mở..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Lưu" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Hoàn nguyên" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Thoát" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Thiết lập..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Hiển thị" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Thanh công cụ" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Quản lý" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "Tài khoản..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Người được trả tiền..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Danh mục..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Ngân sách..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Ấn định..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Giao dịch" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Thêm..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Hiện thị..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Báo cáo" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Thống kê..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Thời gian hướng tới..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "Nhân sách..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Hiển thị hộp thoại chào mừng..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Trợ giúp" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Nội dung" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Báo cáo lỗi" #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Dịch ứng dụng này..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_Giới thiệu" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Tạo tập tin mới" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Mở tập tin" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Mở tập tin vừa dùng" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Lưu tập tin hiện tại" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Cấu hình tài khoản" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Định hình người được trả tiền" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Định hình danh mục" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Định hình ngân sách" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Định hình những ấn định tự động" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Hiển thị những giao dịch của tài khoản đã chọn" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Mở báo cáo thống kê" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Mở báo cáo Trend Time" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Mở báo cáo số dư" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Mở báo cáo ngân sách" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Tương lai" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Ngày tháng" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Thông tin" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Người nhận" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Ghi nhớ" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Số lượng" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Số dư" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Chưa xác định" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Xuất thông tin phiên bản và thoát" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[TẬP TIN]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Không thể hiển thị địa chỉ URL « %s »" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Tùy chọn của HomeBank" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Không thể mở « %s » vì tập tin đó không tồn tại.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "Giao dịch được thêm vào: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Kiểm tra kết quả giao dịch dự kiến" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Tổng cộng" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Tổng cộng" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Các tài khoản" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Ngân hàng" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Hôm nay" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- chia -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Tài khoản" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Trạng thái" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Chi phí" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Thu nhập" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Danh mục" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Nhãn" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "" #: ../src/rep-balance.c:76 msgid "List" msgstr "Danh sách" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Hiển thị kết quả kiểu danh sách" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Hàng" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Hiển thị kết quả theo hàng" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Làm mới" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Làm mới kết quả" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Chi tiết" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Đảo ngược chi tiết" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d dưới %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Báo cáo số dư" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "Tài khoản:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Chọn tất cả" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Mỗi ngày" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Phóng lớn X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Từ:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "Đế_n:" #: ../src/rep-budget.c:787 msgid " over" msgstr "" #: ../src/rep-budget.c:793 msgid " left" msgstr "" #: ../src/rep-budget.c:796 msgid " under" msgstr "" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Ngân sách" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Kết quả" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Báo cáo ngân sách" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Hiển thị theo:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Ngân sách:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Chi tiêu" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Không có tài khoản được định nghĩa là một phần của ngân sách" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "Bạn nên gộp một số tài khoản từ hộp thoại tài khoản." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Tiêu xài" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Danh mục phụ" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Nhãn" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Tháng" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Năm" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Thu & Chi" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Đảo ngược chú thích" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Đảo ngược tỷ giá" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Báo cáo thống kê" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Theo số tiền" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Số dư:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Thu nhập:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Chi phí" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Ngày" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Tuần" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Quý" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Báo cáo theo khuynh hướng" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Hạng mục:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Người được trả:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Thẻ:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Tích lũy" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Mẩu nhỏ theo thời gian" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Mét" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Nhiên liệu" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Giá" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Khoảng cách" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Xuất ra thành CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Báo cáo chi phí xe cộ" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "Xe cộ" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Đo lường:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Tiêu thụ:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Chi phí nhiên liệu:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Chi phí khác:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Tổng chi phí:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(không có)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Xem được" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Lỗi" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Không thể đổi tên tài khoản này,\n" "từ '%s' thành '%s',\n" "vì tên này đã có rồi." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Quản lý tài khoản" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Chung" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "Số:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "không bao gồm từ báo cáo" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "&Mỗi:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Quản lý phân công" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Thanh_toán:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Không tìm thấy" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Chủ sở hữu:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Ngôn ngữ:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Tập tin được cài đặt sẵn:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Khởi tạo danh mục của tôi với tập tin này" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Danh mục có sẵn" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Tên:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Ban đầu:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Số tiền vượt quá:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Tạo một tài khoản" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Đây là một trang xác nhận, nhấn nút \"Áp dụng\" để áp dụng những thay đổi" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Sự chứng thực" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "Tập tin dạng QIF" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "Tập tin dạng OFX/QFX" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "Tập tin CSV" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Tất cả các tập tin" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Tất cả" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Không chọn gì" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Đảo ngược" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "ngày" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Sự sắp xếp phù hợp được thực hiện theo thứ tự: theo tài khoản, số tiền và " "ngày tháng.\n" "Một ngày gia hạn bằng 0 ngày nghĩa là một sự phù hợp chính xác." #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "File lỗi" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Quản lý ngân sách" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "Áp đặt theo dõi loại này" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Tháng 1" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Tháng 2" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Tháng 3" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Tháng 4" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Tháng Năm" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Tháng 6" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Tháng 7" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Tháng 8" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Tháng 10" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Tháng 11" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Tháng 12" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Thu nhập" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Không thể đổi tên danh mục này,\n" "từ '%s' thành '%s',\n" "vì tên này đã có rồi." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Quản lý danh mục" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "Phân số" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Xuất ra dạng QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Nhập vào từ tập tin CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "Tập tin HomeBank" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Tùy chọn" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Thông tin" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "Phân biệt chữ hoa/thường" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Đổi" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Áp đặt" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "hiển thị 'Đã thêm'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "hiển thị \"Đã sửa\"" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "thêm đến" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "của mỗi tháng (không bao gồm)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "thêm" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "ngày trước ngày hiện tại" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Không thể đổi tên người được trả tiền,\n" "từ '%s' thành '%s',\n" "vì tên này đã có rồi." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Quản lý người được trả tiền" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Giao tiếp" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "" #: ../src/ui-pref.c:89 msgid "Report" msgstr "" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Hệ thống mặc định" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Chỉ có biểu tượng" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Chỉ có chữ" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Chữ dưới biểu tượng" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Chữ nằm kế hình" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Màu chữ Tango sáng" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Màu chữ Tango trung bình" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Màu chữ Tango tối" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Bỏ qua" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Trình bày theo _số lượng" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Trình bày cột giá" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Trình bày chi tiết" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Bật" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Mẫu có sẵn\"" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Thanh công cụ:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Sử dụng màu sắc tùy ý" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Phí tổn" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "Thu _nhập" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Cảnh báo" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Nhập" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Xuất ra:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Nạp tập tin đã mở gần đây" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Tuỳ chọn" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Thêm giao dịch" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Giao dịch kế thừa" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Ngày:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Bao gồm" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Loại trừ" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Tiền mặt" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Tài sản" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Thẻ tín dụng" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Trách nhiệm" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "30 ngày trước" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "60 ngày trước" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "90 ngày trước" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "12 tháng trước" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Tất cả ngày tháng" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Tháng 1" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Tháng 2" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Tháng 3" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Tháng 4" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Tháng 6" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Tháng 7" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Tháng 8" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Tháng 9" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Tháng 10" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Tháng 11" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Tháng 12" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Tháng 9" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Kiểm tra" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Thẻ ghi nợ" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Lệnh" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Tiền điện" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Đặt cọc" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "Phí FI" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "" homebank-5.3.2/po/sv.po0000644000175000017500000026360613620025316011647 00000000000000# Swedish translation for homebank # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2007. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2019-12-10 05:10+0000\n" "Last-Translator: Jonatan Nyberg \n" "Language-Team: Swedish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Privatekonomi" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Gratis, enkel, personlig bokföring för alla" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "finanser;bokföring;budget;personlig;pengar;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "HomeBank är en fri programvara (som i \"yttrandefrihet\" och även som i " "\"fri öl\") som hjälper dig att hantera din personliga bokföring." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "Det är konstruerat för att vara enkelt att använda och för att kunna " "analysera din privatekonomi i detalj med kraftfulla filter och vackra grafer." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Om du letar efter ett helt gratis och enkelt sätt att hantera din privata " "bokföring så är HomeBank programmet du borde välja." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "Det finns %d-grupp av likartade transaktioner" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "Ingen liknande transaktion hittades !" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "Kontrollera interna överföringsresultat" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "Ingen inkonsekvens hittades !" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "Inkonsekvens hittades: %d\n" "vill du granska och åtgärda ?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Varje transaktionsbelopp delas upp med %.6f." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Är du säker på att du till konvertera detta konto\n" "till att använda Euro som huvudvaluta?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Konvertera" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Ingen transaktion ändrad" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "transaktion ändrad: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "Automatiskt uppdragsresultat" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Vill du skapa en ny mall för var och en\n" "av de valda transaktionerna ?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "_Skapa" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Vill du ta bort\n" "var och en av de valda transaktionerna ?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_Ta bort" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Är du säker på att du vill ändra status till Ingen?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "Några transaktioner i ditt urval är redan avstämda." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Ändra" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Är du säker på att du vill växla status Avstämda?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_Växla" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "%d transaktioner" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d transaktioner, %d valda, medel: %s, summa: %s (%s -%s)" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "K_onto" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Exportera QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Exportera CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "Exportera som PDF..." #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Stäng" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Redigera" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "Kopiera" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "Klistra in" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "Klistra in (idag)" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Transakti_on" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Lägg till..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Ärv..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Redigera..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Status" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Inget" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "_Rensat" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Avstämda" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "_Redigera flera..." #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Skapa mall..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Ta bort..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "_Hitta" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Verktyg" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "Markera dubbletter..." #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "Kontollera intern överföring" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "Automatiska uppdrag" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filter..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Konvertera till Euro..." #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Lägg till ny transaktion" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Lägg till" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Ärv från denna transaktion" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Ärv" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Redigera aktiva transaktionen" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Redigera" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "Växla rensat för vald(a) transaktion(er)" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "Växla avstämda för vald(a) transaktion(er)" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Redigera flera transaktioner" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Skapa mall" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Ta bort vald(a) transaktion(er)" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "Flytta transaktionen upp" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "Flytta transaktionen ner" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "(stängd)" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "Alla transaktioner" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "Uppdate_ra" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Urval:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "Växla visa framtida transaktion" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Typ:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "Åte_rställ" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Öppna listfiltret" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Bank:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Idag:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Framtid:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Återställ osparade ändringar till fil \"%s\"?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "- Ändringar som gjorts i filen kommer permanent att gå förlorade\n" "- Fil kommer att återgå till den senaste sparade versionen (.xhb~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Återgå" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Är du säker på att du vill anonymisera filen?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Förfarande kommer anonymisera all text, \n" "som \"konto x\", \"betalningsmottagare y\", \"memo z\", ..." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Anonymisera" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Välkommen till HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Vad vill du göra:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Läsa HomeBank-_handboken" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "Konfigurera _inställningarna" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Skapa en _ny fil" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Öppna en befintlig fil" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Öppna _exempelfilen" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" "Du är på väg att öppna säkerhetskopian \"%s\".\n" "\n" "Är du säker på att du vill göra det ?" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "Öppna säkerhetskopian?" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "_Öppna säkerhetskopia" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Okänt fel" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "I/O fel för fil \"%s\"." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Filen \"%s\" är inte en giltig HomeBank-fil." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "Filen \"%s\" sparades med en nyare version av HomeBank\n" "och kan inte öppnas av den aktuella versionen." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Filfel" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "Filen har ändrats sedan den lästes." #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Om du sparar den kan alla externa ändringar gå förlorade. Spara den ändå?" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "Spara än_då" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "Rensa" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Arkiv" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Ny" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Öppna..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "Öppna _senaste" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Spara" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "Sp_ara som..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "Importera..." #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "Exportera som QIF..." #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Återgå" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "Återställ säkerhetskopia" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Egenskaper..." #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Avsluta" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Inställningar..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Visa" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Verktygsfält" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_Högsta utgifter" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "_Bottenlistor" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Hantera" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "_Konton..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Betalningsmottagare..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Kategorier..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Schema/mall..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Budget..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "Budget (visa som tabell)" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Uppdrag..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Valutor..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "Taggar..." #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Transaktioner" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Lägg till..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Visa..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "Visa alla..." #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Ange schemaläggare..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Post schemalagd" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Rapporter" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Statistik..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Trendtid..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "_Balans..." #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "B_udget..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "_Fordonskostnad..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Visa välkomstdialog..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Filstatistik..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Anonymisera..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Hjälp" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Innehåll" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "Få hjälp på nätet..." #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "Sök efter uppdateringar..." #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "Versionsinformation" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Rapportera ett problem..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Översätt den här applikationen..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_Om" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Skapa en ny fil" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Öppna" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Öppna en fil" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Öppna en nyligen använd fil" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Spara den aktuella filen" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Konfigurera konton" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Konfigurera betalningsmottagare" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Konfigurera kategorier" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Konfigurera schemalagda-/malltransaktioner" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Konfigurera budget" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Konfigurera automatiska uppdrag" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Visar transaktioner för valt konto" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Lägg till transaktioner" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Öppna statistikrapporten" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Öppna trendtidsrapport" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Öppna saldorapporten" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Öppna budgetrapporten" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Öppna rapport för fordonskostnad" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "Donera till projektet HomeBank" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "Schemalagd" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Framtid" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "Påminn" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(ingen kategori)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "ogiltigt CSV-format" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Datum" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Info" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Betalningsmottagare" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Anteckning" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Belopp" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Saldo" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Okänd" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "mi./l" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(ingen betalningsmottagare)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "%d-w%d" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "%d-q%d" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Skriv ut versionsinformation och avsluta" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[FIL]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Bläddrarfel." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Det gick inte att visa webbadressen \"%s\"" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "HomeBank-alternativ" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Kunde inte öppna \"%s\", filen finns inte.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(ingen institution)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "(ingen grupp)" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Dina konton" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Expandera alla" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Dölj alla" #: ../src/hub-account.c:547 msgid "Show all" msgstr "Visa alla" #: ../src/hub-account.c:552 msgid "By type" msgstr "Efter typ" #: ../src/hub-account.c:553 msgid "By group" msgstr "Efter grupp" #: ../src/hub-account.c:554 msgid "By institution" msgstr "Per institution" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Inga transaktioner att lägga till" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "transaktioner tillagda: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Kontrollera schemalagda transaktionsresultat" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Summa" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Schemalagda transaktioner" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Hoppa över" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Redigera & bokför" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Bokför" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "högsta postdatum" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Högsta utgift" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "Högsta %d-utgifter" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Annat" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Vart dina pengar går" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "importerat konto" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Stor summa" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Konton" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Bank" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Idag" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- delad -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "- det behövs en kategori -" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Konto" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Status" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Utgift" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Inkomst" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Kategori" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Taggar" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Försenade" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "Fortfarande" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Nästa datum" #: ../src/rep-balance.c:76 msgid "List" msgstr "Lista" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Visa resultat som lista" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Linje" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Visa resultat som linjer" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Uppdatera" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Uppdatera resultat" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Detalj" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Växla detaljer" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d under %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Saldorapport" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Visa" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "K_onto:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Markera _allt" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Varje _dag" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Zooma X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Datumfilter" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Från:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Till:" #: ../src/rep-budget.c:787 msgid " over" msgstr " över" #: ../src/rep-budget.c:793 msgid " left" msgstr " kvar" #: ../src/rep-budget.c:796 msgid " under" msgstr " under" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "Budget för %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Budget" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Resultat" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "Visa resultat som stapelstänger" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "_Resultat till urklipp" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "_Resultat till CSV" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "_Detail till urklipp" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "_Detalj till CSV" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Budgetrapport" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Visa efter:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "Endast utanför budgeten" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Resultat:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Budget:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Spenderat:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Inget konto definieras som en del av budgeten." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "Du bör inkludera några konton från kontodialogen." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Spenderat" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Underkategori" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Etikett" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Månad" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "År" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Utg. & ink." #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s per %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "För många kolumner att visa" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "Välj ett större intervall och / eller ett smalare datumspan" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "Visa resultatet som kolumner" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "Visa resultat som munk" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Växla förklaring" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Växla ränta" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "Redigera filter" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Statistikrapport" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "Läge:" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Efter _belopp" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "Inter_vall:" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Saldo:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Inkomst:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Utgift:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "Medelvärde" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Dag" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Vecka" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Kvartal" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "Halvår" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s över tid" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "Genomsnitt: %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Trend rapport" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Kategori:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Betalningsmottagare:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Etikett:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Kumulativ" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "Visa tom rad" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Tidssnitt" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Mätare" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Bränsle" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Pris" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Distans" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Exportera som CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Rapport för Fordonskostnad" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "For_don:" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Mätare:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Konsumtion:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Bränslekostnad:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Andra kostnader:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Totalkostnad:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(inget)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Synlig" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Avbryt" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Kontonamn" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Fel" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Kan inte lägga till ett konto \"%s\",\n" "detta namn finns redan." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "Kan inte ta bort konto \"%s\"" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" "Detta konto innehåller transaktioner och/eller är del i interna överföringar." #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Är du säker på att du vill ta bort \"%s\" permanent?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "Om du ta bort ett konto kommer det att försvinna permanent." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Kan inte byta namn på detta konto\n" "från \"%s\" till \"%s\"\n" "namnet finns redan." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Hantera konton" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "Döp om" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "Radera" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Dra & släpp för att ändra ordningen\n" "Dubbelklicka för att byta namn" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Allmänt" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "_Grupp:" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "_Institut:" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "N_ummer:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Start _saldo:" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "_Valuta:" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "detta konto har _stängts" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "Anteckningar:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "Beteende" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "Automatisering" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "Standard_mall:" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Rapportera utelämning" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "utelämna från konto_sammandrag" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "utelämna från _budgeten" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "utelämna från alla _rapporter" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "Diverse" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Aktuellt kontrollnummer" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Kontrollbok _1:" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Kontrollbok _2:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "Saldogränser" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "_Övertrassering på:" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" "Om du tar bort en schemalagd/mall kommer den att gå permanent förlorad." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Nästa _datum:" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Varj_e:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "Fler alternativ" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Veckoslut:" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_Sluta efter:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "poster" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Hantera schemalagda-/malltransaktioner" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "_Schema" #: ../src/ui-assign.c:303 msgid "Search" msgstr "Sök" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "Noteringar" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "(regel %d)" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "Om du tar bort en uppgift kommer den att gå förlorad permanent." #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "Denna sök text finns redan." #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "Inaktiverad" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "Om tom" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "Skriv över" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Hantera uppdrag" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "Dra och släpp för att ändra ordningen" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Villkor" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "_Sök:" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "Skiftlägeskänslig" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "Reguljärt uttryck" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "_I:" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "Tilldelningar" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Betal_ning:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Ny HomeBank-fil (%d av %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Inte hittad" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Ägare:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "Valuta:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Filegenskaper" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "Systemdetektering" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Språk:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Förinställd fil:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Initiera mina kategorier med den här filen" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Förinställda kategorier" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "Information" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Namn:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Saldon" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Initialt:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "Över_trasserat vid:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Skapa ett konto" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Detta är en bekräftelsesida, tryck på \"Tillämpa\" för att tillämpa ändringar" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Bekräftelse" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "Giltig" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Namn" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Kända filer" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF-filer" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX-/QFX-filer" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV-filer" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Alla filer" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "nytt globalt konto" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "nytt konto" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "hoppade över" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr ", %d av %d transaktioner" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" "Vissa datum kan inte konverteras. Vänligen försök att ändra datumordningen " "för att fortsätta." #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "Importera %s in_to:" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "denna fil" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "detta kontot" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" "Namn: %s\n" "Nummer: %s\n" "Fil: %s\n" "Kodning: %s" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "%d transaktion(er), %d liknande, %d existerande, %d valda" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d transaktion(er), %d valda" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "Importera transaktioner från bank eller kreditkort" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" "Med denna assistent kommer du att guidas genom processen att importera en " "eller flera\n" "hämtade påståenden från din bank eller ditt kreditkort, i följande format:" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" "Rekommendras: .OFX eller .QFX\n" "(Ibland kallad Money™ eller Quicken™)\n" "Stöder: .QIF\n" "(Vanlig Quicken™-fil)\n" "Endast avancerade användare: .CSV\n" "(formatet är specifikt för HomeBank, se dokumentationen)" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" "Inga ändringar kommer att göras tills du klickar på \"Tillämpa\" i slutet av " "den här assistenten." #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "Visa inte detta igen" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" "Dra och släpp en eller flera filer för att importera dem.\n" "Du kan också använda lägg till/ta bort knapparna på listan." #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" "Det finns för mycket konto i de filer du valt,\n" "använd tillbaka-knappen för att välja färre filer." #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "Målkodsidentifiering av namn eller nummer misslyckades." #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Datumordning:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "_Importera anteckningar" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "_Byt anteckningar med betalningsmottagare" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "OFX-_namn:" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "OFX-_anteckning:" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "Välj:" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Alla" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Ingen" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Invertera" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "Liknande transaktion i målkonto (eventuellt dubbletter)" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "Datum_lucka:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "dagar" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Matchningen har utförts i följande ordning: efter konto, belopp och datum.\n" "En datumtolerans på 0 dagar innebär en exakt matchning" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "Kör automatisering" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "1) Berika med betalningsmottagarens standard" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "2) Kör automatiska _uppdragsregler" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "Klicka på \"Tillämpa\" för att uppdatera dina konton." #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "Välkommen" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "Välj fil(er)" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "Importera" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Filformatsfel" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" "CSV-filen måste innehålla exakt antal kolumner,\n" "separerad av ett semikolon, se hjälpen för mer detaljer." #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "Är du säker på att du vill rensa inmatning?" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "Om du fortsätter kommer varje belopp att ställas till 0." #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "_Rensa" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Hantera budget" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "_Importera CSV" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "E_xportera CSV" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "är samma varje månad" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "_Rensa inmatning" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "är olika per månad" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Alternativ" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Tvinga övervakning av denna kategori" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Maj" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Aug" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "Sept" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Okt" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Dec" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "Sammanfattning" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "Totalt" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "Årligt total" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "Månatligt genomsnitt" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "Månadsvis" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "Lägg till en kategori" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "Tillämp_a" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "Föregående kategori" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "Kategorinamn" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Denna kategori används.\n" "Alla transaktioner som använder den kategorin kommer att ställas in som " "(ingen kategori)" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "Foga samman kategorier" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" "Transaktioner i kategorin '%s', kommer att flyttas till kategorin som väljs " "nedan." #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "Målkategori" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "Ra_dera kategorin \"%s\"" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "Är du säker på att du vill rensa inmatningar för \"%s\"?" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "Budget (visa som tabell)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "Lägg till kategori" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "Ta bort kategori" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "Slå samman" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "Rensa inmatning" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "Ta bort oanvända kategorier" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Är du säker på att du vill permanent\n" "ta bort oanvända kategorier?" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "Redigera..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Inkomst" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "Ändra typ för _child" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Kan inte byta namn på den här kategorin,\n" "från \"%s\" till \"%s\",\n" "detta namn finns redan." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "Slå samman kategori \"%s\"" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "Transaktioner i denna kategori kommer\n" "att flyttas till den nedan valda kategorin." #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Hantera kategorier" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "_Ta bort oanvända" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "Flytta/Foga samman" #: ../src/ui-category.c:2349 msgid "new category" msgstr "ny kategori" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "ny underkategori" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Basvaluta" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Symbol" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "Växelkurs" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "Senast ändrad" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Redigera valuta" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "Valuta" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "Format" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "_Anpassa" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "_Symbol:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "Är pre_fix" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "_Decimaltecken:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Bråkdelssiffror:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "_Grupperingstecken:" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Välj basvaluta" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Välj valuta" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "ISO-kod" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "Lägg till en anpassad _valuta" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "_ISO:" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "Uppdatering fel på nätet" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "Om du tar bort en valuta förloras den permanent." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Ändra basvalutan" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" "Om du fortsätter, kommer omräkningskurs på andra \n" "valutor att ställas till 0, glöm inte att uppdatera den" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Valutor" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "Uppdatera på nätet" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "Ange som bas" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Filstatistik" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "Transaktion" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "Uppdrag" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "Uppgradera" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "Välj en basvaluta" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "Från och med v5.1 kan HomeBank hantera flera valutor\n" "om valutan nedan inte är korrekt, vänligen ändra den:" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Exportera som QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Importera från CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "Öppna HomeBank-fil" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "Öppna Homebank-säkerhetskopian" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "Spara HomeBank-fil som" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "HomeBank-filer" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "Säkerhetskopiering av filer" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "Alla säkerhetskopior" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "Spara ändringar till filen innan den stängs?" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Om du inte sparar kommer förändringar du gjort gå förlorade.\n" "Antal förändringar: %d." #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "Stäng _utan att spara" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "Exportera som PDF" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "Exportera som _PDF" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "Mapp:" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "Välj en mapp" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "Filnamn:" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Välj bland möjliga transaktioner..." #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Välj en åtgärd:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "skapa en ny transaktion" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "välj en befintlig transaktion" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "HomeBank har funnit en viss transaktion som kan vara den tillhörande " "transaktionen för intern överföring." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Alternativ:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Anteckning:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Info:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "Skiftläges_känslig" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Alla status" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "Rensad" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "Avstämd" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Alla typer" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Överför" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Tvinga:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "visa \"Tillagd\"" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "visa \"Redigerad\"" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "visa \"Påminna\"" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "Datum" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "Betalningar" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "Belopp" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "Texter" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "Kategorier" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "Betalningsmottagare" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "_Titel:" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Schemalagda transaktioner" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "lägg till fram till" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "av varje månad (utesluten)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "lägg till" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "dagar i förväg för det aktuella datumet" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Fordonskostnad" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "Betala." #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "Ta bort oanvänd betalningsmottagare" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Är du säker på att du vill\n" "ta bort oanvänd betalningsmottagare permanent?" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "Standard" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "Be_talning:" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Kan inte byta namn på denna betalningsmottagare,\n" "från \"%s\" till \"%s\",\n" "detta namn finns redan." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "Slå samman betalningsmottagare \"%s\"" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Transaktioner tilldelade denna betalningsmottagare,\n" "kommer att flyttas till den betalningsmottagare som valts nedan." #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "_Ta bort betalningsmottagaren \"%s\"" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "Denna betalningsmottagare används.\n" "Varje transaktion med den betalningsmottagaren kommer att ställas till " "(ingen betalningsmottagare)" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Hantera betalningsmottagare" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "ny betalningsmottagare" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Gränssnitt" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "Språk" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Transaktioner" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Importera/exportera" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Rapportera" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "Säkerhetskopiera" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "Mappar" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Systemets standardvärden" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Endast ikoner" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Endast text" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Text under ikoner" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Text bredvid ikoner" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "Horisontell" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "Vertikal" #: ../src/ui-pref.c:109 msgid "Both" msgstr "Båda" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango ljus" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango medium" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango mörk" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "m-d-å" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "d-m-å" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "å-m-d" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Ignorera" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Bifoga till info" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Bifoga till anteckning" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "Bifoga till betalningsmottagare" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "Flik" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "Kommatecken" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "Semikolon" #: ../src/ui-pref.c:149 msgid "Space" msgstr "Blanksteg" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Systemspråk" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Välj en standardfilmapp för HomeBank" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "Välj en standardmapp för HomeBank-säkerhetskopior" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Välj en standardmapp för import" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Välj en standardmapp för export" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "Allmänna alternativ" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "OFX/QFX-alternativ" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "QIF-alternativ" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "CSV-alternativ" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "(endast transaktionsimport)" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "Avskiljare:" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Initialt filter" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Diagramalternativ" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "Färgschema:" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Statistikalternativ" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Visa efter _belopp" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Visa _räntekolumn" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Visa _detaljer" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Budgetalternativ" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Aktivera" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Förinställd:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "Användargränssnitt" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Språk:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "_Datumvisning:" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "_Format:" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" "%a språkets förkortade veckodagsnamn.\n" "%A språkets fullständiga veckodagsnamn.\n" "%b språkets förkortade månadsnamn.\n" "%B språkets fullständiga månadsnamn.\n" "%c språkets lämplig datum och tid representation.\n" "%C sekeltal (året dividerat med 100 och avkortat till ett heltal) som ett " "decimaltal [00-99].\n" "%d dag i månaden som ett decimaltal [01,31].\n" "%D samma som %m/%d/%y.\n" "%e dag i månaden som ett decimaltal [1,31]; En siffra föregås av ett " "mellanslag.\n" "%j dag på året som ett decimaltal [001 366].\n" "%m månad som ett decimaltal [01,12].\n" "%p språkets lämpliga datum representation.\n" "%y år utan sekel som ett decimaltal [00,99].\n" "%Y år med sekel som ett decimaltal." #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Verksamhetsår" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "Börjar _den:" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Mätningsenheter" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Använd _mil för meter" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "Använd _gallon för bränsle" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Transaktionsfönster" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "_Visa framtid:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "dagar framåt" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "Visa alltid påminnelse" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "Inkludera påminnelse i balans" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "Visa konfirmations text" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Lägg till flera" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Behåll senaste datumet" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "Komplettera anteckning automatiskt" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "Aktiv" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "rullande dagar" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Verktygsfält:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "_Rutnätslinje:" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Färg på belopp" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Använder egna färger" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Utgift:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Inkomst:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Varning:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "_Använd automatisk säkerhetskopiering" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "_ Antal säkerhetskopior att behålla:" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "Säkerhetskopieringsfrekvensen är en gång om dagen" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "_Plånböcker:" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "Säkerhetskopia:" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "Utbyta filer" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Importera:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Exportera:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Programstart" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Visa startskärm" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Öppna senast öppnade filen" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Posta avvaktande schemalagda transaktioner" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "Uppdatera valutor på nätet" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Huvudfönsterrapporter" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "Återställ alla inställningar" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" "Vill du verkligen återställa\n" "alla inställningar till standardvärden?" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Inställningar" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "Du måste starta om HomeBank för\n" "att språkändringarna ska träda i kraft." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" "Säkerhetskopieringsmappen har ändrats,\n" "du kan behöva kopiera \".bak\"-filen till denna nya plats." #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "Varning: summan av splittringar och transaktionstyp matchar inte" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "Transaktionsuppdelningar" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "Ta bort alla" #: ../src/ui-split.c:851 msgid "Apply" msgstr "Tillämpa" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "Avbryt" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Transaktionsbelopp:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Otilldelad:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Summa av delar:" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Kan inte byta namn på den här taggen,\n" "från \"%s\" till \"%s\",\n" "detta namn finns redan." #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "Hantera taggar" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "ny tagg" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "Transaktion av %s skapad." #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Vill du bryta den interna överföringen?\n" "\n" "Fortsättning tar bort måltransaktionen." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "_Bryt" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "Visa _schemalagda" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "Visa _all konton" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "Använd mall" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "Lägg till & _behåll" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "_Lägg till" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "_Posta" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Lägg till transaktion" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "Lägg till mall" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Ärv transaktion" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "Ärv mallinställningar" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "Redigera transaktion" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "Redigera mall" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Datum:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" "- typ: d, d/m, m/d ett fullständigt datum\n" "- Använd piltangent + ctrl eller skift\n" "- tom för idag" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "Män_gd:" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "T_ill:" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "Bok _2" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" "- skriv någon bokstav för automatisk komplettering\n" "- Skriv ny text för att skapa post" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "Kate_gori:" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "Ant_eckning:" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "_Taggar:" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "Varning: summa och kategori matchar inte" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "Redigera flera transaktioner" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" "Skriv in som\n" "överföring" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "Mall" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "Tid" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "Trend" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "Av" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Inkludera" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Uteslut" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(ingen typ)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Kontanter" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Tillgång" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Kreditkort" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Ansvar" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "Denna månad" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "Förra månaden" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "Detta kvartal" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "Förra kvartalet" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "Detta år" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "Förra året" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Senaste 30 dagarna" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Senaste 60 dagarna" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Senaste 90 dagarna" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Senaste 12 månaderna" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "anpassad" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Alla datum" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "Ogiltig" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Möjlig" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Före" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "Efter" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "Orensad" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Oavstämd" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Okategoriserad" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "Mån" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "Tis" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "Ons" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "Tor" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "Fre" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "Lör" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "Sön" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Januari" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Februari" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Mars" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "April" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Juni" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Juli" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Augusti" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "September" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Oktober" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "November" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "December" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "Sök..." #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Check" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "Bank överföring" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Betalkort" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Stående order" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Elektronisk betalning" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Insättning" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "Finansinstitutsavgift" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Autogiro" homebank-5.3.2/po/pt_PT.po0000644000175000017500000023704413620025336012244 00000000000000# Portuguese (Portugal) translation for homebank # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2014-07-25 14:56+0000\n" "Last-Translator: IvoGuerreiro \n" "Language-Team: Portuguese (Portugal) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:53+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Nenhuma transação alterada" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Deseja criar um modelo com\n" "as transações selecionadas?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Pretende eliminar cada uma\n" "das transações selecionadas?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Exportar QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Exportar CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "Fe_char" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Editar" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Transacçã_o" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Adicionar..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Herdar..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Editar..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Reconciliada" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Criar modelo..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_ferramentas" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filtrar..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Adicionar uma nova transacção" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Adicionar" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Herdar da transacção activa" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Herdar" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Editar a transacção activa" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Editar" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_intervalo:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Tipo:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Estado:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Abrir o filtro" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Banco:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Hoje:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Futuro:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Bem-vindo ao HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "O que pretende fazer:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Consultar o _manual" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Criar _novo ficheiro" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Abrir ficheiro existente" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Abrir um _exemplo" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "Erro de E/S no ficheiro %s." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "O ficheiro '%s' não é um ficheiro HomeBank válido." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "O ficheiro '%s' foi guardado com uma versão mais recente do HomeBank\n" "e não pode ser aberto com a versão atual." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Erro no ficheiro" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Ficheiro" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Nova" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Abrir..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Gravar" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Refazer" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Sair" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Preferências..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Ver" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Barra de ferramentas" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_Maiores despesas" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro menor" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Gerir" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "C_ontas..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Beneficiários..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Categorias..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Agendada/Modelo..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Orçamento..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Atribuições..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Transacções" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Adicionar..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Mostrar..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Definir agendamento..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Relatórios" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Estatísticas..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Tempo de evolução..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "O_rçamento" #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "Custo da _viatura" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Mostrar diálogo de boas vindas..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Anónimo..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Ajuda" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Conteúdos" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Reportar um Problema..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Traduzir esta aplicação..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_Sobre" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Criar novo ficheiro" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Abrir um ficheiro" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Abrir um ficheiro recente" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Guardar o ficheiro actual" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Configurar as contas" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Configurar beneficiários" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Configurar as categorias" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Configurar transações agendadas/modelo" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Configurar orçamento" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Configurar atribuições automáticas" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Mostra as transações da conta selecionada" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Abrir relatório das estatísticas" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Abrir relatório do tempo de evolução" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Abrir relatório de saldo" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Abrir relatório do orçamento" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Abrir relatório de gastos da viatura" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Futuro" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(sem categoria)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Data" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Informações" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Credor" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Memo" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Quantia" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Saldo" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Desconhecido" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(sem beneficiário)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Mostrar informação de versão e sair" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[FICHEIRO]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Erro de navegador" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "O URL %s não pode ser mostrado." #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Opções HomeBank" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Incapaz de abrir \"%s\", o ficheiro não existe.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "As suas contas" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Sem transações para adicionar" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "transação adicionada: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Consultar resultado das transações agendadas" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Transações agendadas" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Saltar" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Introduzir" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "data máxima de introdução" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Outra" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Para onde o seu dinheiro vai" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Total Geral" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Contas" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Banco" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Hoje" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- separar -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Conta" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Estado" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Despesa" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Entrada" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Categoria" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Etiquetas" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Atrasado" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Próxima data" #: ../src/rep-balance.c:76 msgid "List" msgstr "Lista" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Ver resultados como lista" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Gráfico de Linhas" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Ver resultados como um gráfico de linhas" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Atualizar" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Atualizar resultados" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Detalhe" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Alternar detalhes" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d por baixo de %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Relatório de Balanço" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Monitor" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "_Conta:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Seleccionar _tudo" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Cada _dia" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Zoom X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Filtro de dados" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_De:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Até:" #: ../src/rep-budget.c:787 msgid " over" msgstr "" #: ../src/rep-budget.c:793 msgid " left" msgstr "" #: ../src/rep-budget.c:796 msgid " under" msgstr "" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Orçamento" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Resultado" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Relatório de orçamento" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Ver por:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Resultado:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Orçamento:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Gasto:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Nenhuma conta definida para fazer parte do orçamento" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "Deverá incluir algumas contas no diálogo de seleção de contas." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Gasto" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Subcategoria" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Etiqueta" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Mês" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Ano" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Desp. e Rend." #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s por %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Alternar legenda" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Alternar taxa" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Relatório de estatísticas" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Por qu_antia" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Balanço:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Receita:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Despesa:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Dia" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Semana" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Trimestre" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s Ao Longo do Tempo" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Relatório da divisão de tempo" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Categoria:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Beneficiário:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Etiqueta:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Acumulado" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Divisão de tempo" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Conta-quilómetros:" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Combustível" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Preço" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Dist." #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Exportar como CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Relatório de custos da viatura" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "Viat_ura:" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Conta-quilómetros:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Consumo:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Custos com combustível:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Outros custos:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Custo total:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(nenhum)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Visível" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Nome da conta" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Erro" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Não foi possível adicionar a conta '%s',\n" "este nome já existe." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Incapaz de mudar o nome\n" "da conta \"%s\" para \"%s\",\n" "este nome já existe." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Gerir Contas" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Arraste e largue para alterar a ordem\n" "Duplo clique para mudar o nome" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Geral" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "N_úmero:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "_Balanço inicial:" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "esta _conta foi fechada" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Reportar exclusão" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "excluir do _resumo de contas" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "excluir do _orçamento" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "excluir dos _relatórios" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Número de cheque atual:" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Livro de cheques _1:" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Livro de cheques _2:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Próxima _data:" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "A Cada:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Fim da semana:" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_Parar após:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "introduções" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Gerir transacções agendadas/modelo" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Gerir atribuições" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Condição" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Paga_mento:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Novo ficheiro HomeBank (%d de %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Não encontrado" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Titular:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Propriedades do ficheiro" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "Deteção do sistema" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Idiomas:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Ficheiro de pré-ajuste:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Iniciar categorias com este ficheiro" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Categorias pré-definidas" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Nome:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Balanços" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Inicial:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Descoberto em:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Criar uma conta" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Esta é a página de confirmação. Prima \"Aplicar\" para aplicar as alterações" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Confirmação" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Ficheiros aceites" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "ficheiros QIF" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "Ficheiros OFX/QFX" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "ficheiros CSV" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Todos os ficheiros" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Data de operação:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Tudo" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Nenhum" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Inverter" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "dias" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "A combinação é feita pela ordem: por conta, quantia e data.\n" "Uma tolerância de 0 dias significa uma combinação exata." #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Formato de ficheiro errado" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Gerir Orçamento" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "_Limpar entrada" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Opções" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Forçar monitorização desta categoria" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Fev" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Abr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Maio" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Ago" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Out" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Dez" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "Rece_ita" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Incapaz de mudar o nome\n" "da categoria \"%s\" para \"%s\",\n" "este nome já existe." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Gerir Categorias" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "Dígitos de _fração:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Exportar como QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Importar de CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "ficheiros HomeBank" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Selecionar de entre as transações possíveis..." #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Selecionar uma ação:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "criar nova transação" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "escolher uma transação existente" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "O HomeBank encontrou alguma transação que pode estar associada a uma " "transferência interna." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Opção:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Memo:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Info:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "_Sensível a maiúsculas e minúsculas" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Qualquer estado" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Qualquer Tipo" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Transferência" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Forçar:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "mostrar 'Adicionado'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "mostrar 'Editado'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Transação agendada" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "adicionar até" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "de cada mês (excluído)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "adicionar" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "dias em avanço da data atual" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Custo da viatura" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "Pa_gamento:" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Incapaz de mudar o nome\n" "do beneficiário \"%s\" para \"%s\",\n" "este nome já existe." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Gerir beneficiários" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Interface" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Transações" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Importar/Exportar" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Reportar" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Pré-definições do sistema" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Apenas ícones" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Só texto" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Texto por baixo dos ícones" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Texto ao lado dos ícones" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango claro" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango médio" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango escuro" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "m-d-a" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "d-m-a" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "a-m-d" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Ignorar" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Juntar à info" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Juntar ao memo" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Idioma do Sistema" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Escolha um diretório de ficheiro HomeBank por omissão" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Escolha um diretório de impotação por omissão" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Escolha um diretório de exportação por omissão" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "Opções OFX/QFX" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Fitro inicial" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Opções de gráficos" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Opções de estatísticas" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Mostrar por _quantia" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Mostrar _coluna da taxa" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Mostrar _detalhes" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Opções de orçamento" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Ativar" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Pré-definido:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Idioma:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Ano fiscal" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "Começa _em:" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Unidades de medida" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Utilizar _milhas para medição" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Janela de transações" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Adição múltipla" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Manter última data" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "Barra de Ferramen_tas:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Número de cores" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Utilizar cores personalizadas" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "D_espesas:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "Rece_itas:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Aviso:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Importar:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Exportar:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Arranque do programa" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Mostrar ecrã inicial" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Carregar o último ficheiro aberto" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Introduzir transações agendadas em espera" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Relatórios da janela principal" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Preferências" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "Terá que reiniciar o HomeBank\n" "para aplicar as alterações." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Valor da transação:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Não atríbuida:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Soma das partes:" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Pretende cancelar a transferência interna?\n" "\n" "Se continuar eliminará a transação de destino." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Adicionar transacção" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Herdar transacção" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Data:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "M_emo:" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Incluir" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Excluir" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(sem tipo)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Dinheiro" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Ativo" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Cartão de crédito" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Passivo" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Últimos 30 dias" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Últimos 60 dias" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Últimos 90 dias" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Últimos 12 meses" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Todas as datas" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Possível" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Antes" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "Depois" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Não reconciliado" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Sem categoria" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Janeiro" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Fevereiro" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Março" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Abril" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Junho" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Julho" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Agosto" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Setembro" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Outubro" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Novembro" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Dezembro" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Set" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Cheque" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Cartão de débito" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Ordem permanente" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Pagamento electrónico" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Depósito" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "Taxa FI" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Débito Directo" homebank-5.3.2/po/uk.po0000644000175000017500000026072313620025327011635 00000000000000# Ukrainian translation for homebank # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2020-02-02 19:07+0000\n" "Last-Translator: Roma \n" "Language-Team: Ukrainian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Відкрити фільтр переліку" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Особисті фінанси" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Безкоштовна, проста бухгалтерія для кожного" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "HomeBank безкоштовне програмне забезпечення яке допоможе вести домашню " "бухгалтерію" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "Це просте програмне забезпечення, яке допоможе вам проаналізувати ваші " "прибутки та витрати за допомогою потужних фільтрів та будувати красиві " "графіки." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Якщо ви шукаєте абсолютно безкоштовний і простий спосіб управління домашньою " "бухгалтерією, тоді HomeBank це саме те що вам потрібно." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "Подібна группа транзакцій %d вже існує" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "Жодної подібної транзакції не знайдено!" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "Перевірте внутрішній результат передачі" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "Невідповідності не знайдено!" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "Була знайдена невідповідність %d\n" "ви хочете її змінити?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Сума кожної операції буде розділена на %.6f." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Конвертувати рахунок в евро,\n" "як в основну валюту?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Конвертувати" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Операцію не змінено" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "операція %d змінена" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "Автоматичний результат" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Ви хочете створити шаблон з\n" "обраних обраних?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "_Створити" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Ви хочете видалити\n" "вибрані операції?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_Видалити" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Ви впевнені, що хочете змінити статус на \"Немає статусу\"?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "Якась з вибраних операцій вже має статус \"Врегульована\"" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Змінити" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Ви впевнені, що хочете змінити статус на \"Врегульована\"?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_Змінити" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "%d операцій" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d операцій, %d вибраних, середнє: %s, сума: %s (%s - %s)" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "_Обліковий запис" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Експортувати в QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Експортувати в CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "Експортувати в PDF..." #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Закрити" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Зміни" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "Копіювати" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "Вставити" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "Вставити (сьогодні)" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Транзак_ція" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Додати..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Успадкувати" #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Правка..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Стан" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Жоден" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "_Очистити" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Врегульовано" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "_Масова правка..." #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Створити шаблон..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Видалити..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "_Знайти" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Інструменти..." #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "Відмітити як дублікат..." #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "Перевірка внутрішнього переказу" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "Авто призначення" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Фільтр..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Конвертувати у евро..." #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Додати нову операцію" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Створити" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Успадкувати з активної операції" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Успадкувати" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Редагувати операцію" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Редагувати" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "Змінити статус на \"Очищено\" для вибраних опарацій" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "Змінити статус на \"Врегульовано\" для вибраних опарацій" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Редагувати операції" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Створити шаблон" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Видалити вибрані операції" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "Пермістити операцію вгору" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "Пермістити операцію вниз" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "(зачинено)" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "Усі операції" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "_Оновити" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Діапазон:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "Показати майбутні операції" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Тип:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Стан:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_ За замовчуванням" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Банк:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Сьогодні:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Майбутнє:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Відновити операції з останнього збереженого '%s'?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "- Зміни які були зроблені у файлі будуть втрачені\n" "- Буде завантажений останній збережений файл (.xhb~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Відновити" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Ви впевнені, що хочете анонімізувати файл?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Процедура анонімізує будь який текст,\n" "наприклад: рахунок, одержувач платежу, коментарі" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Анонімізувати" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Ласкаво просимо в HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Що ви хочете зробити:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Читати посібник Bank _Manual" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "Налаштування _параметрів" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Створити файл" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Відкрити файл" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Відкрити файл з прикладом" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" "Ви збираєтесь відкрити резервну копію '%s'.\n" "Ви впевнені в цьому?" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "Відкрити резервну копію файла?" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "_Відкрити резервну копію" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Neznámá chyba" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "Помилка вводу/виводу для файлу '%s'." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Не припустимий файл '%s' для HomeBank." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "Файл '%s' був збережений новішою версією HomeBank\n" "і не може бути завантажений поточною версією." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Помилка файлу" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "Файл було змінено з підчас роботи з ним." #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Якщо Ви збережете його, усі зовнішні зміни будуть втрачені. Зберегти?" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "З_берегти попри все" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "Ясно" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Файл" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Новий" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Відкрити..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "Відкрити _нещодавнє" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Зберегти" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "Зберегти _як..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "Імпорт..." #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "Експортува у QIF..." #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Скасувати" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "Відновити з резервної копії" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Властивості…" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Вихід" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Налаштування..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Перегляд" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "Панель інструментів" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_Рейтинг витрат" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Управління" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "Ра_хунки..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Отримувачі" #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Категорії..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Заплановані/Шаблони" #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Бюджет..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "Бюджет (таблиця)" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Призначення" #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Валюти..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "Теги..." #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Операції" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Додати..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Відобразити..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "Відобразити все" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Налаштувати планувальник" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Опублікувати усі заплановані заплановані" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Звіти" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Статистика" #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Часова Тенденція..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "_Баланс..." #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "Б_юджет" #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "Вартість авто..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Показувати діалог привітання..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Статистика файла..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Анонімні..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Довідка" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Зміст" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "Отримати онлайн-довідку..." #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "Перевірити оновлення..." #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "Відомості про реліз" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Звітувати про проблему..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Перекласти цю програму" #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_Про програму" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Створити новий файл" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Відкрити" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Відкрити файл" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Відкрити нещодавній файл" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Зберегти поточний файл" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Налаштувати рахунки" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Налаштувати отримувачів" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Налаштувати категорії" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Налаштування запланованого/шаблонів" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Налаштувати бюджет" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Налаштувати автоматичні призначення" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Відобразити транзакції по рахункам" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Додати операцію" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Відкрити звіт статистики" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Відкрити звіт Часової Тенденції" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Відкрити звіт Балансу" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Відкрити звіт бюджету" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Відкрити звіт вартості авто" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "Пожертвувати проекту HomeBank" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "Заплановаті" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Майбутні" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "Нагадати" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(без категорії)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "пошкоджений CSV" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Дата" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Відомості" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Отримувач" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Коментар" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Сума" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Баланс" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Невідомий" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f л" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "км/л" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "миль/л" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(нема отримувача)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "%d-Т%d" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "%d-К%d" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Показати інформацію про версію та вийти" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[ФАЙЛ]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Помилка перегляду." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Неможливо відобразити URL '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Налаштування HomeBank" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Не вдається відкрити «%s», файл не існує.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(без установи)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "(без групи)" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Ваші рахунки" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Розгорнути все" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Згорнути все" #: ../src/hub-account.c:547 msgid "Show all" msgstr "Показати все" #: ../src/hub-account.c:552 msgid "By type" msgstr "За типом" #: ../src/hub-account.c:553 msgid "By group" msgstr "За групою" #: ../src/hub-account.c:554 msgid "By institution" msgstr "По установам" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Немає операції щоб додати" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "операція додана: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Перевірте заплановані операції" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Всього" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Заплановані операції" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Змінити та Опублікувати" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Опублікувати" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "максимальна дата повідомлення" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Найбільші витрати" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "Найбільші %d витрати" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Інший" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Куди йдуть ваші гроші" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "Імпортовані рахунки" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Загальний підсумок" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Банк" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Сьогодні" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- розбити -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "- вкажіть категорію -" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Рахунок" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Статус" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Витрати" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Прибуток" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Категорія" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Теги" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Пізніше" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "Нерухомо" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Наступна дата" #: ../src/rep-balance.c:76 msgid "List" msgstr "Список" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Відобразити у вигляді списку" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Лінійна" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Відобразити у вигляді рядка" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Оновити" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Оновити результати" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Деталі" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Показати детальніше" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d за %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Балансовий звіт" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Відобразити" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "_Рахунок:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Вибрати _все" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Кожен _день" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Збільшення X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Фільтрувати по даті" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Від:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Кому:" #: ../src/rep-budget.c:787 msgid " over" msgstr " над" #: ../src/rep-budget.c:793 msgid " left" msgstr " залишилось" #: ../src/rep-budget.c:796 msgid " under" msgstr " під" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "Бюджет для %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Бюджет" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Результат" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "Відобразити у вигляді стекової діаграми" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "_Результат у буфер обміну" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "_Результат у CSV" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "_Деталі у буфер обміну" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "_Деталі у CSV" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Звіт по бюджету" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Перегляд по" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "Тільки які не входять у бюджет" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Результат:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Бюджет:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Витрачено:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Жоден рахунок не описано як частину бюджету." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "Вам потрібно включити рахунки у Діалозі рахунків." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Витрачено" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Підкатегорія" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Тег" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Місяць" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Рік" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Витрати та Прибутки" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s у виконанні %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "Забагато стовпців для відображення" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "Виберіть більш широкий інтервал та / або більш вузький діапазон дат" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "Переглянути результати у стовпчиковій діаграмі" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "Переглянути результати у круговій діаграмі" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Увімкнути пояснення" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Відобразити у відсотках" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "Редагувати фільтр" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Статистичний Звіт" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "Режим:" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "По _сумі" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "Інтер_вал:" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Баланс:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Прибуток:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Витрата:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "Середнє" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "День" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Тиждень" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Квартал" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "Півроку" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s з часом" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "Середнє: %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Тенденція з часом" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Категорія:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Отримувач:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Тег:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Акумулюючий" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "Показувати порожні рядки" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Часовий зріз" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Лічильник" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Пальне" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Ціна" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Відст.:" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Експортувати як CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Звіт видатків на авто" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "Авто_мобіль:" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Лічильник:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Споживання:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Вартість палива:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Вартість інше:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Загальна вартість:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(немає імені)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Видимий" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Скасувати" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_ОК" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Назва рахунку" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Помилка" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Не можливо додати рахунок '%s',\n" "така назва вже зайнята." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "Не можливо видалити рахунок '%s'" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "Цей рахунок містить операції та/або є частиною внутрішніх переказів." #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Ви впевнені, що хочете остаточно видалити '%s'?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "Якщо ви видалите рахунок, він буде назавжди втрачений." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Не можу перейменувати цей Рахунок,\n" "з '%s' на '%s',\n" "ця назва вже використовується." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Керування рахунками" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "Змінити назву" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "Видалити" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Перетягніть, щоб змінити порядок\n" "Двічі клацніть для перейменування" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Основне" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "_Група:" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "_Установа:" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "_Число:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Початковий _баланс:" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "_Валюта:" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "рахунок _закритий" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "Примітки:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "Поведінка" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "Автоматизація" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "_Шаблон за замовчуванням:" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Виключити з звіту" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "виключити з звіту по рахунку" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "виключити з _бюджету" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "виключити зі віх _звітів" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "Різне" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Поточний номер чека" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Чекова книжка_1:" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Чекова книжка_2:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "Обмеження балансу" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "Овердрафт:" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" "Якщо ви видалите заплановане/шаблон, він буде втрачений безповоротно." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Наступна _дата:" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Періодичність:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "Додаткові параметри" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Вихідні:" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_Зупинити після" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "записи" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Управління розкладом/шаблоном операцій" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "_Розклад" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Керування підтвердженнями" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Пла_тіж:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Не знайдено" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "В_ласник:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Мови:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Занадий файл:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Ініціалізувати мої категорії з цим файлом" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Задані категорії" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Назва:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Перевитрати" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Створити рахунок" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "Це сторінка підтвердження, натисніть 'Застосувати' для внесення змін" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Підтвердження" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "Файли QIF" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX файли" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV файли" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Усі файли" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Всі" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Жодного" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Інвертувати" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "день;дні;днів" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Співпадіння сортується: по рахунку, сумі і даті.\n" "Допустима дата 0 днів означає точне співпадіння" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Помилка формату файлу" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Управління бюджетом" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Примусово слідкувати за цією категорією" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Січ" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Лют" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Бер" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Квіт." #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Травень" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Чер" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Лип" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Сер" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Жов" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Лис" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Груд." #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Прибуток" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Неможливо перейменувати цю Категорію,\n" "з '%s' до '%s',\n" "вказана ім'я уже існує." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Керування категоріями." #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Цифр після коми:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Експортувати у файл QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Імпортувати з CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "Файли HomeBank" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Опція" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Інфо:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "З урахуванням _регістру" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Перенесення" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Причина:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "показати 'Доданий'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "показати 'Відредагований'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Вартість авто" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Неможливо перейменувати цього Отримувача,\n" "з '%s' до '%s',\n" "вказана ім'я уже існує." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Керування Отримувачами" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Зовнішній вигляд" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "" #: ../src/ui-pref.c:89 msgid "Report" msgstr "" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Системні налаштування за замовчуванням" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Лише значки" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Лише текст" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Текст під значками" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Текст поруч зі значками" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Танго (світлий)" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Танго (середній)" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Танго (темний)" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Ігнорувати" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Выдображати за кількістю" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Показувати стовбчик _rate" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Відобразити детально" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Увімкнути" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Шаблон:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Панель інструментів" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Використовує вказані користувачем кольори" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Витрата:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Прибуток:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Попередження:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Імпорт:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Експорт:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Завантажити файл, який відкривався останнім" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Налаштування" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Додати транзакцію" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Успадкувати транзакцію" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Дата:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Включити" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Виключити" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(без типу)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Готівка" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Активи" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Кредитна картка" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Заборгованість" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Остатніх 30 днів" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Останні 12 місяців" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Вся дата" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "січень" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Лютий" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Березень" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Квітень" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Червень" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Липень" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Серпень" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Вересень" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Жовтень" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Листопад" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Грудень" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Вер" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Перевірити" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Дебет катртка" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Платіжне доручення" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Електронний платіж" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Депозит" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "FI гонорар" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "" homebank-5.3.2/po/ckb.po0000644000175000017500000023367513620025360011760 00000000000000# Kurdish (Sorani) translation for homebank # Copyright (c) 2017 Rosetta Contributors and Canonical Ltd 2017 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2017. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2017-02-27 12:37+0000\n" "Last-Translator: soran abdulrahman \n" "Language-Team: Kurdish (Sorani) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:53+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "ماڵەبانک" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "خۆڕایی، ئاسان ، ژمێریاری تاکەکەسی بۆ هەمووان" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "ماڵەبانک نەرماڵەیەکی خۆڕاییە (کە وەکو \"free speech\" و \"free beer\" ) " "یارمەتیت دەدا بۆ بەڕێوەبردنی کاروباریە ژمێریاری و داراییەکانت." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "+گۆڕین" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_سڕینەوە" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_گۆڕین" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "هەژمار" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "" #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "هەناردەکردنی CSV" #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_داخستن" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_ڕێکخستن" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "مامەڵە" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_زیادکردن..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "" #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_ڕێکخستن" #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_ڕەوش" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_هیچ" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "_پاککرایەوە" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "دروستکردنی ڕووکار..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_سڕینەوە..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_ئامرازەکان" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "" #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "گۆڕین بۆ یۆرۆ..." #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "زیادکردن" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "ڕێکخستن" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "دروستکردنی ڕووکار" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "_نوێکردنەوە" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_جۆر:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_ڕەوش" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "بانک:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "ئەمڕۆ:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "داهاتوو:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "گێڕانەوە" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "دڵنیای دەتەوێ پەڕگەکە بێ سەرچاوە بکەی؟" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "بەخێرهاتی بۆ ماڵەبانک" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "دەتەوێ چی بکەی:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "دروستکردنی پەڕگەی _نوێ" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "پەڕگە هەڵەیە" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_پەڕگە" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_نوێ" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_کردنەوە..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_هەڵگرتن" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "هەڵگرتن_وەک..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "گێراندنەوە" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "ڕێکخستنەکان..." #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_دەرچوون" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "ڕێکخستنەکان..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_بینین" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_ئامراز" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_بەڕێوەبردن" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "هەژمارەکان" #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "هاوپۆلەکان..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "" #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "" #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "دراوەکان..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_مامەڵەکان" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "زیادکردن" #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "نیشاندان..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_ڕاپۆرتەکان" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_ئامارەکان..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "" #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "" #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "تێچووی ئۆتۆمبێل" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "نیشاندانی پەنجەرەی پێشوازی" #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "پەڕگەی ئامارەکان..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_یارمەتی" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_ناوەڕۆک" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "ڕاپۆرت بدە هەڵەیەک هەیە..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "وەرگێڕانی ئەم نەرماڵەیە..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_دەربارە" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "دروستکردنی پەڕگەی نوێ" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_کردنەوە" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "کردنەوەی پەڕگە" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "هەڵگرتنی پەڕگەی بەردەست" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "ڕێکخستنی هاوپۆلەکان" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "نیشاندانی هەژماری مامەڵەی هەڵبژێردراو" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "زیادکردنی مامەڵە" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "کردنەوەی ڕاپۆرتی ئامارەکان" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "کردنەوەی ڕاپۆرتی تێچووی ئۆتۆمبێل" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "داهاتوو" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "بیرهێنەرەوە" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "بەروار" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "زانیاری" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "بڕ" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "نەزانراو" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "کیلۆمەتر\\لتر" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "میل\\لتر" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "" #: ../src/homebank.c:255 msgid "Browser error." msgstr "هەڵەی وێبگەڕ" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "هەژمارەکانی تۆ" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:547 msgid "Show all" msgstr "نیشاندانی هەموو" #: ../src/hub-account.c:552 msgid "By type" msgstr "بەپێی جۆر" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "هیچ مامەڵەیەک نیە بۆ زیادکردن" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "مامەڵەکە زیادکرا : %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "سەرجەم" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "بیپەڕێنە" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "ڕێکخستن و بڵاوکردنەوە" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "بڵاوکردنەوە" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "ئەوانی تر" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "پارەکانت بۆ کوێ دەچن" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "ئەمڕۆ" #: ../src/list-operation.c:548 msgid "- split -" msgstr "" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "هەژمار" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "ڕەوش" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "دەستکەوت" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "هاوپۆل" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "نیشانکردن" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "بەرواری داهاتوو" #: ../src/rep-balance.c:76 msgid "List" msgstr "لیست" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "دەرئەنجامەکان بەشێوەی لیست نیشان بدە" #: ../src/rep-balance.c:77 msgid "Line" msgstr "هێڵ" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "دەرئەنجامەکان بەشیوەی هێڵ نیشان بدە" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "نوێکردنەوە" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "نوێکردنەوەی دەرئەنجامەکان" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "زانیاری تەواو" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "نیشاندان" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "دیاریکردنی_هەموو" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "هەموو_ڕۆژێک" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_لە:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_بۆ:" #: ../src/rep-budget.c:787 msgid " over" msgstr "" #: ../src/rep-budget.c:793 msgid " left" msgstr "" #: ../src/rep-budget.c:796 msgid " under" msgstr "" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "دەرئەنجام" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_نیشاندان بەپێی:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "دەرئەنجام:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "بەکارهاتوو:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "بەکارهێنراو" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "هاوپۆلی لاوەکی" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "نیشان" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "مانگ" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "ساڵ" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s له‌ لایەن %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "نیشاندانی دەرئەنجام بەشێوەی ستوون" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "بەپێی_بڕ:" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "دەستهاتوو:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "بەکارهاتوو:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "ڕۆژ" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "هەفتە" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_هاوپۆل:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_نیشان:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "بەنزین" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "نرخ" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "دووری" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "هەناردەکردن بەشێوەی CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "ڕاپۆرتی تێچووی ئۆتۆمبێل" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "تێچووی بەنزین:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "تیچووی شتی تر:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "تێچووی گشتی:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(هیچ)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "دیار" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_پاشگەزبونەوە" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_باشە" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "ناوی هەژمار" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "هەڵە" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "بەرێوەبردنی هەژمارەکان" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "گشتی" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "_دراو:" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "تێبینییەکان:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "ناچالاککراو" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "ئەگەر بەتاڵ بوو" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "مەرج" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "دراو:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "ڕێکخستنەکانی پەڕگە" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "زمانەکان:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_ناو:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "دروستکردنی هەژمار" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "ناو" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "پەڕگە ناسراوەکان" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "پەڕگەی QIF" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "هەموو پەڕگەکان" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "هەموو" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "هیچ" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "ڕۆژ" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "بەخێرهاتی" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "هاوردەکردن" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "_پاککردنەوە" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "هەڵبژاردەکان" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "ئایار" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "یەکخستن" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "سڕینەوەی هاوپۆلە بەکارنەهاتووەکان" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "دەستکاری..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_دەستهاتوو" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "بەڕێوەبردنی هاوپۆلەکان" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "_سڕینەوەی بەکارنەهاتووەکان" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "هاوپۆلی نوێ" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "هاوپۆلی لاوەکی نوێ" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "دراوی بنەڕەتی" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "هێما" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "دەستکاری دراو" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "دراو" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "شێواز" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "_هێما:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "دراوێک هەڵبژێرە" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "نوێکردنەوە" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "دراوی بنەڕەتی هەڵبژێرە" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "داخستن_بەبێ هەڵگرتن" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_هەڵبژاردە:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_زانیاری:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "هەر ڕەوشێک" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "پاککرایەوە" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "گواستنەوە" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "زیاد بکە" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "تێچووی ئۆتۆمبێل" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "مامەڵە" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "" #: ../src/ui-pref.c:89 msgid "Report" msgstr "" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "وادانراوەکانی سیستەم" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "تەنها وێنۆچکە" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "تەنها دەق" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "دەق لەژێر وێنۆچکە" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "دەق لەتەنیشت وێنۆچکە" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "ئاسۆیی" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "ستوونی" #: ../src/ui-pref.c:109 msgid "Both" msgstr "هەردووک" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "ڕێکخستنەکانی ئامار" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "نیشاندان بەپێی _بڕ" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_چالاککردن" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_زمان:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_دەستهاتوو:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "بڕی مامەڵە" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "_زیادکردن" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "زیادکردنی مامەڵە" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_بەروار:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "ڕووکار" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(هیچ جۆرێک)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "ئەم مانگە" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "مانگی ڕابردوو" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "ئەم ساڵ" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "ساڵی ڕابردوو" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "٣٠ ڕۆژی پێشوو" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "٦٠ ڕۆژی ڕابردوو" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "٩٠ ڕۆژی ڕابردوو" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "١٢ مانگی ڕابردوو" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "هەموو بەروارەکان" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "بەرلەوە" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "دواتر" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "کانونی دووەم" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "شوبات" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "ئازار" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "نیسان" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "حوزه‌یران" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "ته‌مموز" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "ئاب" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "ئه‌یلول" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "تشرینی یه‌كه‌م" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "تشرینی دووه‌م" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "كانونی یه‌كه‌م" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "گەڕان..." #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "پشکنین" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "" homebank-5.3.2/po/is.po0000644000175000017500000023041213620025321011613 00000000000000# Icelandic translation for homebank # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2007. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2012-02-14 11:43+0000\n" "Last-Translator: Rúnar Freyr Þorsteinsson \n" "Language-Team: Icelandic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "Heimabanki" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Engum færslum breytt" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Viltu eyða\n" "völdum færslum ?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "" #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Útflytja CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Loka" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Breyta" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Færs_la" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Bæta við..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Erfa..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Breyta..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "" #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Tól" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Sía..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Bæta við nýrri færslu" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Bæta við" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Erfa frá virkri færslu" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Erfa" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Breyta virkri færslu" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Breyta" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Drægni:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Gerð:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Opna listasíuna" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Banki:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Í dag:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Framtíðinni:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Velkomin(n) í HeimaBankann" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Hvað viltu gera:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Opna _sýnishorna skrá" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Skráarvilla" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Skrá" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Nýtt" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Opna..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "Vi_sta" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Afturkalla" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Hætta" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Stillingar" #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Skoða" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Tækjastika" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Sýsla" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "Rei_kningar" #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "Greiðendur..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Flokkar..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Eyðsluáætlun..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Gildingar..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Færslur" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Bæta við..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Sýna..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Skýrslur" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Tölulegar upplýsingar..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Hneigðar Tími..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "E_yðsluáætlun..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "sýna velkomin svarglugga..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Hjálp" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Innihald" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Tilkynna vandamál..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Þýða þennan hugbúnað..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_Um" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Opna skrá" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Opna fyrrum opnaða skrá" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Sýsla með reikninga" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Sýsla með greiðendur" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Sýsla með flokka" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Sýsla með eyðsluáætlun" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Samskipa sjálfvirkri gildingu" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Sýnir valdar reikningsfærslur" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Opna skýrslu yfir tölulegar upplýsingar" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Opna skýrslu yfir Hneigðar tíma" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Opna skýrslu um eyðsluáætlun" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Framtíð" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Dagsetning" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Upplýsingar" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Greiðandi" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Upphæð" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Staða" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Úttaka upplýsingar um útgáfu og hætta" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[SKRÁ]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Gat ekki birt vefslóðina '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Stillingar HeimaBanka" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Get ekki opnað '%s', skráin er ekki til\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Samtals" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Banki" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Í dag" #: ../src/list-operation.c:548 msgid "- split -" msgstr "" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Reikningur" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Útgjöld" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Innkoma" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Flokkur" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Merki" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "" #: ../src/rep-balance.c:76 msgid "List" msgstr "Listi" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Skoða niðurstöður sem lista" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Lína" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Skoða niðurstöður sem línur" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Endurhlaða" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Endurhlaða niðurstöðum" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Upplýsingar" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Víxla upplýsingum" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d undir %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "R_eikningur:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Velja _allt" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Hvern _dag" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Þysja X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Frá:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Til:" #: ../src/rep-budget.c:787 msgid " over" msgstr "" #: ../src/rep-budget.c:793 msgid " left" msgstr "" #: ../src/rep-budget.c:796 msgid " under" msgstr "" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Eyðsluáætlun" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Niðurstaða" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Skýrsla yfir kostnaðaráætlun" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Skoðað af:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Eyðsluáætlun:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Eyðsla:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Eyðsla" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Undirflokkur" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Merki" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Mánuður" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Ár" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Víxla skýringum" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Víxla hlutfalli" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "tölfræðileg skýrsla" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Eftir _upphæð" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Staða:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Innkoma" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Útgjöld" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Dagur" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Vika" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Fjórðungur" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Tímaskýrsla yfir hneigð" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Flokkur" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Greiðandi" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Merkja:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Safna saman" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Tíma sneið" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Mælir" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Bensín" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Verð" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Vegalengd" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Útflytja sem CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Skýrsla yfir kostnað ökutækis" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "Ökutæki:" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Mælir:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Eyðsla:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Bensínkostnaður" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Annar kostnaður:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Heildarkostnaður:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(ekkert)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Sýnilegt" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Villa" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Get ekki endurskýrt þennan reikning,\n" "úr '%s' í '%s',\n" "nafnið er þegar til." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Stjórna reikningum" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Almennt" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "N_úmer:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Hver_t" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Stjórna Úthlutun" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Grei_ðsla" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Fannst ekki" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Eigandi:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Tungumál" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Forstilla skrá" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Forsníða flokkana mína með þessari skrá" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Forstilla flokka" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Nafn:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Upphaf:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Yfirdráttur á:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Stofna reikning" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Þetta er staðfestingarsíða, veldu \"staðfesta\" til að staðfesta breytingar" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Staðfesting" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF skrár" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX skrár" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV skrár" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Allar skrár" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Allt" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Engin" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Umhverfa" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "dagar" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Pörunin er gerð í röð: eftir reikning, upphæð og dagsetningu.\n" "Þolvik dagsetninga upp á 0 daga þýðir nákvæm pörun" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Forsniðsvilla" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Stjórna Eyðsluáætlun" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Maí" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Jún" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Júl" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Ágú" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Okt" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Nóv" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Des" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Innkoma" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Ekki hægt að breyta þessum flokk,\n" "úr '%s' í '%s',\n" "Nafnið er þegar til." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Stjórna Flokkum" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Aukastafir:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Flytja út sem QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Flytja inn frá CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "HeimaBanka skrár" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Möguleikar:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Upplýsingar" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "Stafréttur" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Færsla" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Knýja" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "Sýna 'bætt við'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "Sýna 'breytt'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Ekki hægt að endurnefna þennan greiðanda,\n" "úr '%s' í '%s',\n" "þetta nafn er þegar til." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Stjórna Greiðendum" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Viðmót" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "" #: ../src/ui-pref.c:89 msgid "Report" msgstr "" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Sjálfgefnar kerfisstillingar" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Bara tákn" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Bara texti" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Texti undir táknum" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Texti við hliðina á táknum" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango ljós" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango millistig" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango dökkur" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Hunsa" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Flokka eftir_upphæð" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Sýna _tíðni dálk" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Sýna_upplýsingar" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Virkja" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Forstilla:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Tækjastika:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Nota breytta liti" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Útgjöld:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Innkoma:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Varúð:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Flytja inn:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Flytja út:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Opna síðustu skrá sem var opnuð" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Eiginleikar" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Bæta við færslu" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Erfa færslu" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Dagur:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Meðtaka" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Útiloka" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Reiðufé" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Eign" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Kreditkort" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Skuld" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Síðustu 30 dagar" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "12 síðustu mánuðir" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Allar dagsetningar" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Janúar" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Febrúar" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Mars" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Apríl" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Júní" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Júlí" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Ágúst" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "September" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Október" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Nóvember" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Desember" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Tékki" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Debit kort" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Fastapöntun" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Rafræn greiðsla" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Innlegg" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "" homebank-5.3.2/po/nl.po0000644000175000017500000025774713620025300011632 00000000000000# Dutch translation of HomeBank # Copyright (C) 2006 The Free Software Foundation, Inc. # This file is distributed under the same license as the HomeBank package. # Daniel van Eeden , 2006. # msgid "" msgstr "" "Project-Id-Version: 3.2alpha1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2020-01-17 11:13+0000\n" "Last-Translator: Roelf van Till \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" "Language: nl\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Persoonlijke boekhouding" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Gratis en eenvoudige persoonlijke boekhouding voor iedereen" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "financiën;boekhouding;budget;persoonlijk;geld;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "HomeBank is gratis software ( zoals in \"vrije meningsuiting\" en ook als in " "\"gratis bier\") om u te helpen uw persoonlijke boekhouding te beheren." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "Het is ontworpen voor gebruiksgemak en om uw financiën in detail te " "analyseren met krachtige filteropties en prachtige grafieken" #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Als u op zoek bent naar een volledig gratis en eenvoudige manier om uw " "persoonlijke boekhouding te doen, dan is HomeBank de software om dit te doen." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "Er is %d groep van soortgelijke transacties" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "Geen soortgelijke transactie werd gevonden !" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "Geen tegenstrijdigheden gevonden" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "Tegenstrijdigheid gevonden: %d" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Ieder transactiebedrag wordt gedeeld door %.6f." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Weet je zeker dat je voor dit account de\n" " Euro als hoofdvaluta wilt gebruiken?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Omzetten" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Geen gewijzigde transactie(s)" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "aangepaste transacties: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "Resultaat van automatische toekenning" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Wilt u een sjabloon maken van\n" "elke geselecteerde transactie?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "_Maken" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Wilt u de geselecteerde\n" "transactie(s) verwijderen?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_Verwijder" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Weet je zeker dat je de status wil veranderen in Geen?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "Sommige geselecteerde transacties zijn al Afgestemd" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Verander" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Weet je zeker dat je de status wil veranderen in Afgestemd?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "Omzetten" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "%d transacties" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d transacties,%d geselecteerd, avg: %s, som: %s (%s -%s)" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "A_ccount" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Exporteer QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Naar een CSV-bestand exporteren..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "Als pdf exporteren..." #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Sluiten" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Bewerken" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "Kopiëren" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "Plakken" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "Plakken (vandaag)" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "_Transactie" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Toevoegen..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Overnemen..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Bewerken..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Status" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Geen" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "_Vrijgegeven" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Afgestemd" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "Bewerk meerdere regels tegelijk..." #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Creëer een sjabloon" #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Verwijderen…" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "_Zoeken" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Gereedschappen" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "Markeer duplicaat..." #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "Controleer interne overboeking" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "Automatische toewijzingen" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filter..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Converteer naar Euro" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Voeg een nieuwe transactie toe" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Voeg toe" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Neem over van de actieve transactie" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Overnemen" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Wijzig de geselecteerde transactie(s)" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Bewerken" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "Verander Status vrijgegeven van de geselecteerde transactie(s)" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "Verander Status afgestemd van de geselecteerde transactie(s)" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Wijzig meerdere transacties" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Maak sjabloon" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Verwijder de geslecteerde transactie(s)" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "Verplaats transactie omhoog" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "Verplaats transactie omlaag" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "(gesloten)" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "Alle transacties" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "_Vernieuw" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Bereik:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "Toon toekomstige transactie" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Type:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_Vernieuw" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Open de filterlijst" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "Euro _minor" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Bank:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Vandaag:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Toekomst:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Draai niet opgeslagen veranderingen van bestand '%s' terug?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "- Gemaakte veranderingen in het bestand gaan definitief verloren\n" "- Het laatst opgeslagen bestand wordt opnieuw ingeladen (.xhb~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Ongedaan maken" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Weet u zeker dat u het bestand wilt anonimiseren?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Doorgaan zal alle tekst anoinimiseren\n" "zoals 'account x'. 'tegenrekening_y\", 'memo_z', ..." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Anonimiseer" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Welkom bij HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Wat wilt u doen:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Lees de HomeBank_handleiding" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "Configureer _Voorkeuren" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Creëer een _nieuw bestand" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Open een bestaand bestand" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Open het _voorbeeldbestand" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" "Je staat op het punt reservekopie '%s' te openen.\n" "\n" "Weet je het zeker?" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "Back-upbestand openen ?" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "_Open reservekopie" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Onbekende foutmelding" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "I/O fout voor het bestand '%s'" #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Het bestand '%s' is geen geldig HomeBank bestand." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "Het bestand '%s' is opgeslagen in een nieuwere versie van HomeBank\n" "en kan niet geladen worden in de huidige versie." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Bestandsfout" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "Het bestand is gewijzigd sinds het gelezen is." #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Als u het opslaat kunnen alle externe wijzigingen verloren gaan. Toch " "opslaan?" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "Toch opsl_aan" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Bestand" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Nieuw" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Openen..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "Open _recent" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Opslaan" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "Opslaan _Als..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "Importeren..." #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "Exporteren als QIF..." #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Herstellen" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "Backup terugzetten" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Eigenschappen..." #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Afsluiten" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Instellingen..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Beeld" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Werkbalk" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_Top uitgaven" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro alternatief" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Beheren" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "Rek_eningen..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Begunstigden..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Categorieën..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Geplande/Sjabloon..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Budget" #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Toewijzingen..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Valuta" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Transactie(s)" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Voeg toe..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Weergeven…" #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "Toon alles..." #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Planner instellen..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Boek geplande transacties" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Rapporten" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Statistieken..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Evolutie over Tijd" #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "B_egroting..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "_Kosten voor een voertuig..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Toon het welkomstscherm..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Bestand gegevens..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Anoniem maken..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Help" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Inhoud" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "Zoeken naar updates..." #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "Versie-informatie" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Meld een probleem..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Vertaal deze Toepassing..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_Over" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Een nieuw bestand aanmaken" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Openen" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Een bestand openen" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Open een recent gebruikt bestand" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Huidig bestand opslaan" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Configureer de rekeningen" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Configureer de begunstigden" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Configureer de categorieën" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Configureer de geplande/sjabloon transactie(s)" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Aanpassen van het budget" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Configureer de automatische toewijzingen" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Toon de geselecteerde rekeningtransactie(s)" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Voeg transacties toe" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Open het Statistiekenrapport" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Open het Evolutie over Tijd rapport" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Open het Balansrapport" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Open het budgetrapport" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Open het voertuigkosten rapport" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "Doneer aan het Homebank project" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "Ingepland" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Toekomst" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "Herinnering" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(geen categorie)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "ongeldig CSV formaat" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Datum" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Informatie" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Begunstigde" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Memo" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Bedrag" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Balans" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Onbekend" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2fl" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "mi./l" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(geen begunstigde)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Toon versie-informatie en sluit af" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[BESTAND]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Fout in de browser" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Kan de URL niet weergeven: '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Homebank opties" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Kan '%s' niet openen, bestand bestaat niet.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(geen instelling)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Jouw accounts" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Alles uitklappen" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Alles inklappen" #: ../src/hub-account.c:547 msgid "Show all" msgstr "Toon alles" #: ../src/hub-account.c:552 msgid "By type" msgstr "Type" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Geen transactie(s) toe te voegen" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "Transactie(s) toegevoegd: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Bekijk het resultaat van de geplande transactie(s)" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Totaal" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Geplande transacties" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Overslaan" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Wijzigen en doorvoeren" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Boeking" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "boekingen meegenomen tot:" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Top uitgaven" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "Grootste %d uitgaven" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Andere" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Waar uw geld heen gaat" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "geïmporteerde rekening" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Eindtotaal" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Rekeningen" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Bank" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Vandaag" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- split -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Rekening" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Status" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Uitgave" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Inkomsten" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Categorie" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Labels" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Te laat" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Volgende datum" #: ../src/rep-balance.c:76 msgid "List" msgstr "Lijst" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Toon resultaten als lijst" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Regel" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Bekijk de resultaten als regels" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Vernieuwen" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Resultaten vernieuwen" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Detail" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Details aan/uit" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d onder %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Balansrapport" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Weergave" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "R_ekening" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "_Alles selecteren" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Elke _dag" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Zoom X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Datum filter" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Van:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Aan:" #: ../src/rep-budget.c:787 msgid " over" msgstr " boven" #: ../src/rep-budget.c:793 msgid " left" msgstr " overschot" #: ../src/rep-budget.c:796 msgid " under" msgstr " onder" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "Budget voor %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Budget" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Resultaat" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "Toon resultaten als staafgrafiek" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "_Resultaat op kladblok" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "_Resultaat naar CSV" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "_Details naar kladblok" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "_Details naar CSV" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Budgetrapport" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Toon volgens:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "alleen buiten budget" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Resultaat:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Budget:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Besteed:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Geen rekening is gespecifieerd om deel te nemen in het budget." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "Voeg rekeningen toe uit het rekeningenoverzicht" #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Besteed" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Subcategorie" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Label" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Maand" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Jaar" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Uitgaven & Inkomsten" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s door %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "Toon resultaten als staaf" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "Toon resultaten als cirkel" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Legende aan/uit" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Wisselkoers aan/uit" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "Filter bewerken" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Statistiekenrapport" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Volgens _bedrag" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Saldo:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Inkomsten:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Uitgaven:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Dag" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Week" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Kwartaal" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s na verloop van tijd" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "Gemiddelde: %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Trend Tijd Rapport" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Categorie:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Begunstigde:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Tag:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Cumuleren" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Tijdsegment" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Meter" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Brandstof" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Prijs" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Afst." #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Exporteer als een CSV-bestand" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Rapport voor de voertuigkost" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "Voer_tuig" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Meter:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Verbruik:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Brandstofprijs:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Andere uitgaven:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Totale uitgaven:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(geen)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Zichtbaar" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Annuleren" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Rekeningnaam" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Fout" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Kan geen rekening met de naam '%s' toevoegen,\n" "deze naam bestaat al." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "Kan rekening '%s' niet verwijderen" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" "Deze rekening bevat transacties en/of is onderdeel van interne overboekingen." #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Weet je zeker dat '%s' definitief kan worden verwijderd?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "Als je een rekening verwijderd, zal het definitief verloren zijn." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Kan de rekening niet wijzigen\n" "van '%s' naar '%s',\n" "omdat deze naam reeds in gebruik is." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Rekeningen beheren" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Sleep om de volgorde te veranderen\n" "Dubbel-klik om te hernoemen" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Algemeen" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "N_ummer:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Begin _bedrag:" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "_Valuta:" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "deze rekening werd afgesloten" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "Opmerkingen:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "Standaard _Sjabloon" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Verslag uitsluiting" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "uitgesloten van het rekening_overzicht" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "uitgesloten van het budget" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "uitgesloten van elk rapport" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Huidig controle nummer" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Chequeboek _1:" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Chequeboek _2:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "Balsns limieten" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "Kaskrediet bij:" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" "Als je een sjabloon / planning verwijderd, is deze definitief verloren." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Volgende _datum:" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Elk_e:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Weekend:" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_Stop na:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "boekingen" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Beheer de geplande/sjabloon transacties" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "Als je een toewijzing verwijderd, is het definitief verloren." #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "Uitgeschakeld" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "Indien leeg" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "Overschrijven" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Opdrachten Beheren" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Voorwaarde" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Betaling" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Nieuwe HomeBank bestand (%d van %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Niet gevonden" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Eigenaar:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "Valuta:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Bestandseigenschappen" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "Systeem detectie" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Talen:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Vooraf ingesteld bestand:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Initialiseer mijn categorieën met deze file" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Vooringestelde categorieën" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "Informatie" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Naam:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Saldo" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Begin Saldo:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Debetsaldo op:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Maak een rekening aan" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Deze pagina is ter bevestiging, druk op 'Toepassen' om de wijzigingen toe te " "passen" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Bevestiging" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "Geldig" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Naam" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Bekende bestanden" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF-bestanden" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX-bestanden" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV-bestanden" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Alle bestanden" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "Nieuw globaal account" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "nieuw account" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "overgeslagen" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr ", %d van %d transacties" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" "Sommige datums kunnen niet omgezet worden. Gelieve de datumvolgorde te " "veranderen om verder te gaan." #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "Importeer %s in_:" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "Dit bestand" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "dit account" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" "Naam: %s\n" "Nummer: %s\n" "Bestand: %s\n" "Codering: %s" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "Transacties vanuit bank of kredietkaart importeren" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" "Met deze assistent zult u begeleid worden door de invoerprocedure van een of " "meerdere\n" "gedownloade uittreksels vanuit uw bank of kredietkaart, in de volgende " "formaten:" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" "Aanbevolen: .OFX of .QFX\n" "(Soms Money™ of Quicken™ genoemd)\n" "Ondersteund: .QIF\n" "(Gemeenschappelijk Quicken™ bestand)\n" "Alleen ervaren gebruikers: .CSV\n" "(formaat is eigen aan HomeBank, raadpleeg de documentatie)" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" "Geen wijzigingen zullen worden aangebracht totdat u op \"Toepassen\" klikt " "aan het einde van de assistent." #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "Dit bericht niet meer weergeven" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" "Er is te veel rekening in de bestanden die u hebt gekozen,\n" "gelieve de knop vorige te gebruiken om minder bestanden te kiezen." #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "Identificatie van doelrekening via naam of nummer mislukt." #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Datum volgorde:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "_Importeer memo's" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "_memo's met begunstigden omruilen" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "OFX _Naam:" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "OFX _Memo:" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "Selecteer:" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Alles" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Geen" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Omkeren" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "Zin _ casus memo/begunstigde" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "Gelijkaardige transactie in doelrekening (mogelijk duplicaat)" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "Datum _kloof:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "dagen" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "De overeenkomst gebeurt op basis van respectievelijk de rekening, het bedrag " "en de datum.\n" "Een datum tolerantie van 0 dagen betekent een exacte overeenkomst." #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "Welkom" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "Kies bestand(en)" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "Importeer" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Bestandsformaat fout" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" "Het CSV-bestand moet het juiste aantal kolommen hebben,\n" "gescheiden foor een puntkomma. Zie de helpinformatie voor meer details." #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "Weet je zeker dat je de invoer wilt wissen?" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "Als je doorgaat, wordt ieder bedrag op 0 gezet." #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "_Vrijgeven" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Beheer budget" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "_Import CSV" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "E_xport CSV" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "_Lege ingave" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Opties" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Verplicht het bewaken van deze categorie" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Maa" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Mei" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Aug" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Okt" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Dec" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Deze categorie is in gebruik.\n" "Iedere transactie van deze categorie wordt op (geen categorie) gezet." #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "_Verwijder de categorie '%s'" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "Samenvoegen" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "Verwijdere ongebruikte catagoriën" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Weet u zeker dat alle ongebruikte categorieën\n" "verwijderd moeten worden?" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "Bewerk..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Inkomsten" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Kan deze categorie niet hernoemen \n" "van '%s' naar '%s', \n" "omdat de nieuwe naam al in gebruik is." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "Categorie '%s' samenvoegen" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "Transacties toegewezen aan deze categorie, worden\n" "verplaatst naar de onderstaande geselecteerde categorie." #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Categorieën beheren" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "Verwijder ongebruikte" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "nieuwe categorie" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "nieuwe subcategorie" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Basisvaluta" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Symbool" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "Wisselkoers" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "Laatst gewijzigd" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Bewerk valuta" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "Valuta" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "Opmaak" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "_Aanpassen" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "_Symbool:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "Copy text \t Is pre_fix" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "_Decimaalscheider" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "Aantal decimalen:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "Duizendtalscheider" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Kies basisvaluta" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Selecteer valuta" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "ISO Code" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "Voeg eigen valuta toe" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "_ISO:" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "Pas online-fout aan" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "Verwijderde valuta is definitief weg..." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Pas basisvaluta aan" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" "Als u verdergaat worden de koersen van\n" "de valuta's op nu gezet. Vergeet niet deze aan te passen!" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Valuta" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "Update online" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "Gebruik als basis" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Bestand gegevens" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "Transactie" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "Taak" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "Bijwerken" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "Selecteer basisvaluta" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "Vanaf versie 5.1 kan HomeBank meerdere valuta's hanteren.\n" "Als valuta hieronder niet correct is, kunt u deze aanpassen:" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Exporteer als QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Importeer uit CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "Open HomBank bestand" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "HomeBank back-upbestand openen" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "Bewaar HomeBank bestand als" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "HomeBank bestanden" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "bestandsback-up" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "Alle back-ups" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "Opslaan van veranderingen voor afsluiten?" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Als je niet opslaat, zijn de veranderingen definitief verloren.\n" "Aantal veranderingen: %d." #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "Afsluiten _zonder opslaan" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "Als PDF exporteren" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "Als _pdf exporteren" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "Map" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "Kies een map" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "Bestandsnaam:" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Selecteer uit de mogelijke transacties..." #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Kies een actie:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "creër een nieuwe transactie" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "selecteer een bestaande transactie" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "HomeBank heeft transactie(s) gevonden die gelinkt kunnen worden aan " "transactie(s) voor een interne overboeking." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Optie:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Memo:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Informatie:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "_Hoofdlettergevoelig" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Iedere Status" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "Vrijgegeven" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "Afgestemd" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Elk Soort" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Overboeking" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Forceer:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "'Toegevoegd' weergeven" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "'Bewerkt' weergeven" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "'Herinnering' weergeven" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "Datums" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "Betalingen" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "Bedragen" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "Teksten" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "Categorieën" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "Begunstigden" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Geplande transactie" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "Toevoegen tot" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "van elke maand (exclusief)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "toevoegen" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "dag(en) voor de huidige datum" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Voertuigkosten" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "Verwijder niet-gebruikte begunstigde" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Weet u zeker dat u niet-gebruikte begunstigde \n" "definitief wilt verwijderen?" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "Standaard" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "_Betaling" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Kan de Begunstigde niet hernoemen\n" "van '%s' naar '%s',\n" "omdat de nieuwe naam al in gebruik is." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "Samenvoegen begunstigde '%s'" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Transacties toegewezen aan deze begunstigde, worden\n" "verplaatst naar de onderstaande geselecteerde begunstigde." #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "_Verwijder de begunstigde '%s'" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "Deze begunstigde is gebruikt.\n" "Iedere transactie van deze begunstigde wordt gezet op (geen begunstigde)" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Beheer begunstigden." #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "nieuwe begunstigde" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Interface" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "Land/taalinstellingen" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Transacties" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Importeren/Exporteren" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Rapport" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "back-up" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "Mappen" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Systeem standaarden" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Alleen pictogrammen" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Enkel tekst" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Tekst onder pictogrammen" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Tekst naast pictogrammen" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "Horizontaal" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "Vertikaal" #: ../src/ui-pref.c:109 msgid "Both" msgstr "Beiden" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango licht" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango halfdonker" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango donker" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "m-d-j" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "d-m-j" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "j-m-d" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Negeren" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Toevoegen aan Info" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Toevoegen aan Memo" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "Toevoegen aan begunstigden" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Systeem taal" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Kies een standaard Homebank bestandsmap" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Kies een standaard importeer map" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Kies een standaard exporteer map" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "OFX/QFX instellingen" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "QIF options" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Initiële Filter" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Instellingen grafieken" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "Kleurenschema:" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Instellingen statistieken" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Toon volgens _bedrag" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Toon _wisselkoers kolom" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Toon _details" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Instellingen budget" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Inschakelen" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Voorinstelling:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "Gebruikersinterface" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Taal:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "_datumweergave" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "Formaat:" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" "% afgekorte naam van de weekdag.\n" "% volledige naam van de weekdag.\n" "% b afgekorte maandnaam.\n" "% B volledige maandnaam.\n" "% c gepaste datum- en tijdweergave.\n" "% C eeuwnummer (het jaar gedeeld door 100 en afgekapt tot een geheel getal) " "als een decimaal getal [00-99].\n" "% d dag van de maand als een decimaal getal [01,31].\n" "% D hetzelfde als %m/%d/%y.\n" "% e dag van de maand als een decimaal getal [1,31]; een enkel cijfer wordt " "voorafgegaan door een spatie.\n" "% j dag van het jaar als een decimaal getal [001.366].\n" "% m maand als een decimaal getal [01,12].\n" "% p gepaste datumweergave.\n" "% y jaar zonder eeuw als een decimaal getal [00,99].\n" "% Y jaar met eeuw als een decimaal getal." #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Boekjaar" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "Begint _op" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Meeteenheden" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Gebruik _mijlen voor meter" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "Gebruik de gallon als brandstofeenheid" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Transactie venster" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "_Toekomst tonen:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "dagen op voorhand" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Meerdere toevoegen" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Behoud de laatste datum" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "Memo autoaangevuld" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "Actief" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "glijdende dagen" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Werkbalk:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "Rasterlijn" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Bedrag kleuren" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Gebruikt aangepaste kleuren" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Uitgave:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Inkomsten:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Waarschuwing:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "_Automatische back-ups inschakelen" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "_Aantal te bewaren back-ups:" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "back-upfrequentie is eenmaal per dag" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "_Portfeuilles:" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "Bestanden uitwisselen" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Importeren:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Exporteren:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Programma start" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Toon opstart scherm" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Laad laatst geopend bestand" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Nog te behandelen geplande transacties" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "Pas valuta online aan" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Hoofscherm rapporten" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "Alle voorkeuren herstellen" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" "Wilt u echt alle instellingen naar\n" "de oorspronkelijke waarden\n" "terugstellen?" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Voorkeuren" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "U dient Homebank te herstarten" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "Transactie splitsen" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "Toepassen" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "Annuleren" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Hoeveelheid van de transactie:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Niet toegewezen" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Som van de opsplitsing:" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Wilt u de interne overboeking onderbreken?\n" "\n" "Doorgaan zal de doeltransactie verwijderen." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "Laat ingepland zien" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "Toon _alle rekeningen" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "_Voeg toe" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "_Plaatsen" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Transactie toevoegen" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Transactie overnemen" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Datum:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "M_emo:" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "Waarschuwing: bedrag en teken van categorie komen niet overeen" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "Meerdere transacties bewerken" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "Sjabloon" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Inclusief" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Exclusief" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(geen soort)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Contant" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Activa" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Kredietkaart" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Verantwoordelijkheid" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "Deze maand" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "Vorige maand" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "Dit kwartaal" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "Vorig kwartaal" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "Dit jaar" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "Vorig jaar" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Afgelopen 30 dagen" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Afgelopen 60 dagen" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Afgelopen 90 dagen" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Afgelopen 12 maanden" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Alle data" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Mogelijk" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Voor" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "Na" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "Niet vrijgegeven" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Niet afgestemd" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Geen categorie" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Januari" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Februari" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Maart" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "April" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Juni" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Juli" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Augustus" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "September" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Oktober" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "November" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "December" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "Zoeken…" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Cheque" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Debetkaart" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Doorlopende opdracht" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Elektronische betaling" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Storting" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "Bankkosten" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Automatische Incasso" homebank-5.3.2/po/POTFILES.skip0000644000175000017500000000014512574600306012764 00000000000000# List of source files containing translatable strings. # Main application data/homebank.desktop.in homebank-5.3.2/po/gl.po0000644000175000017500000025615613620025316011623 00000000000000# Galician translation for homebank # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2007. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2018-08-26 15:01+0000\n" "Last-Translator: Miguel \n" "Language-Team: Galician \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Finanzas persoais" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Contabilidade persoal, libre e fácil para todos." #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "finanzas;contabilidade;orzamento;persoal;diñeiro" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "HomeBank é un software libre e gratuíto que lle axudará a xestionar a súa " "contabilidade persoal." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "Hai %d grupos de transaccións semellantes" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "Non se atopou ningunha transacción semellante !" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "Non hai inconsistencias!" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "Atopáronse %d inconsistencias\n" "Quere revisalas e correxilas?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "A cantidade de cada transacción dividirase por %.6f." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Está seguro de que quere converter esta conta \n" "a Euros como moeda principal?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Converter" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Non cambiou ningunha transacción" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "transacción cambiada: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "Resultado das asignacións automáticas" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Desexa crear un modelo con cada unha\n" "das transaccións seleccionadas?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Seguro que quere eliminar\n" "cada unha das transaccións seleccionadas?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_Eliminar" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Está vostede seguro que quere cambiar o estado a Ningún?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "Algunhas transaccións da súa selección xa estaban conciliadas." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Cambiar" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Está vostede seguro de cambiar o estado Conciliado?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_Cambiar" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "%d transaccións" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "_Conta" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Exportar QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Exportar CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "Exportar como PDF..." #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Pechar" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Editar" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Transacci_ón" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Engadir" #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Herdar" #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Editar..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Estado" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Ningunha" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "_Limpado" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Conciliado" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "Edición _múltiple" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Crear modelo..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Eliminar..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Ferramentas" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "Marcar duplicados..." #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "Autoasignacións" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filtro..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Converter a Euro..." #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Engadir unha nova transacción" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Engadir" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Herdar da transacción activa" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Herdar" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Editar a transacción activa" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Editar" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Editar múltiples transaccións" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Crear modelo" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Borrar transacción/s escollidas" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "(pechado)" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "Todas as transaccións" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "Actualiza_r" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "Intervalo" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Tipo:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "E_stado:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_Restablecer" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Abrir a lista de filtros" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Banco" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Hoxe:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Futuro:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Reverter os cambios non gardados no ficheiro %s?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "-Os cambios feitos no ficheiro perderanse definitivamente.\n" "-Cargarase o ficheiro gardado por última vez (.xhb~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Reverter" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Está seguro de que quere facer anónimo o ficheiro?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Procederase a facer anónimo calquera texto,\n" "como \"conta x\", \"beneficiario y\", \"concepto z\", ..." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "Facer _anónimo" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Benvido/a a HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Que quere facer:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Ler o _manual de HomeBank" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "Configurar _preferencias" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Crear un _novo ficheiro" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Abrir un ficheiro xa existente" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Abrir o ficheiro de _exemplo" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" "Vai abrir a copia de seguranza '%s'.\n" "\n" "Está seguro de que quere facer isto?" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "Abrir a copia de seguranza?" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "Abrir c_opia de seguranza" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Erro descoñecido" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "Erro de E/S do ficheiro '%s'." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "O ficheiro '%s' non é un ficheiro HomeBank correcto." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "O ficheiro '%s' foi gardado cunha versión máis nova de HomeBank\n" "e non se pode abrir con esta versión." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Erro de ficheiro" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "O ficheiro foi modificado dende que o leu." #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Se o garda, todos os cambios externos poderían perderse. Quere gardalo de " "todos os modos?" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "G_ardar de todos os modos" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Ficheiro" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Novo" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Abrir" #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "Abrir _Recente" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Gardar" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "G_ardar como..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "Importar..." #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "Exportar como QIF..." #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Reverter" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "Restaurar a copia de seguridade" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Propiedades..." #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Saír" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Preferencias" #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Vista" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Barra de ferramentas" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "Gastos _principais" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Submúltiplo de Euro" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Xestionar" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "_Contas..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Beneficiarios..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Categorías..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Planificación/Modelos..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Orzamento..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Asignacións" #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Moedas..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Transaccións" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Engadir..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Mostrar..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "Mostrar todo..." #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Configurar planificador" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Engadir transaccións planificadas" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Informes" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "E_statísticas" #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Tendencia Temporal..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "O_rzamento..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "Custo do _vehículo" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Amosar pantalla de benvida..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Estatísticas de ficheiro..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Anónimo..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "A_xuda" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Contidos" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "Comprobar se hai actualizacións..." #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "Notas da versión" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Informar dun problema..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Traducir este aplicativo..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "Acerca de" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Crear un novo ficheiro" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Abrir" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Abrir un ficheiro" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Abrir un ficheiro usado recentemente" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Gardar o ficheiro actual" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Configurar as contas" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Configurar os beneficiarios" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Configurar as categorías" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Configurar a planificación/modelos de transaccións" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Configurar o orzamento" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Configurar as asignacións automáticas" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Mostrar transacción de contas escollidas" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Engadir transaccións" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Abrir o informe de estatísticas" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Abrir informe de tendencia temporal" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Abrir o informe do balance" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Abrir o informe do orzamento" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Abrir o informe de custo do vehículo" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "Planificación" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Futuro" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(sen categoría)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "formato CSV incorrecto" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Data" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Información" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Beneficiario" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Concepto" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Cantidade" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Balance" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Descoñecido" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "mi./l" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(sen beneficiario)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Mostrar información da versión e saír" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[FICHEIRO]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Erro de explorador." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Non se puido amosar a URL '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Opcións de HomeBank" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Non se pode abrir '%s', o ficheiro non existe.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(sen entidade)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "As súas contas" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Expandir todo" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Ocultar todo" #: ../src/hub-account.c:547 msgid "Show all" msgstr "Amosar todo" #: ../src/hub-account.c:552 msgid "By type" msgstr "Por tipo" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Ningunha transacción para engadir" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "transacción engadida: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Resultado das transaccións planificadas" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Transaccións planificadas" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Omitir" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Editar e asentar" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Asentar" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "Data máxima de asento" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Gastos principais" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "Os %d principais gastos" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Outro" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "A ónde vai o seu diñeiro" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "conta importada" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Suma total" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Contas" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Banco" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Hoxe" #: ../src/list-operation.c:548 msgid "- split -" msgstr "-dividir-" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Conta" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Estado" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Gasto" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Ingreso" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Categoría" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Etiquetas" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Atrasado" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Seguinte día" #: ../src/rep-balance.c:76 msgid "List" msgstr "Listaxe" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Ver resultado como lista" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Liña" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Ver resultados como liñas" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Recargar" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Actualizar resultados" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Detalle" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Amosar detalles" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d baixo %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Informe do balance" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Pantalla" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "_Conta" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Seleccionar _todo" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Cada _día" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Ampliar X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Filtro de data" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_De:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Ata:" #: ../src/rep-budget.c:787 msgid " over" msgstr " supera" #: ../src/rep-budget.c:793 msgid " left" msgstr " queda" #: ../src/rep-budget.c:796 msgid " under" msgstr " baixo" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "Orzamento para %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Orzamento" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Resultado" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "Ver os resultados en barras" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "_Resultado ó portapapeis" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "_Resultado a CSV" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "_Detalle ó portapapeis" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "_Detalle a CSV" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Informe do orzamento" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Ver por:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "Só fóra de orzamento" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Resultado:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Orzamento:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Gastado:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Ningunha conta está definida para ser parte do orzamento" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "Debe incluir algunhas contas dende o menú de contas." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Gasto" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Subcategoría" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Etiqueta" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Mes" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Ano" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Gasto e Ingreso" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s por %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "Ver resultados en columnas" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "Ver resultados en gráfico circular" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Cambiar lenda" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Amosar taxa" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "Editar o filtro" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Informe de estatísticas" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Por _importe" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Balance" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Ingresos:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Gastos:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Día" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Semana" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Trimestre" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "Promedio: %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Informe de tendencia temporal" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Categoría" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Beneficiarios:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "E_tiqueta:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "A_cumulado" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Fracción de tempo" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Contador" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Combustible" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Prezo" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Dist." #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Exportar como CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Informe do custo do vehículo" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "Vehí_culo" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Metro:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Consumo:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Custe carburante:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Outros custos:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Custo total:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(ningún)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Visible" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Cancelar" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_Aceptar" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Nome da Conta" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Erro" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Non se pode engadir a conta '%s',\n" "este nome xa existe." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "Non se pode eliminar a conta '%s'" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" "Esta conta contén transaccións e/ou é parte de transferencias internas." #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Está seguro de que quere eliminar definitivamente '%s'?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "Se elimina unha conta, non se poderá recuperar." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Non se pode mudar o nome á conta\n" "«%s» como «%s» porque xa existe\n" "outra conta con ese nome." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Xestionar contas" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Arrastre e solte para cambiar a orde\n" "Dobre clic para renomear" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Xeral" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "N_úmero" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Saldo _inicial:" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "_Moeda:" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "esta conta foi pe_chada" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "Notas:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "_Modelo por defecto:" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Exclusión dos informes" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "excluir do resumo de _contas" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "excluir do _orzamento" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "excluír de calquera info_rme" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Número de cheque actual" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Chequeira _1:" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Chequeira _2:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "Límites do balance" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "_Descuberto en:" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "Se elimina unha planificación/modelo, non se poderá recuperar." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Próxima _data:" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Ca_da" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Fin de semana:" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_Parar despois de:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "anotacións" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Xestionar a planificación/modelos de transaccións." #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "Se elimina unha asignación, non se poderá recuperar." #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "Deshabilitada" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "Se está baleiro" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "Sobrescribir" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Administrar asignacións" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Condición" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "_Pagamento" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Ficheiro HomeBank novo (%d de %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Non se atopou" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Titular:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "Moeda:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Propiedades do ficheiro" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Idiomas:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Ficheiro predeterminado:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Iniciar as miñas categorías con este ficheiro" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Categorías predeterminadas" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "Información" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Nome:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Balances" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Inicial" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "Números _vermellos en:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Crear unha conta" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Esta é unha páxina de confirmación, prema en 'Aplicar' para aplicar as " "modificacións" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Confirmación" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "Válido" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Nome" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Ficheiros coñecidos" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "Ficheiros QIF" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "Ficheiros OFX/QFX" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "Ficheiros CSV" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Todos os ficheiros" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "nova conta global" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "conta nova" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "omitido" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr ", %d de %d transaccións" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" "Algunhas datas non se poden converter. Intente cambiar o formato da data " "para continuar." #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "Impor_tar %s in:" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "este ficheiro" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "esta conta" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" "Nome: %s\n" "Número: %s\n" "Ficheiro: %s\n" "Codificación: %s" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "Importar transaccións dende banco ou tarxeta de crédito" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" "Con este asistente guiaráselle durante o proceso de importación dun ou " "varios\n" "extractos descargados do seu banco ou tarxeta de crédito, nos seguintes " "formatos:" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" "Recomendado: .OFX or .QFX\n" "(Ás veces denominado Money™ ou Quicken™)\n" "Compatíbel: .QIF\n" "(Ficheiro Quicken™ común)\n" "Só usuarios avanzados: .CSV\n" "(formato específico de HomeBank, véxase a documentación)" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" "Non se farán cambios ata que faga clic en \"Aplicar\" ao final deste " "asistente." #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "Non mostrar isto máis" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" "Hai demasiadas contas nos ficheiros seleccionados,\n" "volva atrás e seleccione menos ficheiros." #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "Fallou a identificación por nome ou número da conta destino." #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Formato de data:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "_Importar conceptos" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "_Intercambiar conceptos e beneficiarios" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "_Nome OFX:" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "_Concepto OFX:" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "Seleccionar:" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Todos" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Ningún" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Invertir" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "Transacción similar na conta de destino (posible duplicado)" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "Intervalo de _datas:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "días" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "A concordancia farase na seguinte orde: conta, importe, data.\n" "Unha tolerancia de data de 0 días implica unha concordancia exacta." #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "Benvido/a" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "Seleccionar ficheiro(s)" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "Importar" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Erro no formato do ficheiro" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" "O ficheiro CSV debe ter o número exacto de columnas,\n" "separadas por un punto e coma. Consulte a axuda para máis detalles." #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "Está seguro de que quere limpar a entrada?" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "Se continua, todas as cantidades poranse a 0." #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "_Limpar" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Xestionar orzamento" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "_Importar CSV" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "E_xportar CSV" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "_Limpar entrada" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Opcións" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Forzar monitorización de esta categoría" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Xan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Abr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Maio" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Xuñ" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Xul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Ago" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Out" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Dec" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Esta categoría utilízase.\n" "Calquera transacción que a empregue cambiarase a (sen categoría)." #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "_Eliminar a categoría '%s'" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "Combinar" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "Eliminar as categorías non utilizadas" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Está seguro de que quere eliminar\n" "permanentemente as categorías que\n" "non se utilizan?" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "Editar…" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Ingresos" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Non se pode volver nomear esta categoría.\n" "desde '%s' ata '%s',\n" "este nome xa existe." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "Combinar categoría '%s'" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "As transaccións asignadas a esta categoría,\n" "moveranse á categoría seleccionada abaixo." #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Xestionar categorías" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "_Eliminar non utilizadas" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "nova categoría" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "nova subcategoría" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Moeda principal" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Símbolo" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "Tipo de cambio" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "Última modificación" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Editar moeda" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "Moeda" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "Formato" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "_Personalizar" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "_Símbolo:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "É pre_fixo" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "Separador _decimais:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "Número de _decimais" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "Separador de _miles:" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Seleccionar a moeda principal" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Seleccionar moeda" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "Código ISO" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "Engadir unha moeda personalizada" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "_ISO:" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "Se elimina una moeda, non se poderá recuperar." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Cambiar a moeda principal" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" "Se continúa, os tipos de cambio das outras moedas\n" "poranse a 0, non se esqueza de actualizalos." #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Moedas" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "Actualizar por rede" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "Pór como principal" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Estatísticas de ficheiro" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "Transacción" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "Asignación" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "Anovar" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "Seleccionar a moeda principal" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "A partires da v5.1, HomeBank pode xestionar varias moedas\n" "se a moeda de abaixo non é a correcta, cámbiaa." #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Exportar como QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Importar desde CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "Abrir ficheiro de HomeBank" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "Abrir copia de seguranza de HomeBank" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "Gardar fichero de HomeBank como" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "Ficheiros de HomeBank" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "Copia de seguranza" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "Todas as copias de seguranza" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "Gardar os cambios no ficheiro antes de pechar?" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Se non garda, os cambios perderanse para sempre.\n" "Número de cambios: %d." #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "Pechar _sen gardar" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "Exportar como PDF" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "Exportar como _PDF" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "Cartafol:" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "Escolla un cartafol" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "Nome do ficheiro:" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Seleccionar entre as transaccións posíbeis..." #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Seleccionar unha acción:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "crear unha nova transacción" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "seleccione unha transacción existente" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Opción:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Concepto:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Info" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "_Diferenciar maiúsculas e minúsculas" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Calquera estado" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "Conciliado" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Calquera tipo" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Transferir" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Forzar:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "Amosar \"Engadido\"" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "Amosar \"Editado\"" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "Datas" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "Pagamentos" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "Cantidades" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "Textos" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "Categorías" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "Beneficiarios" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Transacción planificada" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "engadir ata" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "de cada mes (excluído)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "engadir" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "días antes da data actual" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Custe do vehículo" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "Eliminar o beneficiario non utilizado" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Está seguro de que quere eliminar\n" "permanentemente o beneficiario non utilizado?" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "Por defecto" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "Pagamento" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Non se pode renomear este beneficiario,\n" "desde '%s' ata '%s',\n" "este nome xa existe." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "Combinar beneficiario '%s'" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "As transaccións asignadas a este beneficiario\n" "moveranse ó beneficiario seleccionado abaixo." #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "Eliminar o beneficiario '%s'" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "Este beneficiario utilízase.\n" "As operacións que o empreguen, cambiaranse a (sen beneficiario)" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Xestionar beneficiarios" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "novo beneficiario" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Interface" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "Configuración rexional" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Transaccións" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Importar/Exportar" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Informe" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "Copia de seguranza" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "Cartafoles" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Parámetros do sistema por defecto" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Só iconas" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Só texto" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Texto debaixo das iconas" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Texto a carón das iconas" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "Horizontal" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "Vertical" #: ../src/ui-pref.c:109 msgid "Both" msgstr "Ambos" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango lixeiro" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango medio" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango escuro" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "m-d-a" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "d-m-a" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "a-m-d" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Ignorar" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Engadir á información" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Engadir ao Concepto" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "Engadir a beneficiario" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Idioma do sistema" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Elexir o cartafol de HomeBank por defecto" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Elexir o cartafol de importación por defecto" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Elexir o cartafol de exportación por defecto" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "Opcións OFX/QFX" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "Opcións QIF" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Filtro inicial" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Opcións de gráficos" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "Esquema de cores:" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Opcións de estatísticas" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Amosar por _importe" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Amosar columnas de _taxas" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Amosar _detalles" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Opcións de orzamentos" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Activar" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "Predefinido" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "Interface de usuario" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Lingua:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "Mostrar _Datas:" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "_Formato:" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" "%a nome do día da semana abreviado. \n" "%A nome do día da semana completo. \n" "%b nome do mes abreviado. \n" "%B nome do mes completo. \n" "%c representación de data e hora de acordo á localización do sistema. \n" "%C número do século (ano dividido por 100 e truncado a un enteiro) como " "número decimal [00-99]. \n" "%d día do mes como número decimal [01,31]. \n" "%D igual a %m/%d/%y. \n" "%e día do mes como número decimal [1,31]; un so díxito é precedido por un " "espazo. \n" "%j día do ano como número decimal [001,366]. \n" "%m mes como número decimal [01,12]. \n" "%p representación da data de acordo á localización do sistema.\n" "%y ano sen século como número decimal [00,99]. \n" "%Y ano con século como número decimal." #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Exercicio fiscal" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "Comeza o:" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Unidades métricas" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Usar _millas para metros" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "Usar _galón para combustíbel" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Ventá de transacción" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "_Mostrar futuro" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "días cara adiante" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Engadir múltiples" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Manter a última data" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "Autocompletar concepto" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "Activa" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "Barra de _ferramentas" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Utiliza cores personalizadas" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Gasto:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Ingreso:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Atención" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "_Habilitar copias de seguranza automáticas" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "_Número de copias de seguranza a manter:" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "As copia de seguridade faise unha vez ó día" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "_Carteiras:" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Importar" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Exportar" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Mostrar a pantalla de benvida" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Cargar o último ficheiro aberto" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Asentar as transacción planificadas pendentes" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "Actualizar moedas pola rede" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Ventá principal de informes" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "Restablecer todas as preferencias" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" "Está seguro de que quere restablecer\n" "todas as preferencias ao valor por defecto?" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Preferencias" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "Debe reiniciar HomeBank para\n" "aplicar o cambio de lingua" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "Dividir transacción" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "Aplicar" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "Cancelar" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Importe da transacción" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Sen asignar:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Quere interromper a transferencia interna?\n" "\n" "Se o fai, borrarase a transacción de destino" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "Mostrar _planificación" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "Mostrar todas as contas" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "Eng_adir" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "_Asentar" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Engadir transacción" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Herdar transacción" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Data:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "Modelo" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Incluír" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Excluír" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(sen tipo)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Efectivo" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Activo" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Tarxeta de crédito" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Pasivo" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "Este mes" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "O mes pasado" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "Este trimestre" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "O trimestre pasado" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "Este ano" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "O ano pasado" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Os últimos 30 dias" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Os últimos 60 días" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Os últimos 90 días" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Os últimos 12 meses" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Todas as datas" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Posíbel" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Antes" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "Despois" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Non conciliado" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Sen categoría" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Xaneiro" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Febreiro" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Marzo" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Abril" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Xuño" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Xullo" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Agosto" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Setembro" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Outubro" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Novembro" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Decembro" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Set" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "Buscar..." #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Comprobar" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Tarxeta de débito" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Orden de posición" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Pago electrónico" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Depósito" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "Honorarios FI" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "" homebank-5.3.2/po/id.po0000644000175000017500000023136313620025341011604 00000000000000# Indonesian translation for homebank # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2019-12-29 23:41+0000\n" "Last-Translator: cahkendilit \n" "Language-Team: Indonesian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:53+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Keuangan pribadi" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "Keuangan;akuntansi;anggaran;pribado;uang;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "HomeBank adalah perangkat lunak gratis (seperti dalam \"bebas berbicara\" " "dan juga seperti dalam \"minuman gratis\") yang akan membantu Anda untuk " "mengelola akuntansi pribadi Anda." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "Ini dirancang untuk mudah digunakan dan dapat menganalisis keuangan pribadi " "Anda secara detail menggunakan alat penyaringan yang kuat dan grafik yang " "indah." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Jika Anda mencari untuk mengelola akuntansi pribadi anda yang sepenuhnya " "bebas dan mudah maka Homebank harus menjadi software pilihan" #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Semua transaksi akan di bagi dengan %.6f" #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "Konversikan" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Tidak ada transaksi yang berubah" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Apakah Anda ingin membuat template dengan \n" "masing-masing transaksi yang dipilih?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Apakah anda ingin mengapus\n" "setiap transaksi yang dipilih?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Apakah Anda yakin ingin mengubah status ke Tidak?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "Beberapa transaksi dalam pilihan Anda sudah Berdamai." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Ubah" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Apakah Anda yakin ingin beralih status Reconciled?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_Ganti mode" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Export QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Ekspor CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Tutup" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Edit" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "_Transaksi" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Tambah..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Limpahan" #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Sunting..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Buat template..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "Ala_t" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Tapis..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Tambah transaksi baru" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Tambah" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Limpahan dari transaksi aktif" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Wariskan" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Sunting transaksi aktif" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Sunting" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Rentang" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Tipe" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Buka penapis terakhir" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Bank:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Hari ini:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Yang akan datang:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Selamat datang di HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Apa yang ingin anda lakukan:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Buat berkas baru" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Buka berkas _contoh" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Galat berkas" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Berkas" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Baru" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Buka..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Simpan" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Kembali pada" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Keluar" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Preferensi..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Tampilan" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Bilah_Alat" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Kelola" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "A_kun..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Penerima..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Kategori..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Terjadwal/Template..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Anggaran..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "" #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Transaksi" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Tambah..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Tampilkan..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Laporan" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Statistik..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Tren Waktu..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "A_nggaran" #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Tampilkan pesan sambutan" #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Bantuan" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Daftar Isi" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Laporkan masalah..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Terjemahkan aplikasi ini..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_Tentang Program Ini" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Buat berkas baru" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Buka berkas" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Buka berkas yang baru dibuka" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Simpan berkas ini" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Pengaturan akun" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Pengaturan Penerima" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Pengaturan Kategori" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Konfigurasi dompet" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Tampilkan transaksi akun yang dipilih" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Buka laporan statistik" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Buka laporan Tren Waktu" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Buka laporan Neraca" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Buka laporan anggaran" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Akan datang" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Tanggal" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Info" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Penerima" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Jumlah" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Neraca" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Tampilkan informasi versi dan keluar" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[BERKAS]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Tidak dapat menampilkan URL '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Pilihan HomeBank" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Gagal membuka '%s', berkas tidak ditemukan.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Bank" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Hari ini" #: ../src/list-operation.c:548 msgid "- split -" msgstr "" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Akun" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Biaya" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Pendapatan" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Kategori" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Label" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "" #: ../src/rep-balance.c:76 msgid "List" msgstr "Daftar" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Tampilkan hasil dalam bentuk daftar" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Garis" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Tampilkan hasil dalam bentuk grafik garis" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Muat ulang" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Muat ulang hasil" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Rincian" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Rincian Toggle" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d di bawah %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Laporan neraca" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "A_kun:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Pilih _semua" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "X _Zum" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Dari:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Ke:" #: ../src/rep-budget.c:787 msgid " over" msgstr "" #: ../src/rep-budget.c:793 msgid " left" msgstr "" #: ../src/rep-budget.c:796 msgid " under" msgstr "" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Anggaran" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Hasil" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Laporan anggaran" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Tampilan dalam bentuk:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Anggaran:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Pengeluaran" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Pengeluaran" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Subkategori" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Label" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Bulan" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Tahun" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Biaya & Insentif" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Toggle legend" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Toggle rate" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Laporan Statistik" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Dengan _jumlah" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Neraca" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Pendapatan:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Pengeluaran" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Hari" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Minggu" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Kuartal" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Laporan Tren Waktu" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Kategori:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Penerima:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Label" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Meter" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Bahan bakar" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Harga" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Jarak" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Ekspor sebagai CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Laporan biaya kendaraan" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Meter:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Konsumsi:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Biaya bahan bakar:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Biaya lain-lain" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Total biaya:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(tidak ada)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Nampak" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Batalkan" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Galat" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Tidak bisa mengubah nama Akun ini,\n" "dari '%s' ke '%s',\n" "nama ini sudah ada." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Kelola Akun" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Umum" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "_Nomor" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Setia_p" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "_Pembayaran" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Tidak ditemukan" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Pemilik:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Bahasa" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Inisialisasi kategori saya dengan berkas ini" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Nama:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Awal" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Ditarik pada:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Buat akun" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Ini adalah halaman konfirmasi, tekan 'Terapkan' untuk menerapkan perubahan" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Konfirmasi" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "Berkas QIF" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "Berkas CSV" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Seluruh berkas" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Semua" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Tidak ada" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Balik" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "hari" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Format berkas salah" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Kelola Anggaran" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Mei" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Agu" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Okt" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Des" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Pendapatan" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Tidak dapat menamai ulang kategori ini.\n" "dari '%s' ke '%s',\n" "nama ini sudah terpakai." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Kelola Kategori" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "Digit _pecahan" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Ekspor sebagai QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Impor dari CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "Berkas HomeBank" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Pilihan" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_info" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Transfer" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Toleransi:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "tampilan 'Ditambahkan'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "tampilan 'Diubah'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Tidak bisa mengubah nama penerima ini,\n" "dari '%s' ke '%s',\n" "nama ini sudah ada." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Kelola Penerima" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Antarmuka" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "" #: ../src/ui-pref.c:89 msgid "Report" msgstr "" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Asali sistem" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Ikon saja" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Teks saja" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Teks di bawah ikon" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Teks disamping ikon" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango light" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango medium" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango dark" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Abaikan" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Tampilkan berdasarkan _jumlah" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Tampilkan kolom _rate" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Tampilkan _rincian" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Aktifkan" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Batang alat:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Gunakan warna kustom" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Biaya:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Pendapatan:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Peringatan:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_impor:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Ekspor:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Buka berkas terakhir" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Pengaturan" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Tambah transaksi" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Transaksi yg dilimpahkan" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Tanggal" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "Mengedit beberapa transaksi" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Termasuk" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Pengecualian" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Tunai" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Aset" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Kartu kredit" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "30 hari terakhir" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "12 bulan terakhir" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Semua tanggal" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Januari" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Februari" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Maret" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "April" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Juni" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Juli" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Agustus" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "September" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Oktober" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "November" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Desember" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Kartu debit" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Pembayaran elektronik" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Deposit" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "" homebank-5.3.2/po/hr.po0000644000175000017500000024240513620025332011620 00000000000000# Croatian translation for homebank # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2016-06-25 10:16+0000\n" "Last-Translator: gogo \n" "Language-Team: Croatian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "Homebank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Svaki iznos transakcije će biti podjeljen s %.6f." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Konvertiraj" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Transakcija nije mijenjana" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Želite li kreirati predložak za\n" "svaku odabranu transakciju?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Želite li izbrisati\n" "sve odabrane transakcije?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_Obriši" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Jeste li sigurni da želite promijeniti status u Nijedan?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "Neke transakcije u vašem odabiru već su usklađene." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Promijeni" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Jeste li sigurni da želite prebaciti status u Usklađen?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_Prebaci" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Izvezi QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Izvezi CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Zatvori" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Uredi" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "_Transakcija" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Dodaj..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Naslijedi..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "U_redi..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Status" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Ništa" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "Očišćeno" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "Usklađeno" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Kreiraj predložak..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "Izbriši" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Alati" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filter..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Dodaj novu transakciju" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Dodaj" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Naslijedi iz aktivne transakcije" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Naslijedi" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Uredi aktivnu transakciju" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Uredi" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "Prebaci u očišćeno odabrane transakcije" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "Prebaci u usklađeno odabranu(e) transakciju(e)" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Kreiraj predložak" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Izbriši označenu(e) transakciju(e)" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "_Osvježi" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Raspon:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "Vrs_ta:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_Početno stanje" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Otvori filter popisa" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Banka:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Danas:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Budućnost:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Vratiti nespremljene promjene u datoteku '%s'?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "-Promjene u datoteci bit će nepovratno izgubljene\n" "-Datoteka će biti pokrenuta od zadnjeg spremanja (.xhb~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "V_rati" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Jeste li sigurno da želite anonimizirati datoteku?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Anonimiziraj" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Dobrodošli u HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Što želite da se učini:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Pročitajte Homebank priručnik" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Kreiraj _novu datoteku" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Otvori postojeću datoteku" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Otvori ogl_ednu datoteku" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "I/O greška datoteke '%s'." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Datoteka '%s' nije ispravna Homebank datoteka." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "Datoteka '%s' spremljena je novijom verzijom HomeBanka\n" "i ne može biti otvorena trenutnom verzijom." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Greška datoteke" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Datoteka" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Novo" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Otvori..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Spremi" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Povrati" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Izlaz" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Podešenja..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "Pri_kaži" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Alatna traka" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_Top lista trošenja" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro minor" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "Ad_ministriraj" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "_Računi..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Primatelji..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Kategorije..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Planirano/Predložak..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Proračun..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Doznake..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Transakcije" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Dodaj..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Prikaži..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Namjesti planer..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Istakni planirano" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Izvješća" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Statistika..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "Trendovi" #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "_Proračun" #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "Putni troškovi..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Prikaži dijalog dobrodošlice..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Statistika o datotekama..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Anonimiziraj..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Pomoć" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Sadržaj" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Prijavi problem..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Prevedite ovaj program..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_O programu" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Kreiraj novu datoteku" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Otvori" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Otvori datoteku" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Otvori nedavno korištenu datoteku" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Spremi trenutnu datoteku" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Podesi račune" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Podesi primatelje" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Podesi kategorije" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Podesi planirane transakcije i predloške" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Podesi proračun" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Podesi automatske doznake" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Prikazuje transakcije označenog računa" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Dodaj transakcije" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Otvori izvješće o statistici" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Otvori izvješće o trendovima" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Otvori izvješće o bilanci" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Otvori izvješće o proračunu" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Otvori izvješće o putnim troškovima" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Buduće" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "Podsjeti" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(nekategorizirano)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Datum" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Informacije" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Primatelj" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Memo" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Iznos" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Bilanca" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Nepoznato" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(nema primatelja)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Prikaži podatke o verziji i izađi" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[DATOTEKA]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Greška pretraživača." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Nemoguće prikazati URL '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "HomeBank odrednice" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Nemoguće otvoriti '%s', datoteka ne postoji.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Vaši računi" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Nema transakcija za dodati" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "dodane transakcije: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Provjeri stanje planiranih transakcija" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Ukupno" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Planirane transakcije" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Preskoči" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Isticanje" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "maksimalan datum isticanja" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Top lista trošenja" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Ostalo" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Na što se troši vaš novac" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Sveukupni iznos" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Računi" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Banka" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Danas" #: ../src/list-operation.c:548 msgid "- split -" msgstr "-razdvoji-" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Račun" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Status" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Trošak" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Prihod" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Kategorija" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Tagovi" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Kasni" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Sljedeći datum" #: ../src/rep-balance.c:76 msgid "List" msgstr "Popis" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Pregled rezultata kao popis" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Linija" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Pregled rezultata kao linije" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Osvježi" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Osvježi rezultate" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Detalj" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Uključi detalj" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d pod %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Izvješće o bilanci" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Prikaži" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "_Račun" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Od_aberi sve" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Svaki _dan" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Zumiraj X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Filter datuma" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Od:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Do:" #: ../src/rep-budget.c:787 msgid " over" msgstr " preko" #: ../src/rep-budget.c:793 msgid " left" msgstr " lijevo" #: ../src/rep-budget.c:796 msgid " under" msgstr " ispod" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "Proračun za %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Proračun" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Rezultat" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "Prikaz rezultata kao gomile" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Izvještaj o proračunu" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "Prikaz prema:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Rezultat:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Proračun:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Potrošeno:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Nema računa koji bi bio dio proračuna." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "Morate uključiti neke račune iz dijaloga s računima." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Potrošeno" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Podkategorija" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Oznaka" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Mjesec" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Godina" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Troš. & prih." #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s po %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "Prikaz rezultata kao stupac." #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "Prikaz rezultata kao torta" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Uključi legendu" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Uključi stopu" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Izvještaj o statistici" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Prema _iznosu" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Bilanca:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Prihod:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Trošak:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Dan" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Tjedan" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Kvartal" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s prekovremeno" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "Prosjek: %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Izvješće o trendovima" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Kategorija:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Primatelj:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Tag:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "Skupi" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Vremenski odsječak" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Brojač" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Gorivo" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Cijena" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Udalj." #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Izvezi kao CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Izvješće o putnim troškovima" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "Prijevoz" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Brojač:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Potrošnja:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Trošak za gorivo:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Ostali troškovi:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Ukupni troškovi:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(ništa)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Vidljivo" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Odustani" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_U redu" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Ime računa" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Greška" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Nije moguće dodati račun '%s'.\n" "to ime se već koristi." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "Nije moguće izbrisati račun '%s'" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "Račun sadrži transakcije i/ili je dio internih prijenosa." #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Jeste li sigurni da želite trajno izbrisati '%s'?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "Ako izbrišete račun, bit će nepovratno izgubljen." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Nije moguće preimenovati račun,\n" "s '%s' na '%s',\n" "to ime već postoji." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Upravljanje računima" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Uhvati & pusti za promjenu poretka\n" "Dvostruki klik za preimenovanje" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Općenito" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "Broj" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Početna _bilanca:" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "taj račun je zatvoren" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Izuzeće iz izvješća" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "izuzmi iz _sažetka računa" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "izuzmi iz proračuna" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "izuzmi iz svakog izvješća" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Trenutni broj provjere" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Knjiga provjere _1" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Knjiga provjere _2" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "Ako izbrišete planirano ili predložak, bit će trajno izgubljeni." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Sljedeći _datum:" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Svaki_h:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Kraj tjedna:" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "Prekini poslije:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "objave" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Upravljaj planiranim transakcijama i predlošcima" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "Ako izbrišete doznaku, bit će trajno izgubljena." #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Upravljaj doznakama" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Uvjet" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "_Plaćanje" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Nova Homebank datoteka (%d of %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Nije pronađeno" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Vlasnik:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Svojstva datoteke" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "Otkrivanje sustava" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Jezici:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Unaprijed postavi datoteku:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Pokreni moje kategorije s ovom datotekom" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Unaprijed postavi kategorije" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Ime:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Bilance" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "Početni _iznos:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "Prekoračenje na:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Kreiraj račun" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Ovo je stranica za potvrdu, pritisni 'Primijeni' za primjenu promjena" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Potvrda" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Poznate datoteke" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF datoteke" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX datoteke" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV datoteke" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Sve datoteke" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Poredak datuma:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Sve" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Nema" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Preokreni" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "dani" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Podudaranje ide ovim redom. prema računu, iznosu i datumu.\n" "Odstupanje od 0 dana znači pravo podudaranje." #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "Dobrodošli" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "Uvezi" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Greška formata datoteke" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "Jeste li sigurni da želite očistiti ulaz?" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "Ako nastavite, svaki iznos će biti postavljen na 0." #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "_Očisti" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Upravljanje proračunom" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "Uvezi CSV" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "Izvezi CSV" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "Očisti ulaz" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Odrednice" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "Prisili praćenje kategorije" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Sij" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Velj" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Ožu" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Tra" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Svibanj" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Lip" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Srp" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Kol" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Lis" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Stu" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Pro" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Kategorija se koristi.\n" "Svaka transakcija koja koristi tu kategoriju bit će postavljena kao " "(nekategorizirano)." #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "Izbriši kategoriju '%s'" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "Spoji" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "Uredi..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Prihod" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Nemoguće preimenovanje kategorije,\n" "iz '%s' u '%s',\n" "ovo ime već postoji." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "Spoji kategoriju '%s'" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "Transakcije doznačene ovoj kategoriji\n" "bit će premještene u izabranu kategoriju ispod." #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Upravljanje kategorijama" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "nova kategorija" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "nova podkategorija" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Dec. znamenki:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Statistika datoteka" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "Transakcija" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "Doznaka" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Izvezi kao QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Uvezi iz CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "HomeBank datoteke" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "Spremiti promjene u datoteku prije zatvaranja?" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Ako nećete spremiti, promjene će biti nepovratno izgubljene.\n" "Broj promjena: %d." #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "Zatvori _bez spremanja" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Odaberi između mogućih transakcija..." #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Odaberi akciju:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "kreiraj novu transakciju" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "odaberi postojeću transakciju" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "HomeBank je našao istu transakciju koja bi mogla biti doznačena transakcija " "za interni prijenos." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "P_ostavka:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Memo:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Opis:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "O_sjetljivost na velika/mala slova" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Svaki status" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "Očišćeno" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "Usklađeno" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Svaka vrsta" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Prijenos" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Prisili:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "prikaži 'Dodano'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "prikaži 'Uređeno'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "prikaži 'Podsjetiti'" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Planirana transakcija" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "dodaj do" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "svakog mjeseca (isključeno)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "dodaj" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "dana unaprijed od današnjeg datuma" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Putni troškovi" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "Plaćanja:" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Nemoguće preimenovanje primatelja,\n" "iz '%s' u '%s',\n" "ovo ime već postoji." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "Spoji primatelja '%s'" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Transakcije doznačene ovom primatelju,\n" "bit će premještene odabranom primatelju ispod." #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "Izbriši primatelja '%s'" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "Taj se primatelj koristi.\n" "Svaka transakcija tog primatelja bit će postavljena kao (nema primatelja)." #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Upravljaj primateljima" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "novi primatelj" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Sučelje" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Transakcije" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Uvoz/Izvoz" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Izvješće" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Pretpostavke sustava" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Samo ikone" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Samo tekst" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Tekst iznad ikona" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Tekst pored ikona" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango svjetlo" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango srednje" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango tamno" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "m-d-g" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "d-m-g" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "g-m-d" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Zanemari" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Priključi opisu" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Priključi memo-u" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Jezik sustava" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Izaberi zadani Homebankov direktorij" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Izaberi zadani uvozni direktorij" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Izaberi zadani izvozni direktorij" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "OFX/QFX odrednice" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "polazni filter" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Odrednice grafikona" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Odrednice statistike" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Prikaži prema _iznosu" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Prikaži stupac _stope" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Prikaži _detalje" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Odrednice proračuna" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "Omogući" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "Unaprijed _postavi:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Jezik:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Fiskalna godina" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "Počinje od:" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Mjerne jedinice" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Koristi _milje umjesto metara" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Prozor transakcija" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Višestruko dodavanje" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Čuvaj zadnji datum" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "Alatna _traka:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Vrijednost boja" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Koristi prilagođene boje" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Trošak:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Prihod:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Upozorenje:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Uvezi:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Izvezi:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Pokretanje programa" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Prikaži pozdravni zaslon" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Učitaj posljednje otvorenu datoteku" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Istakni planirane transakcije koje se provode" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Glavni prozor izvješća" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Podešenja" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "Morat ćete ponovno pokrenuti Homebank\n" "kako biste promijenili jezik." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "Odjeljci transakcija" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Iznos transakcije:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Nedoznačeno:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Zbroj odjeljaka" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Želite li prekinuti interni prijenos?\n" "\n" "U nastavku bit će izbrisana ciljna transakcija." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "_Dodaj" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Dodaj transakciju" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Naslijedi transakciju" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Datum:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "M_emo:" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Uključi" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Isključi" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(ništa)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Gotovina" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Imovina" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Kreditna kartica" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Obveza" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Posljednih 30 dana" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Posljednjih 60 dana" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Posljednjih 90 dana" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Posljednjih 12 mjeseci" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Svi datumi" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Moguće" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Prije" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "Poslije" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "Neočišćeno" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Neusklađeno" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Nekategorizirano" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Siječanj" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Veljača" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Ožujak" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Travanj" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Lipanj" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Srpanj" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Kolovoz" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Rujan" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Listopad" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Studeni" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Prosinac" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Ruj" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Čekovi" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Debitna kartica" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Trajni nalog" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Elektronsko plaćanje" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Deposit" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "Bankovne naknade" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Izravno terećenje" homebank-5.3.2/po/da.po0000644000175000017500000023256713620025336011607 00000000000000# Danish translation for homebank # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2017-04-19 09:54+0000\n" "Last-Translator: Claus Mølgaard \n" "Language-Team: Danish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:53+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Personlig økonomi" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Nem, gratis, personlig økonomistyring for alle" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "Homebank er fri software (fri som i fri tale og gratis som i gratis øl) som " "vil hjælpe dig med at administrere dit personlige regnskab" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "Det er udviklet for at være enkelt at bruge og give dig muligheden for at " "analysere din personlige økonomi i detaljer ved hjælp af kraftige " "filtreringsværktøjer og flotte grafer." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Hvis du er på udkig efter en helt gratis og nem måde at administrere din " "personlige bogføring på, så bør HomeBank være valget." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "Ingen uoverensstemmelse fundet!" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "Uoverensstemmelse blev fundet:% d\n" "vil du gennemgå og rette?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Hver transaktion beløb vil blive delt op efter%.6f." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Er du sikker på, du vil konvertere denne konto\n" "til Euro som hoved valuta?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Konvertér" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Ingen transaktioner ændret" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "transaktion ændret: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Vil du skabe en skabelon med\n" "hvert af de udvalgte transaktioner?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Vil du slette\n" "hver af de valgte transaktioner ?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Er du sikker på at du vil ændre statusen til Ingen?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "Nogle transaktioner i dit valg er allerede Afstemt." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "Slå _til/fra" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Eksporter QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Eksporter CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Luk" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Rediger" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Transakti_on" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Tilføj..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Arv..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Rediger..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Status" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Ingen" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "_Godkendt" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Afstemt" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Opret skabelon..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Slet..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Værktøjer" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filter..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Konvertér til Euro" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Tilføj ny transaktion" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Tilføj" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Arv fra den aktive transaktion" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Arv" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Rediger den aktive transaktion" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Rediger" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Redigér flere transaktioner" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Opret skabelon..." #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Slet valgte transaktion(er)" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Interval:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Type:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Åben liste filteret" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Bank:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "I dag:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Fremtidig:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Vend tilbage gemte ændringer i filen '%s'?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "-Ændringer i filen, vil gå tabt\n" "-Filen vil blive genindlæst fra den sidste gem (.xhb ~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Fortryd Ændringer" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Er du sikker på du vil anonymisere filen?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Anonymiser" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Velkommen til Homebank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Hvad vil du gøre:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Læs HomeBank _Manual" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Opret en _ny fil" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Åbne en eksisterende fil" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Åben _eksempel på filen" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "Filen '%s' blev gemt i en højere version af HomeBank\n" "og kan ikke indlæses af den aktuelle version." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Filfejl" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Fil" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Ny" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Åben..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Gem" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Gå tilbage" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Afslut" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Egenskaber..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Vis" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Værktøjslinje" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_Top udgifter" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Administrér" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "Kon_ti..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Indbetalere..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Kategorier" #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Planlagt/skabeloner..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Budget..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Opgaver..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Transaktion" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Tilføj..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Vis..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Indstil Opgavestyring..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Post planlagt" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Indberetninger" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Statistik" #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "Tidsperiode Tendens" #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "B_udget..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "_Køretøj omkostninger..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Vis velkomstdialog..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Fil statistikker..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Anonymisere..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Hjælp" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Indhold" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Rapportér et problem..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Oversæt dette program..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_Om" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Opret en ny fil" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Åben" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Åbn en fil" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Åbn en nyligt brugt fil" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Gem den aktuelle fil" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Konfigurer regnskabet" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Konfigurer indbetalerene" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Konfigurer kategorierne" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Konfigurer transaktioner for planlagt/skabelon" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Konfigurer budgettet" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Konfigurer opgaverne automatiske" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Viser udvalgte konto transaktioner" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Tilføj en transaktion" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Åben Statistik rapporten" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Åben Tidsperiode Tendens rapporten" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Åben balance rapporten" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Åben Budget rapporten" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Åben køretøj omkostninger rapporten" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Fremtidig" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(ingen kategori)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Dato" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Info" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Betalingsmodtager" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Note" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Beløb" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Balance" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Ukendt" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "km/l (kilometer per liter)" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "mi./l (miles per liter)" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Udskriv versionsoplysninger og afslut" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[FIL]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Browser fejl." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Kunne ikke vise adressen '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Homebank indstillinger" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Kunne ikke åbne filen \"%s\", filen eksisterer ikke.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Dine konti" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Der er ingen transaktion at tilføje" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "transaktion tilføjet: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Tjek resulterer for planlagt transaktioner" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Ialt" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Planlagte transaktioner" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Spring over" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Rediger & Send" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Send" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Top udgifter" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Andet" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Her er hvad dine penge går til" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Total af totalen" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Konti" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Bank" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "I dag" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- del -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Konto" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Status" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Udgift" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Indtægt" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "kategori" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Mærker (Tags)" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "" #: ../src/rep-balance.c:76 msgid "List" msgstr "" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Vis resultater som en liste" #: ../src/rep-balance.c:77 msgid "Line" msgstr "" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Vis resultatet som linier" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Opdater resultater" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "K_onto:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Fra:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Til:" #: ../src/rep-budget.c:787 msgid " over" msgstr "" #: ../src/rep-budget.c:793 msgid " left" msgstr "" #: ../src/rep-budget.c:796 msgid " under" msgstr "" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Budget" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Brugt:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Underkategori" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Måned" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "År" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Balance:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Indtægt:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Dag" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Uge" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Kategori:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Betalingsmodtager" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Mærke:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Benzin" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Pris" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Afstand" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Eksporter som CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Forbrug:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Benzinudgifter:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Andre udgifter:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Totale udgifter:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(ingen)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Synlig" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Annuller" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Fejl" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Kan ikke omdøbe denne bruger\n" "fra '%s' til '%s':\n" "Dette navn findes allerede." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Generelt" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "_Hver:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "_Betaling:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Ejer:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Navn:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Overtrukket den:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF filer" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX filer" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV filer" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Alle filer" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Alle" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Ingen" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Invertér" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "dage" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Forkert filformat" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Håndtér Budget" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Tving overvågning af denne kategori" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Maj" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Indkomst" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Brøk cifre_" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Eksporter som QIF..." #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Import fra CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "HomeBank filer" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Valg:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Info:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Forcér:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "display 'Tilføjet'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "display 'Redigeret'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Køretøj omkostninger" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Grænseflade" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "" #: ../src/ui-pref.c:89 msgid "Report" msgstr "" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "System standarder" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Kun ikoner" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Kun tekst" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Tekst under ikoner" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Tekst ved siden af ikoner" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango lys" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango mellem" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango mørk" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Ignorér" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Vis efter _beløb" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Vis _hyppighedskolonne" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Vis _detaljer" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Aktivér" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Forvalg:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Værktøjsbjælke" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Bruger tilpassede farver" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Udgift:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Indtægt:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Advarsel" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Importer:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Exporter:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Indlæs sidst åbnet fil" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Post afventer planlagt transaktioner" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "Opdater valutaer online" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Indstillinger" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "Du bliver nødt til at genstarte HomeBank\n" "før sprog ændringen træder i kraft." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Tilføj transaktion" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Overfør transaktion" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Dato:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Inkludér" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Udeluk" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Kontant" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Kreditkort" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Sidste 30 dage" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Sidste 12 måneder" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Januar" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Februar" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Marts" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "April" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Juni" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Juli" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "August" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "September" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Oktober" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "November" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "December" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Dankort" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "PBS" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Elektronisk betaling" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Indskud" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "" homebank-5.3.2/po/be.po0000644000175000017500000023366313620025345011607 00000000000000# Belarusian translation for homebank # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2009-11-09 07:33+0000\n" "Last-Translator: Mikhail S. Pobolovets \n" "Language-Team: Belarusian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:53+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Выдаліць кожную\n" "з абраных транзакцый?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "" #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Экспарт CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Зачыніць" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Рэдагаваць" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "_Транзакцыя" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Дадаць..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Успадкоўваць..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Праўка..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "" #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Прылады" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Фільтр..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Дадаць транзакцыю" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Дадаць" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Успадкаваць ад бягучай транзакцыі" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Успадкавать" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Кіраваць бягучую транзакцыю" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Рэдагаваць" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Дыяпазон:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Тып:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Адкрыць спіс фільтраў" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Банк:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Сёння:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Будучыня:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Памылка файла" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Файл" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Новы" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Адкрыць" #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Захаваць" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Адкаціць" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Выйсці" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Налады..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Выгляд" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Панэль прыладаў" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Кіраванне" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "_Рахункі..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Атрымальнікі плацяжу..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Катэгорыі..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Бюджэт..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Заданні..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Транзакцыі" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Дадаць..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Паказаць..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Справаздачы" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Статыстыка..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "" #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "_Бюджэт..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "" #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Дапамога" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "Змест" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Паведаміць аб праблеме..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Перавесці гэтае прыкладанне..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "Аб праграме" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Адкрыць файл" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Адкрыць адзін з папярэдніх файлаў" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Рэдагаваць рахункі" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Наладзіць атрымальнікаў" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Наладзіць катэгорыі" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Наладзіць бюджэт" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Настройка аўтаматычных заданняў" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Паказаць транзакцыі ў абраных рахунках" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Адкрыць статыстычную справаздачу" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Адкрыць бюджэтную справаздачу" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Будучыня" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Дата" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Інфармацыя" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Атрымальнік плацяжу" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Сума" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Баланс" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Паказаць інфармацыю аб версіі і выйсці" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[Файл]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Не атрымалася адлюстраваць URL '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Налады HomeBank" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Не атрымалася адкрыць '%s', файл не існуе.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Разам" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Банк" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Сёння" #: ../src/list-operation.c:548 msgid "- split -" msgstr "" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Рахунак" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Выдатак" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Прыбытак" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Катэгорыя" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Пазнакі" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "" #: ../src/rep-balance.c:76 msgid "List" msgstr "Спіс" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Вынікі спісам" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Лінія" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Вынікі ў выглядзе ліній" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Абнавіць" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Абнавіць вынікі" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Дэталі" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Паказаць дэталі" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d пад %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "_Рахунак" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_З:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Да:" #: ../src/rep-budget.c:787 msgid " over" msgstr "" #: ../src/rep-budget.c:793 msgid " left" msgstr "" #: ../src/rep-budget.c:796 msgid " under" msgstr "" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Бюджэт" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Вынік" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Справаздача па бюджэце" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Бюджэт:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Выдаткавана:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Выдаткавана" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Падкатэгорыя" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Пазнака" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Месяц" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Год" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Выд. і прыб." #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Паказаць легенду" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Змяніць стаўку" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Справаздача па статыстыцы" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Па _суме" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Баланс:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Прыбытак:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Выдатак:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Дзень" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Тыдзень" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Катэгорыя:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "Атрымальнік плаця_жу:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Тэг:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Лічыльнік" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Паліва" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Кошт" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Адлегл." #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Экспарт у CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Лічыльнік:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Спажыванне:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Кошт паліва:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Іншыя выдаткі:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Агульны кошт:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(пуста)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Бачны" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Памылка" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Не магу пераназваць гэты Акаўнт.\n" "з '%s' у '%s',\n" "гэтае імя ўжо выкарыстоўваецца." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Кіраванне рахункамі" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Агульны" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Кож_ны:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "П_лацёж:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Уладальнік:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Імя:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Пачатковы:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Перавышэнне на:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "Файлы QIF" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX файлы" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "Файлы CSV" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Усе файлы" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Усе" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Нічога" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Інвертаваць" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "дзён" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Супастаўленне вырабляецца ў наступным парадку: па рахунку, па суме і па " "даце.\n" "Розніца ў датах \"0\" дзён азначае дакладнае супадзенне." #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Памылка фармату файла" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Кіраванне бюджэтам" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Травень" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Прыбыткі" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Немагчыма пераназваць катэгорыю\n" "з '%s' у '%s',\n" "гэтае імя ўжо выкарыстоўваецца." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Кіраванне катэгорыямі" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "Лі_чбаў пасля коскі:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Экспартаваць як QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Імпарт з CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "Файлы HomeBank" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Опцыя:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Інфармацыя" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "З _улікам рэгістру" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Перадача" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Чыннік:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "паказаць 'Дададзены'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "паказаць 'Зменены'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Немагчыма пераназваць гэтага Атрымальніка,\n" "з '%s' у '%s',\n" "гэтае імя ўжо выкарыстоўваецца." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Кіраванне Атрымальнікамі" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Вонкавы выгляд" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "" #: ../src/ui-pref.c:89 msgid "Report" msgstr "" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Па змаўчанні" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Толькі значкі" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Толькі тэкст" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Тэкст пад значкамі" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Тэкст побач са значкамі" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango лёгкі" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango ўмераны" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango цёмны" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Паказаць па _суме" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Паказаць слупок курсу" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Паказаць _дэталі" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Прадусталяванне:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "Панэль пр_ылад" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Выкарыстаньне карыстацкіх колераў" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "Вы_датак:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "Пры_бытак:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "Пап_ярэджанне:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "І_мпарт" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Экспарт" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Загрузіць апошні адчынены файл" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Налады" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Дадаць транзакцыю" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Успадкаваць транзакцыю" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Дата:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Улу_чыць" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Выкл_ючыць" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Гатоўка" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Крэдытная карта" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Апошнія 30 дзён" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Апошні год" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Усе даты" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Студзень" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Люты" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Сакавік" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Красавік" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Чэрвень" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Ліпень" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Жнівень" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Верасень" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Кастрычнік" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Лістапад" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Снежань" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Спраўдзіць" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "" homebank-5.3.2/po/zh_TW.po0000644000175000017500000025324213620025325012245 00000000000000# Traditional Chinese translation for homebank # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the homebank package. # 線上英文說明 : http://homebank.free.fr/help/index.html # FIRST AUTHOR , 2007. # # Translator: Barlos Lee , 2010 # Taiwan traditional Chinese translation for "HomeBank 4.4" # where to to the translated homebank.mo file / 哪邊放翻譯好的 homebank.mo 已中文化檔案 # \HomeBank\share\locale\zh_TW\LC_MESSAGES\homebank_new.mo msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2019-10-09 15:31+0000\n" "Last-Translator: Daniel Li \n" "Language-Team: Traditional Chinese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" "Translator: Wayne Su \n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "個人財務" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "自由易用的個人財務管理" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "財務;會計;預算;個人;錢;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "HomeBank 是自由軟體可以協助您管理個人財務" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "它的設計易於使用,並能夠使用強大的過濾工具和美麗的圖表詳細分析您的個人財務。" #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "如果您正在尋找一個完全免費而簡單的方法來管理您的個人財務,那麼HomeBank會是首選軟體。" #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "有 %d 組相似交易" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "沒有找到相似交易!" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "檢查內部交易結果" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "沒發現不一致!" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "發現不一致: %d\n" "您是否要檢查修正?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "每個交易總額會被%.6f.分割" #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "您是否確定轉換這個帳戶\n" "以歐元為主要貨幣?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "轉換(_C)" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "沒有變更任何交易" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "交易變更為: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "自動填入結果" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "您是否要建立一個新的範本,\n" "包含每個已選取的交易?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "建立(_C)" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "您是否要刪除選取的交易?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "刪除(_D)" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "您是否確定要變更狀態為無?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "有些選擇的交易已經核銷" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "變更(_C)" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "您是否要切換狀態為已核銷?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "切換 (_T)" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "%d 交易" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "共 %d 交易, 選擇了%d 筆, 平均: %s, 總合: %s (%s - %s)" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "帳戶(_C)" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "輸出 QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "匯出 CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "匯出為PDF..." #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "關閉 (_C)" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "編輯 (_E)" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "複製" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "貼上" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "貼上(今日)" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "交易(_O)" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "新增(_A)..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "繼承 (_I)..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "編輯 (_E)..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "狀態(_S)" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "無(_N)" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "已登帳(_C)" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "已核銷(_R)" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "複合編輯(_M)..." #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "建立範本..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "刪除(_D)…" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "尋找(_F)" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "工具(_T)" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "標記重複..." #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "檢查內部交易" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "自動填入" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "過濾項目(_F)..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "轉換為歐元..." #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "加入新的交易" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "新增" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "繼承現有的交易" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "繼承" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "編輯現有的交易" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "編輯" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "切換選擇的交易為已登帳" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "切換選擇的交易為已核銷" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "編緝複合交易" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "建立範本" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "刪除選擇的交易" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "(已關閉)" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "所有交易" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "重新整理(_R)" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "範圍(_R):" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "切換顯示未來的交易" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "類型(_T):" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "狀態(_S):" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "重新設定(_R)" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "開啟清單過濾工具" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "歐元次要(_m)" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "銀行:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "今天:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "未來:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "將未儲存的改變復原為 '%s'?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "- 這個檔案的改變將永久消失\n" "- 檔案將會重新載入上次儲存的 (.xhb~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "復原(_R)" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "您確定要匿名化這個檔案?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "繼續會將所有內文匿名化\n" "例如 '帳戶 X', '收款人 Y', '備註 X', ..." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "匿名化(_A)" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "歡迎使用 HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "您想要做什麼:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "閱讀 HomeBank 使用說明(_M)" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "設定選項(_p)" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "建立一個新檔案 (_n)" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "開啟一個現有檔案(_O)" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "開啟範例檔案(_e)" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" "你正要開啟備份檔 '%s'\n" "\n" "你確定要這麼做嗎?" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "是否開啟備份檔?" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "_(O)開啟備份" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "未知的錯誤" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "'%s' 檔案 I/O 錯誤." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "'%s' 不是有效的 HomeBank 檔案" #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "'%s' 檔案是以更新版本的 HomeBank 儲存的\n" "不能被目前的版本載入." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "檔案錯誤" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "讀取之後這個檔案已經被修改" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "如果儲存它,將會失去所有外部作出的變更。仍要儲存它?" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "仍然儲存(_A)" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "清除" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "檔案 (_F)" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "新增 (_N)" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "開啟 (_O)..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "開啟最近使用檔案(_R)" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "儲存 (_S)" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "另存新檔(_A)…" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "匯入..." #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "匯出為QIF..." #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "還原" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "還原備份" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "屬性…" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "離開(_Q)" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "偏好設定..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "檢視 (_V)" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "工具列(_T)" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "最多花費(_T)" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "歐元次要" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "管理(_M)" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "帳戶(_O)..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "收款人 (_P)..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "分類..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "已排程/範本..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "預算..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "自動填入..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "幣別..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "標籤..." #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "交易 (_T)" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "新增..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "顯示..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "顯示所有..." #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "設定排程..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "發佈排程" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "報告 (_R)" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "統計 (_S)..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "時間趨勢(_T)..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "預算 (_U)..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "交通工具花費(_V)" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "顯示歡迎視窗..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "檔案統計..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "匿名化..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "輔助說明 (_H)" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "內容 (_C)" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "取得線上說明..." #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "檢查更新..." #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "發行說明" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "問題回報..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "翻譯這個應用程式..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "關於 (_A)" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "建立一個新檔案" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "開啟(_O)" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "開啟檔案" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "開啟最近使用的檔案" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "儲存目前檔案" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "設定帳戶" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "編輯收款人" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "編輯分類" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "設定排程/交易範本" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "設定預算" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "設定自動填入" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "顯示選取的帳戶的交易" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "新增交易" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "開啟統計報告" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "開啟時間趨勢報告" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "開啟結餘報告" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "開啟預算報告" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "開啟交通工具花費報告" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "贊助HomeBank專案" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "已排程" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "未來" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "提醒" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(沒有類別)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "無效的 CSV 格式" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "日期" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "資訊" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "收款人" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "備註" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "金額" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "結餘" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "未知" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "mi./l" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(沒有收款人)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "%d-第%d週" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "%d-第%d季" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "輸出版本資訊後離開" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[檔案]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "瀏覽器錯誤" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "無法顯示網址 %s" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "HomeBank 選項" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "無法開啟「%s」,該檔案不存在。\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(沒有機構)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "(沒有群組)" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "您的帳戶" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "全部展開" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "全部收起" #: ../src/hub-account.c:547 msgid "Show all" msgstr "顯示全部" #: ../src/hub-account.c:552 msgid "By type" msgstr "依類別" #: ../src/hub-account.c:553 msgid "By group" msgstr "依群組" #: ../src/hub-account.c:554 msgid "By institution" msgstr "依機構" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "沒有新增交易" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "交易已新增: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "檢查已排程交易結果" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "總計" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "已排程交易" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "略過" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "編輯並發佈" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "發佈" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "最大發佈日期" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "最多花費" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "最高 %d 花費" #: ../src/hub-spending.c:294 msgid "Other" msgstr "其他" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "您的錢花去哪裡" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "已匯入的帳戶" #: ../src/list-account.c:129 msgid "Grand total" msgstr "總計" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "帳戶" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "銀行" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "今天" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- 分割 -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "- 這需要類別 -" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "帳戶" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "狀態" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "支出" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "收入" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "分類" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "標籤" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "延遲" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "還有" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "下個日期" #: ../src/rep-balance.c:76 msgid "List" msgstr "清單" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "以清單檢視結果" #: ../src/rep-balance.c:77 msgid "Line" msgstr "折線圖" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "以折線圖檢視結果" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "重新整理" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "重新整理結果" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "明細" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "切換顯示明細" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d / %d 項低於 %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "結餘報告" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "顯示" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "帳戶(_C):" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "選擇全部 (_a)" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "每一天(_d)" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "縮放顯示(_Z):" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "日期過濾條件" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "從 (_F):" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "到(_T):" #: ../src/rep-budget.c:787 msgid " over" msgstr " 超支" #: ../src/rep-budget.c:793 msgid " left" msgstr " 剩餘" #: ../src/rep-budget.c:796 msgid " under" msgstr " 低於" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "%s 的預算" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "預算" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "結果" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "以柱狀圖檢視結果" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "結果到剪貼簿(_R)" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "結果到CSV檔(_R)" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "細項到剪貼簿(_D)" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "細項到CSV檔(_D)" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "預算報告" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "檢視(_V):" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "只顯示超出預算" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "結果:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "預算:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "花費" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "此預算沒有設定帳戶" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "您應該包含一些來自帳戶對話框的帳戶" #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "已支出" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "子分類" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "標籤" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "月" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "年" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "支出與收入" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s 依 %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "以柱狀圖檢視結果" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "以圓環圖檢視結果" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "切換顯示圖例" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "切換顯示百分比" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "編輯過濾條件" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "統計報告" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "模式:" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "按金額排序(_A):" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "間隔(_v):" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "結餘:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "收入:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "支出:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "平均" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "日" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "週" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "季" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "半年" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s 時間趨勢" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "平均: %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "時間趨勢報告" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "分類(_C):" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "收款人(_P):" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "標籤(_T):" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "累計(_C)" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "顯示空行" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "時段" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "里程表" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "燃料" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "價格" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "距離" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "匯出成 CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "交通工具花費報告" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "交通工具 (_c):" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "里程表:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "耗油:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "燃料費用:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "其它費用:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "總計費用:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(無)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "顯示" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "取消(_C)" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "確定(_O)" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "帳戶名稱" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "錯誤" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "無法新增帳戶 '%s',\n" "這個名稱已經被使用了" #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "無法刪除帳戶 '%s'" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "這個帳戶當中有內部轉帳的交易" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "您是否確定要永久刪除 '%s'?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "如果您刪除帳戶,內容將會永久消失" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "無法將帳戶名稱 %s 變更為 %s,\n" "這個名稱已存在。" #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "管理帳戶" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "重新命名" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "刪除" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "拖放變更順序\n" "按兩下重新命名" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "一般" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "群組(_G):" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "機構(_I):" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "帳號(_U):" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "起始餘額(_b):" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "幣別(_C):" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "此帳號已被關閉(_c)" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "備註:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "行為" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "自動化" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "預設範本(_T):" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "報告剔除" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "從帳號概況剔除 (_s)" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "從預算剔除(_b)" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "從任何報告剔除(_r)" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "其他" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "當前支票號碼" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "支票本(_1):" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "支票本(_2):" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "餘額限制" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "透支(_O):" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "如果您刪除了排程/範本,內容會永久消失" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "下一天(_d):" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "每(_Y):" #: ../src/ui-archive.c:982 msgid "More options" msgstr "更多選項" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "週末:" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "停止於(_S):" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "發佈" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "管理已排程/範本交易" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "排程(_S)" #: ../src/ui-assign.c:303 msgid "Search" msgstr "搜尋" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "說明" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "如果您刪除自動填入,它會永久消失" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "已停用" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "留空白" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "覆寫" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "管理自動填入" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "條件" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "搜尋(_S):" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "區分大小寫" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "正規表示式" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "付款方式(_M):" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "新 HomeBank 檔案 (%d of %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "找不到" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "擁有人(_O):" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "貨幣:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "檔案屬性" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "系統檢測" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "語系:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "預設檔案:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "以這個檔案重設我的分類" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "預設分類" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "資訊" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "名稱 (_N):" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "餘額" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "最初(_I):" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "可透支到(_O):" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "建立帳戶" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "這是一個確認頁面, 請按「套用」, 讓改變生效。" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "確認" #: ../src/ui-assist-import.c:472 msgid "" msgstr "<新帳戶(通用)>" #: ../src/ui-assist-import.c:477 msgid "" msgstr "<新帳戶>" #: ../src/ui-assist-import.c:498 msgid "" msgstr "<略過這個帳戶>" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "有效" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "名稱" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "已知檔案" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF 檔案" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX 檔案" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV 檔案" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "所有檔案" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "新通用帳戶" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "新帳戶" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "略過" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "部分日期無法轉換. 請嘗試變更日期順序後再繼續" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "匯入 %s到(_t):" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "這個檔案" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "這個帳戶" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" "名稱: %s\n" "數量: %s\n" "檔案: %s\n" "編碼: %s" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "從銀行或信用卡匯入交易" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" "這個小幫手會引導你匯入由銀行或信用卡\n" "下載的帳單, 支援以下格式:" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" "推薦: .OFX 或 .QFX\n" "(有時也稱為 Money™ 或 Quicken™)\n" "支援: .QIF\n" "(一般的 Quicken™ 檔案)\n" "只建議進階使用者: .CSV\n" "(適用於 HomeBank 的格式請參考說明件文)" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "在小幫手最後按下「套用」之前不會有任何改變。" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "不再顯示" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" "在你選擇的檔案中有過多帳戶,\n" "請使用返回鍵選擇較少檔案。" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "日期排序:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "匯入備註(_I)" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "OFX 名稱(_N):" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "OFX備註(_M):" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "選取:" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "全部" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "無" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "反相選取" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "在目標帳戶中有相似交易(可能是相同重覆)" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "日期間隔(_g):" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "天" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "已按以下順序完成比對:帳戶、金額、日期。\n" "日期誤差為 0 表示必須完全相同" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "自動填入" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "歡迎" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "選擇檔案" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "匯入" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "檔案格式錯誤" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" "CSV 檔案必須包含特定欄位並以分號分隔, \n" "請見輔助說明有更多細節" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "您確定要清除輸入?" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "如果您繼續, 總額將被設為0" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "清除 (_C)" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "管理預算" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "匯入CSV(_I)" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "匯出CSV(_x)" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "每月相同" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "清除輸入(_C)" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "每月不同" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "選項" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "強制監視此分類(_F)" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "1月" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "2月" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "3月" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "4月" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "5月" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "6月" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "7月" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "8月" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "九月" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "10月" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "11月" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "12月" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "總覽" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "總計" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "月平均" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "每月" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "增加類別" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "套用(_A)" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "分類名稱" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "這個類別已經不用\n" "使用此類別的交易將會被設為(無類別)" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "目標類別" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "刪除(_D)類別 '%s'" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "增加分類" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "移除分類" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "合併" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "清除輸入" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "刪除未使用的類別" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "您是否確定永久\n" "刪除未使用的類別" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "編輯..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "收入 (_I)" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "無法將分類名稱 %s 變更為 %s,\n" "這個名稱已存在。" #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "合併類別 '%s'" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "交易被指定到這個類別,\n" "會被移動到下面選擇的類別" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "管理分類" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "刪除(_D)未使用的" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "新類別" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "新次類別" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "基準幣別" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "符號" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "匯率" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "最後修改" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "編輯幣別" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "幣別" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "格式" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "自訂(_C)" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "符號(_S):" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "前綴(_f)" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "進位符號(_D)" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "小數位數(_F):" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "分組符號(_G)" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "選擇基準幣別" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "選擇貨幣" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "ISO 代碼" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "新增自訂貨幣(_c)" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "_ISO:" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "更新線上錯誤" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "如果您刪除一個幣別,它將會永久消失" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "變更基準幣別" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" "如果您繼續,其他幣別的匯資\n" "將會被設為0, 請勿忘記更新" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "貨幣" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "線上更新" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "設為基準" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "檔案統計" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "交易" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "自動填入" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "更新" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "選擇基準幣別" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "從HomeBank v5.1版起可以管理多種貨幣\n" "如果下列幣別不正確,請變更:" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "匯出成 QIF 檔案" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "從 CSV 檔案匯入" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "開啟 HomeBank 檔案" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "開啟 HomeBank 備份檔案" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "儲存 HomeBank 檔案為" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "HomeBank 檔案" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "檔案備份" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "全部備份" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "關閉檔案前儲存變更?" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "如果您不儲存, 變更將會永久消失\n" "變更數: %d" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "關閉但不儲存 (_W)" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "匯出成 PDF" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "匯出為PDF檔(_P)" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "資料夾:" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "選擇資料來" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "檔案名稱:" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "選取一些可能的交易..." #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "選擇行動:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "建立一筆新交易" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "選取一筆已存在的交易" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "HomeBank 找到一些交易, 也許是與內部互轉連結." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "選項(_O):" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "備註(_M):" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "資訊(_I):" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "區分大小寫(_S)" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "任何狀態" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "已登帳" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "已核銷" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "任何類型" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "轉帳" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "强制:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "顯示「已新增」" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "顯示「已編輯」" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "顯示「提醒」" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "日期" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "付款" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "金額" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "文字" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "類別" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "收款人" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "已排程交易" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "新增直至" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "每個月(排除)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "新增" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "未來天數, 以當下日期為基準" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "交通工具花費" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "支出" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "刪除未使用的收款人" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "您是否確定要永久地\n" "刪除未使用的收款人?" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "預設值" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "支付(_y)" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "無法將收款人名稱 %s 變更為 %s,\n" "這個名稱已存在。" #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "合併收款人 '%s'" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "已經指定給這個收款人的交易,\n" "將會移動到下面選擇的收款人" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "刪除收款人(_D) '%s'" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "此收款人已不使用\n" "使用此收款人的交易將被設為(無收款人)" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "管理收款人" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "新收款人" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "介面" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "地區" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "交易" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "匯入/匯出" #: ../src/ui-pref.c:89 msgid "Report" msgstr "報告" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "備份" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "資料夾" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "系統預設" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "只有圖示" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "只有文字" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "文字在圖示下方" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "文字在圖示旁邊" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "水平" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "垂直" #: ../src/ui-pref.c:109 msgid "Both" msgstr "兩者皆是" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango 亮色" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango 一般" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango 暗色" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "月-日-年" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "日-月-年" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "年-月-日" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "忽略" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "增加到資訊" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "增加到備註" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "增加到收款人" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "分頁" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "逗號" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "分號" #: ../src/ui-pref.c:149 msgid "Space" msgstr "空白鍵" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "系統語言" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "選擇 HomeBank 檔案預設資料夾" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "選擇 HomeBank 預設備份資料夾" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "選擇預設匯入資料夾" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "選擇預設匯出資料夾" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "一般選項" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "OFX/QFX 選項" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "QIF 選項" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "分隔符號:" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "初始過濾條件" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "圖表選項" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "配色方案:" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "統計選項" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "按金額排序(_A)" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "顯示百分比欄位(_R)" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "顯示明細 (_D)" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "預算選項" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "啟用(_E)" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "顏色組合(_P):" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "使用者介面" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "語言(_L):" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "顯示日期(_D):" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "格式(_F):" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "會計年度" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "起始於(_o):" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "計量單位" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "使用英哩(_m)" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "使用加侖(_g)" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "交易視窗" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "顯示未來(_S):" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "未來幾天" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "複合新增" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "保留最後日期" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "自動填入備註" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "使用" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "工具列(_T):" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "網格線(_G):" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "帳戶顏色" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "使用自訂顏色" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "支出(_E):" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "收入(_I):" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "警告(_W):" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "啟用自動備份(_E)" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "維持幾個備份(_N):" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "每日備份一次" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "錢包(_W):" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "備份(_B):" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "交易檔案" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "匯入 (_I):" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "匯出 (_E):" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "程式開始" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "顯示潑濺(splash)畫面" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "載入最後開啟的檔案" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "發佈待定的交易排程" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "線上更新貨幣" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "主視窗報告" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "重置所有偏好設定" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" "您是否確定將\n" "所有備好設定\n" "重置為預設值" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "偏好設定" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "您必須重新啟動 HomeBank\n" "使語言變更生效" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "分割交易" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "全部刪除" #: ../src/ui-split.c:851 msgid "Apply" msgstr "套用" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "取消" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "交易總額:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "未指定:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "分割的總和:" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "無法將標籤由\n" "'%s' 重新命名為 '%s'\n" "這個名稱已經存在。" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "管理標籤" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "新標籤" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "您是否要中斷內部轉帳?\n" "繼續將會刪除目標交易" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "中斷(_B)" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "顯示排程(_s)" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "顯示所有帳戶(_a)" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "使用樣版" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "新增並保留(_K)" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "新增 (_A)" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "發佈(_P)" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "新增交易" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "新層樣版" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "繼承交易" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "編輯交易" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "編輯範本" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "日期 (_D):" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "收件者(_O):" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "分類(_G):" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "備註(_e):" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "標籤(_T):" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "警告:金額與類別不相符" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "複合編輯交易" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "範本" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "時間" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "趨勢" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "關閉" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "包含" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "不包含" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(沒有類型)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "現金" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "資產" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "信用卡" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "債務" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "本月" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "上個月" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "這一季" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "上一季" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "今年" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "去年" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "過去 30 天" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "過去60天" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "過去 90 天" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "過去 12 個月" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "自訂" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "所有日期" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "允許" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "提前" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "延後" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "未登帳" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "未核銷" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "尚未分類" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "週一" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "週二" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "週三" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "週四" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "週五" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "週六" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "周日" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "1月" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "2月" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "3月" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "4月" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "6月" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "7月" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "8月" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "9月" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "10月" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "11月" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "12月" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "9月" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "搜尋..." #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "支票" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "銀行交易" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "簽帳卡" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "定期轉帳代繳" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "電子付費" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "存款" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "金融機構費用" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "直接債務" homebank-5.3.2/po/ca.po0000644000175000017500000026163613620025310011575 00000000000000# Catalan translation for homebank # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the homebank package. # Joan Duran , 2008, 2009. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2019-08-24 18:40+0000\n" "Last-Translator: AniolOliver \n" "Language-Team: Catalan \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Finances personals" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Comptabilitat personal, lliure i senzilla per a tothom." #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "finances;comptabilitat;pressupost;personal;diners;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "El HomeBank és un programari lliure que us ajudarà a gestionar la vostra " "comptabilitat personal." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "S'ha dissenyat per ser fàcil d'utilitzar i permetre-us analitzar les vostres " "finances personals en detall utilitzant eines de filtrat potents i gràfiques " "intuïtives." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Si esteu buscant una manera fàcil i totalment gratuita de gestionar la " "vostra comptabilitat personal, el HomeBank és la vostra millor opció." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "Hi ha %d grups de transaccions similars" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "No s'ha trobat cap transacció similar" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "Comprovi el resultat de la transferència interna" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "No s'ha trobat cap inconsistència." #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "S'han trobat inconsistències: %d\n" "Les voleu revisar i corregir?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "L'import de totes les transaccions es dividirà per %.6f." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Esteu segur que voleu convertir aquest compte\n" "a la moneda principal EURO?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Converteix" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "No ha canviat cap transacció" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "transacció canviada: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "Resultat de les assignacions automàtiques" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Voleu crear una plantilla amb cadascuna\n" "de les transaccions seleccionades?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "_Crea" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Voleu suprimir les\n" "transaccions seleccionades?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_Suprimeix" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Segur que voleu canviar l'estat a Cap?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "Alguna transacció de la teva selecció ja està conciliada." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Canvia" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Segur que voleu commutar l'estat a Conciliat?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_Commuta" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "%d transaccions" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d transaccions, %d seleccionat, promig: %s, suma: %s (%s -%s)" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "_Compte" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Exporta QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Exporta a CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "Exporta a PDF..." #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Tanca" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Edita" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "_Transacció" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Afegeix..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Heretar..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Edita..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Estat" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Cap" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "_Netejat" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Reconciliado" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "Edició _múltiple..." #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Crea una plantilla..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Suprimeix..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Eines" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "Marca com a duplicat ..." #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "Auto. assignacions" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filtre..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Convertir a Euro..." #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Afegeix una transacció nova" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Afegeix" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Hereta de la transacció activa" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Hereta" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Edita la transacció activa" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Edita" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "Commuta a netejat les transaccions seleccionades" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "Commuta a conciliat les transaccions seleccionades" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Edita múltiples transaccions" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Crea una plantilla" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Suprimeix les transaccions seleccionades" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "(tancat)" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "Totes les transaccions" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "_Actualitza" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Interval:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "Alterna mostrar transacció futura" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Tipus:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Estat:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_Restableix" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Obre el filtre de llista" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "Cèntim d'Euro" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Entitat financera:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Avui:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Futur:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Revertir els canvis no guardats a l'arxiu '%s'?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "-Els canvis realitzats al fitxer es perdran definitivament.\n" "-El fitxer es carregarà a partir de l'últim desat." #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Reverteix" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Està segur de voler anonimitzar l'arxiu?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Procedint a xifrar qualsevol text,\n" "com 'compte x', 'beneficiari i', 'descripció z'," #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Anonimiza" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Benvingut al HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Què voleu fer:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Llegir HomeBank _Manual" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "Configura _preferències" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Crea un _nou fitxer" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Obre un fitxer existent" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Obrir el fitxer d'_exemple" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" "Esteu a punt d'obrir un arxiu de còpia de seguretat '%s'\n" "Segur que voleu fer-ho?" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "Obrir l'arxiu de còpia de seguretat?" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "_Obrir còpia de seguretat" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Error desconegut" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "S'ha produït un error d'entrada/sortida al fitxer '%s'." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "El fitxer '%s' no és un fitxer vàlid per HomeBank." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "El fitxer '%s' va ser desat per una versió més nova del HomeBank\n" "i per tant, no es pot carregar amb la versió actual." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "S'ha produït un error de fitxer" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "El fitxer ha sigut modificat des de que s'ha llegit." #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Si el deseu, tots els canvis externs fets es poden perdre. Voleu desar-lo " "igualment?" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "De_sa igualment" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Fitxer" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Nou" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Obre..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "Obre recent" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Desa" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "Anomena i _desa..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "Importa..." #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "Exporta com a QIF ..." #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Recupera" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "Restaura còpia de seguretat" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Propietats..." #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Surt" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Preferències..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Visualitza" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Barra d'eines" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_Despeses principals" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "_Llistes de transaccions" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro minor" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Gestiona" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "C_omptes..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Beneficiaris..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Categories..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Organitzador/Plantilla..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Pressupost..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Assignacions..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Monedes..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "Etiquetes..." #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Transaccions" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Afegeix..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Mostra..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "Mostra-ho tot ..." #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Ajust del planificador..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Afegeix les operacions planificades" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Informes" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Estadístiques" #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Tendència temporal..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "P_ressupost..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "_Cost vehicle..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Mostra el diàleg de benvinguda..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Estadístiques del fitxer" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Anonimitza..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "A_juda" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "C_ontingut" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "Cerca actualitzacions" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "Notes de la versió" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Informeu d'un problema..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Traduïu aquesta aplicació..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_Quant a" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Crea un fitxer nou" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Obre" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Obre un fitxer" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Obre un fitxer utilitzat recentment" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Desa el fitxer actual" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Edita els comptes" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Configura els beneficiaris" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Configura les categories" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Configura l'organitzador/plantilla de transaccions" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Configura el pressupost" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Configura les assignacions automàtiques" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Mostra les transaccions del compte seleccionat" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Afegeix transaccions" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Obre l'informe d'estadístiques" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Obre l'informe de tendència temporal" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Obre l'informe de saldo" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Obre l'informe de pressupost" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Obriu l'informe de costos del vehicle" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "Planificat" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Futur" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "Recorda" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(sense categoria)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "format CSV no vàlid" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Data" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Informació" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Beneficiari" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Descripció" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Quantitat" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Saldo" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Desconegut" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "Quilòmetres per litre" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "Milles per litre" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(sense beneficiari)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "%d-S%d" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "%d-T%d" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Mostra la informació de la versió i surt" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[FITXER]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Error del navegador." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "No s'ha pogut mostrar l'URL «%s»" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Opcions del HomeBank" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "No s'ha pogut obrir «%s», el fitxer no existeix.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(sense institució)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Els teus comptes" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Expandeix-ho tot" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Agrupa-ho tot" #: ../src/hub-account.c:547 msgid "Show all" msgstr "Mostra-ho tot" #: ../src/hub-account.c:552 msgid "By type" msgstr "Per tipus" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "Per institució" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "No hi ha cap transacció per afegir" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "transacció afegida: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Comproveu el resultat previst de transaccions" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Transaccions programades" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Omet" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Edita i afegeix" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Afegeix" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "data màxima per afegir" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Despesa major" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "Les %d despeses més grans" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Altre" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "On van els teus diners" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "compte importat" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Suma total" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Comptes" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Entitat financera" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Avui" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- separador -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Compte" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Estat" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Despeses" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Ingressos" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Categoria" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Etiquetes" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Aplaçat" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "Pendents" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Pròxima data" #: ../src/rep-balance.c:76 msgid "List" msgstr "Llista" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Visualitza els resultats com a llista" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Línia" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Visualitza els resultats com a línies" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Actualitza" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Actualitza els resultats" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Detalls" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Commuta els detalls" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d a sota %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Informe de saldo" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Pantalla" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "_Compte:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "_Selecciona-ho tot" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Cada _dia" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Amplia les X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Filtre per data" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Des de:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Fins a:" #: ../src/rep-budget.c:787 msgid " over" msgstr " sobre" #: ../src/rep-budget.c:793 msgid " left" msgstr " queda" #: ../src/rep-budget.c:796 msgid " under" msgstr " sota" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "Pressupost per %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Pressupost" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Resultat" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "Veure els resultats com barres de pila" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "_Resultat al portapapers" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "_Resultat a CSV" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "_Detall al portapapers" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "_Detall a CSV" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Informe del pressupost" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Visualitza per:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "Només fora de pressupost" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Resultat:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Pressupost:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Gastat:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "No s'ha definit cap compte per ser-ne part del pressupost." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "Hauríeu d'incloure alguns comptes des del diàleg de comptes." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Gastat" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Subcategoria" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Etiqueta" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Mes" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Any" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Ing. i desp." #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s per %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "Mostra els resultats en columnes" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "Mostra els resultats en donut" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Commuta la llegenda" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Commuta el percentatge" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "Edita el filtre" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Informe estadístic" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Per _import" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "Inter_val:" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Saldo:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Ingressos:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Despeses:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Dia" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Setmana" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Trimestre" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "Semestre" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s de temps afegit" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "Promig:%s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Informe de tendència temporal" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "Cate_goria:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Beneficiari:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Etiqueta:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Acumulat" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "Mostra línia buida" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Partició temporal" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Comptaquilòmetres" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Combustible" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Preu" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Dist." #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Exporta com a CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Informe del cost del vehicle" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "Vehi_cle:" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Comptaquilòmetres:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Consum:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Cost del combustible:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Altres costos:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Cost total:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(cap)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Visible" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Cancel·la" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_D'acord" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Nom del compte" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Error" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Impossible afegir un compte '%s',\n" "aquest nom ja existeix" #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "No es pot suprimir el compte '%s'" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" "Aquest compte té transaccions i/o és part de transferències internes." #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Segur que voleu eliminar definitivament '%s'?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "Si esborreu un compte, aquest no es podrà recuperar." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "No es pot canviar el nom d'aquest compte,\n" "de «%s» a «%s»,\n" "aquest nom ja existeix." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Gestió dels comptes" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Arrossega i deixa anar per ordenar\n" "Doble clic per renombrar" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "General" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "_Número:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Saldo _inicial:" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "_Moneda" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "aquest compte ha estat _tancat" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "Notes:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "_Plantilla per defecte" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Exclòs de l'informe" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "exclou del resum del _compte" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "exclou del _pressupost" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "exclou de qualsevol _informe" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Número actual del xec" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Bloc de xecs_1:" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Bloc de xecs_2:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "Límits de saldo" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "_Descobert a:" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" "Si esborreu una transacció programada o una plantilla, aquesta no es podrà " "recuperar." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Pròxima_data" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Ca_da:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Cap de Setmana" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_atura després de:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "entrades" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Gestioni programada / transaccions de plantilla" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "Si esborreu una assignació, aquesta no es podrà recuperar." #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "Inhabilitat" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "Si està buit" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "Sobreescriu" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Gestiona les assignacions" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Condició" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Paga_ment:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Nou fitxer HomeBank (%d de %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "No s'ha trobat" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Propietari:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "Moneda:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Propietats dels fitxers" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "Detecció del sistema" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Idiomes:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Fitxer predefint:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Inicialitza les meves categories amb aquest fitxer" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Categories predefinides" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "Informació" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Nom:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Saldos" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Inicial:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Descobert de:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Crea un compte" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Aquesta és una pàgina de confirmació, premeu «Aplica» per aplicar els canvis" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Confirmació" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "Vàlid" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Nom" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Fitxers coneguts" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "Fitxers QIF" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "Fitxers OFX/QFX" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "Fitxers CSV" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Tots els fitxers" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "nou compte global" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "nou compte" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "ignorat" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr ", %d de %d transaccions" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" "Alguna data no pot ser convertida. Intenti canviar el format de la data per " "continuar." #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "Importa %s a:" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "aquest arxiu" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "aquest compte" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" "Nom: %s\n" "Número: %s\n" "Arxiu: %s\n" "Codificació: %s" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "Importa transaccions des d'un banco o targeta de crèdit" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" "Amb aquest assistent se li indicarà la forma d'importar un o diversos\n" "moviments descarregats des del seu banc o targeta de crèdit, en els següents " "formats:" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" "Recomanat: .OFX o .QFX\n" "(A vegades anomenat Money™ o Quicken™)\n" "Suportat: .QIF\n" "(Arxiu Quicken™ usual)\n" "Només usuaris avançats: .CSV\n" "(format específic de HomeBank, mireu la documentació)" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" "No es realitzaran canvis fins que faci clic a \"Aplica\" al final d'aquest " "assistent." #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "No tornis a mostrar aquest missatge" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" "Hi ha massa comptes en els fitxers seleccionats,\n" "torneu enrere i seleccioneu menys fitxers." #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "La identificació del compte de destí per nom o número ha fallat." #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "ordre de la data" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "_Importa descripcions" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "_Intercanviar descripcions amb beneficiaris" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "Nom _OFX:" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "OFX _Descripció:" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "Selecciona:" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Tots" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Cap" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Inverteix" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "_Convertir a majúscules els camps descripció/beneficiari" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "Transacció similar en el compte destí (possiblement duplicada)" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "Interval de _dates:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "dies" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "La coincidència es realitza per ordre: per compte, per quantitat i per " "data.\n" "Una tolerància de data de 0 dies significa una data exacta" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "Benvingut" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "Seleccioni arxiu(s)" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "Importa" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Error en el format del fitxer" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" "El fitxer CSV ha de contenir el nombre exacte de columnes,\n" "separades per un punt i coma, si us plau vegeu l'ajuda per a més detalls." #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "Esteu segur que voleu esborrar l'entrada?" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "Si continua, cada quantitat serà reiniciada a 0." #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "_Neteja" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Gestiona el pressupost" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "_Importa CSV" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "E_xporta CSV" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "_Esborra entrada" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Preferències" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Força fer un seguiment d'aquesta categoria" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Gen" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Abr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Maig" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Ago" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Oct" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Des" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Aquesta categoria està sent utilizada.\n" "Tota operació que utilitzi aquesta categoria serà modificada com a (sense " "categoria)" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "_Suprimeix la categoria '%s'" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "Fusiona" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "Elimina les categories no utilizades" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Esteu segur que voleu suprimir\n" "permanentment les categories\n" "no utilitzades?" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "Edita…" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Ingressos" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "No es pot canviar el nom d'aquesta categoria,\n" "de «%s» a «%s»,\n" "aquest nom ja existeix." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "Fusiona la categoria '%s'" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "Les transaccions assignades a aquesta categoria, \n" "seran desplaçades a la categoria seleccionada més avall" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Gestioneu les categories" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "_Elimina no utilitzades" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "nova categoria" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "nova subcategoria" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Moneda base" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Símbol" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "Tipus de canvi" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "Darrera modificació" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Edita la moneda" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "Moneda" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "Format" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "_Personalitza" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "_Símbol:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "Es _prefix" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "Separador _decimal:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Número de decimals:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "Separador de milers:" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Selecciona la moneda base" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Seleccioneu la moneda" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "Codi ISO" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "Afegeix una moneda personalitzada" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "_ISO:" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "Actualitza error de connexió" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "Si elimineu una moneda, aquesta es perdrà definitivament" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Canvieu la moneda base" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" "Si ho fa, els tipus d'altres monedes seran\n" "establerts a zero, no s'oblidi d'actualitzar-los." #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Monedes" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "Actualitza online" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "Establir com a base" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Estadístiques del fitxer" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "Transacció" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "Assignació" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "Actualiza" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "Seleccioneu la moneda base" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "Des de la v5.1, HomeBank pot gestionar diverses monedes\n" "si la següent moneda no és correcta, canvieu-la:" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Exporta a QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Importa des de CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "Obre un fitxer de HomeBank" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "Obre una còpia de seguretat de HomeBank" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "Desa l'arxiu HomeBank com a" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "Fitxers homebank" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "Arxiu de còpia de seguretat" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "Totes les còpies de seguretat" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "Voleu desar les dades abans de tancar?" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Si no ho deseu, els canvis es perdran definitivamente.\n" "Nombre de canvis:% d" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "Tanca _sense desar" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "Exporta com a PDF" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "Exporta com a _PDF" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "Carpeta:" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "Escull una carpeta" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "Nom de fitxer:" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Seleccioneu entre les possibles transaccions..." #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Seleccioni una acció:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "crea una nova transacció" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "seleccioneu una transacció existent" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "HomeBank ha trobat alguna operació que pugui estar associat a la transacció " "per a la transferència interna." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Opció:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Descripció" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Informació:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "_Distingeix entre majúscules i minúscules" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Qualsevol estat" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "Liquidat" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "Conciliat" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Qualsevol tipus" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Transferència" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Força:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "mostra «Afegit»" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "mostra «Editat»" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "mostra 'Recordatori'" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "Dates" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "Pagaments" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "Imports" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "Textos" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "Categories" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "Beneficiaris" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Transacció programada" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "afegir fins" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "de cada mes (no inclosos)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "afegeix" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "dies d'antelació a la data actual" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Cost del vehicle" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "Elimina el beneficiari no utilitzat" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Esteu segur que voleu eliminar\n" "permanentment el beneficiari no utilitzat?" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "Per defecte" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "Pa_gament:" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "No es pot canviar el nom d'aquest beneficiari,\n" "de «%s» a «%s»,\n" "aquest nom ja existeix." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "Uneix beneficiaris '%s'" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Les transaccions associades a aquest beneficiari, \n" "seran desplaçades al beneficiari seleccionat més avall." #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "_Elimina el beneficiari '%s'" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "Aquest beneficiari està sent utilitzat.\n" "Tota operació que utilitzi aquest beneficiari serà definida com a (sense " "beneficiari)" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Gestiona els beneficiaris" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "nou beneficiari" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Interfície" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "Configuració local" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Transaccions" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Importa/exporta" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Informe" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "Còpia de seguretat" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "Carpetes" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Valors predeterminats del sistema" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Només icones" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Només text" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Text sota les icones" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Text al costat de les icones" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "Horitzontal" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "Vertical" #: ../src/ui-pref.c:109 msgid "Both" msgstr "Ambdues" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango lleuger" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango mitjà" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango obscur" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "m-d-a" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "d-m-a" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "a-m-d" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Ignora" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Afegeix a la informació" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Afegeix a la descripció" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "Afegeix al beneficiari" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "Tabulació" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "Coma" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "Punt i coma" #: ../src/ui-pref.c:149 msgid "Space" msgstr "Espai" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Idioma del sistema" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Escollir una carpeta Homebank per defecte" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Escollir una carpeta d'importació per defecte" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Escoller una carpeta d'exportació per defecte" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "Opcions generals" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "Opcions OFX/QFX" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "Opcions QIF" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "Opcions CSV" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "(només la transacció importada)" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "Separador:" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Filtre inicial" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Opcions dels gràfics" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "Esquema de colors:" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Opcions d'estadístiques" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Mostra per l'_import" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Mostra la columna del _percentatge" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Mostra els _detalls" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Opcions de pressupost" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Habilita" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Predefinit:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "Interfície d'usuari" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Idioma:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "Mostra _Dates:" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "_Format:" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" "%a nom abreujat del dia de la setmana.\n" "%A nom complet del dia de la setmana.\n" "%b nom abreujat del mes.\n" "%B nom complet del mes.\n" "%c format local de data i hora.\n" "%C segle (any dividit per 100 i arrodonit a sencer) com a decimal [00-99].\n" "%d dia del mes com a decimal [01,31].\n" "%D equivalent a %m /%d /%y.\n" "%e dia del mes com decimal [1,31]; una sola xifra que es precedeix amb un " "espai.\n" "%j dia de l'any com a decimal [001,366].\n" "%m mes com a decimal [01,12].\n" "%p format local de data.\n" "%y any de dos decimals (sense el segle) [00,99].\n" "%Y any amb el segle en format decimal." #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Exercici fiscal" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "S'inicia:" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Unitats de mesura" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Usa _milles per metres" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "Utilitza _galons al combustible" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Finestra de transacció" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "_Mostra el futur:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "Dies endavant" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Addició multiple" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Mantenir última data" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "Autocompleta la descripció" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "Actiu" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "dies seguits" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Barra d'eines" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "_Línies de quadrícula:" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Colors del imports" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Utilitza colors personalitzats" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Despeses:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Ingressos:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Avisos:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "_Habilita les còpies de seguretat automàtiques" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "_Número de còpies de seguretat a mantenir:" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "La còpia de seguretat es fa una vegada al dia" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "_Carteres" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "Intercanvia fitxers" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Importació:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Exportació:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Inici del programa" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Mostra la pantalla de presentació" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Carrega el darrer fitxer obert" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Afegeix les transaccions programades pendents" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "Actualitza les monedes online" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Finestra principal d'informes" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "Restableix totes les preferències" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" "Segur que voleu restablir\n" "totes les preferències als seus valors\n" "per defecte?" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Preferències" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "Hauràs de reiniciar Homebank\n" "perquè el canvi d'idioma es faci efectiu." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "Divideix la transacció" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "Aplica" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "Canceŀla" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Import de la transacció:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "No assignat:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Suma de divisions:" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "No es pot renombrar aquesta etiqueta,\n" "des de '%s' a '%s',\n" "aquest nom ja existeix." #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "Gestiona etiquetes" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "etiqueta nova" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Voleu anul·lar la transferència interna?\n" "\n" "Si continua s'esborrarà la transacció que en resultaria." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "_Acabar" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "Mostra _programades" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "Mostrar _tots els comptes" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "_Afegeix" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "_Afegeix" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Afegeix una transacció" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Hereta la transacció" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Data:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" "- teclegi: d, d/m, m/d per completar la data\n" "- usi les fletxes + ctrl o shift\n" "- deixi en blanc per avui" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" "- teclegi alguna lletra per autocompletat\n" "- teclegi text nou per crear una nova entrada" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "_Descripció:" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "Atenció: la quantitat i el signe de la categoria no coincideixen" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "Edita múltiples transaccions" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "Plantilla" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Incloure" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Excloure" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(sense tipus)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Efectiu" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Actiu" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Targeta de crèdit" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Passiu" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "Aquest mes" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "Últim mes" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "Aquest trimestre" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "Últim trimestre" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "Aquest any" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "Últim any" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Últims 30 dies" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Darrers 60 dies" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Darrers 90 dies" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Últims 12 mesos" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "personalitzat" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Totes les dates" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Possible" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Abans" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "Després" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "No liquidat" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Sense conciliar" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Sense categoria" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Gener" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Febrer" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Març" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Abril" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Juny" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Juliol" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Agost" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Setembre" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Octubre" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Novembre" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Desembre" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Set" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "Cerca..." #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Xec" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Targeta de dèbit" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Ordena'l ara" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Pagament electrònic" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Dipòsit" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "FI fee" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Domiciliació" homebank-5.3.2/po/ar.po0000644000175000017500000023227413620025335011617 00000000000000# Arabic translation for homebank # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2018-09-04 11:52+0000\n" "Last-Translator: Ahmed Opaid Hassan \n" "Language-Team: Arabic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:53+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "مصرف البيت" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "حساباتي" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "هذا البرنامج مجاني وسهل الاستخدام لجيمع المستخدمين" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "مالي;محاسبة;ميزانية;شخصي;نقدي;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "برنامج هوم بانك هو برنامج مجاني ويستطيع ان يساعدك في ادارة حساباتك الشخصية " "والمالية" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "تم تصميم البرنامج لكي يكون سهل الاستخدام وخصوصا في انشاء التقراير والاتطلاع " "على الاحصاءات المالية وذلك عن طريق استخدام اقوى ادوات الفلترة وايضا الشاشات " "الرسومية الجذابة." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "لم يتم العثور على حوالات مشابهة" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "عدم التناسق غير موجود" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "جميع مبالغ الحوالات سيتم قسمتها على %.6f." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "هل انت متأكد من انك تريد تحويل عملة هذا الحساب بعملة اليورو؟" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_حوّل" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "لم يتم تغيير اي عملية (معاملة)" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "هل تريد بالتأكيد تطبيق هذا النموذج مع كل عملية من العمليات المحددة ؟؟" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "هل تريد حذف كل العمليات ال محددة ؟" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "" #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "صدر إلى ملف CSV ..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_إغلاق" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_تحرير" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "صفقة - عملية" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_إضافة" #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_توريث..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_عدّل..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_سُويت" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "اصنع نموذج ..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_أدوات" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_تصفية..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "أضف معاملة جديدة" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "اضافة" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "توريث من المعاملة النشطة" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "وراثة" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "عدّل المعاملة النشطة" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "تحرير" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_المدى:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "ال_نوع:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_الحالة:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "إفتح قائمة التصفية" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "البنك:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "اليوم:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "المستقبل:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "ملف الخطأ" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_ملف" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_جديد" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_فتح..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_حفظ" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "استعادة" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_خروج" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "الخيارات.." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_اعرض" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "نظم ..." #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "ال_حسابات.." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_المستفيدين..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "التصانيف.." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "الميزانية.." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "" #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_عمليات" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "اضافة.." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "عرض.." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_تقارير" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "ا_حصائيات.." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "" #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "ال_ميزانية.." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "" #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_مساعدة" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "ال_محتويات" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "تقرير عن مشكلة.." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "ترجمة هذا البرنامج.." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "عن" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "اعداد الحسابات" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "اعداد المستفيدين" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "اعداد التصانيف" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "اعداد الميزانية" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "عرض عمليات الحساب المحدد" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "فتح تقرير احصائي" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "فتح تقرير الميزانية" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "المستقبل" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "التاريخ" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "المعلومات" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "المستفيد" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "الكمية" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "عرض معلومات الاصدار و الخروج" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[ملف]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "لا يمكن عرض الرابط '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "خيارات البرنامج" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "غير قادر على فتح '%s' , لان الملف غير موجود\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "الاجمالي" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "البنك" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "اليوم" #: ../src/list-operation.c:548 msgid "- split -" msgstr "" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "الحساب" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "الدخل" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "التصنيف" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "الوسوم" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "" #: ../src/rep-balance.c:76 msgid "List" msgstr "القائمة" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "عرض النتائج كقائمة" #: ../src/rep-balance.c:77 msgid "Line" msgstr "خط" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "عرض النتائج كاسطر" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "تحديث" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "تحديث النتائج" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "التفاصيل" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d تحت %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "حساب:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "من:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "إلى:" #: ../src/rep-budget.c:787 msgid " over" msgstr "" #: ../src/rep-budget.c:793 msgid " left" msgstr "" #: ../src/rep-budget.c:796 msgid " under" msgstr "" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "الميزانية" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "النتيجة:" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "تقرير الميزانية" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "الميزانية:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "الانفاق:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "الانفاق" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "تصنيف فرعي" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "الوسم" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "الشهر" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "السنة" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "تقرير احصائي" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "حسب الكمية" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "الدخل:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "النفقة:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "اليوم" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "الأسبوع" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "تصنيف:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_المستفيد:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_وسم:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "متر" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "الوقود" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "السعر" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "تصدير كملف CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "متر:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "الاستهلاك:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "تكاليف الوقود:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "تاليف اخرى:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "التكاليف الاجمالية:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(لا شيء)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "مرئي" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "خطأ" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "إدارة الحسابات" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "عام" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "كل:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "مدفوعات:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_المالك:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "الاسم" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_مبدئي:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "ملفات QIF" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "ملفات OFX/QFX" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "ملفات CSV" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "كل الملفات" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "الكل" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "لا شيء" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "عكس" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "الايام" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "خطأ في نسق الملف" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "إدارة الميزانية" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "مايو" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "ال_دخل" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "لا يمكن اعادة تسمية هذا التصنيف من '%s' الى '%s' لان هذا الاسم موجود اصلاً" #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "ادارة التصانيف" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "تصدير كملف QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "استيراد ملف CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "الملفات" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_خيارات:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_معلومات:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "يجبر:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "إظهار 'مضاف'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "إظهار 'مُعدل'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "لا يمكن اعادة تسمية هذا المستفيد من '%s' الى '%s' , لان هذا الاسم موجود " "بالفعل" #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "ادارة المستفيدين" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "الواجهة" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "" #: ../src/ui-pref.c:89 msgid "Report" msgstr "" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "افتراضيات النظام" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "ايقونات فقط" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "نص فقط" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "نص تحت الايقونات" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "نص بجانب الايقونات" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "عرض حسب _الكمية" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "عرض عمود المعدل" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "عرض _التفاصيل" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_شريط الادوات:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "يستخدم الألوان المخصصة" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_الدخل:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_تحذير:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_استيراد:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_تصدير:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "تحميل الملف المفتوح سابقاً" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "الخيارات" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "اضف عملية" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "وراثة عملية" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_التاريخ:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "تضمين" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "استثناء" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "نقدي" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "بطاقة اتمانية" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "اخر 30 يوم" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "اخر 12 شهر" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "كل التواريخ" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "يناير" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "فبراير" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "مارس" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "ابريل" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "يونيو" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "يوليو" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "اغسطس" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "سبتمبر" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "اكتوبر" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "نوفمبر" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "ديسمبر" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "" homebank-5.3.2/po/de.po0000644000175000017500000026632713620025313011607 00000000000000# German translation for homebank # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2007. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2020-01-07 07:48+0000\n" "Last-Translator: Stephan Woidowski \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Bearbeiten und buchen" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Persönliche Finanzen" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Kostenlose und einfache Kontenverwaltung für alle" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "Finanzen;Buchungen;Budget;Persönliches;Geld;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "HomeBank ist freie Software, welche Sie bei der Verwaltung Ihrer " "persönlichen Finanzen unterstützt." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "Entwickelt für einfachen Bedienung und ausführliche Analyse Ihrer Finanzen " "mit mächtigen Filterwerkzeugen und aussagekräftigen Diagrammen." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Wenn Sie eine einfache und kostenlose Lösung für das Verwalten Ihrer Konten " "suchen, dann sollten Sie die Software \"HomeBank\" wählen." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "Es gibt eine %d-Gruppe ähnlicher Transaktionen." #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "Es wurden keine ähnlichen Transaktionen gefunden!" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "Überprüfe internes Übertragungsergebnis" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "Keine Unstimmigkeiten gefunden." #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "Unstimmigkeiten gefunden: %d\n" "Sollen diese angezeigt und repariert werden?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Jeder Buchungsbetrag wird durch %.6f geteilt." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Sind Sie sich sicher, dass das Konto in Euro als Hauptwährung umgewandelt " "werden soll?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Konvertieren" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Keine Transaktion geändert" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "Transaktion verändert: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "Ergebnis der automatischen Zuordnung" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Möchten Sie eine Vorlage aus allen gewählten Transaktionen erstellen?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "_Erstellen" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "Möchten Sie jede der ausgewählten Transaktionen löschen?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_Löschen" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Sind Sie sicher, dass Sie den Status auf \"Ohne\" ändern möchten?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "" "Einige Transaktion(en) in Ihrer Auswahl sind bereits im Status " "\"Ausgeglichen\"." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "Ä_ndern" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" "Sind Sie sicher, dass Sie auf den Status \"Ausgeglichen\" umschalten möchten?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_Umschalten" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "%d Transaktionen" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d Transaktionen, %d ausgewählt, Durchschn.: %s, Summe: %s (%s - %s)" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "A_ccount" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "QIF exportieren …" #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "CSV exportieren …" #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "Als PDF exportieren ..." #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "S_chließen" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Bearbeiten" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "Kopieren" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "Einfügen" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "Einfügen (heute)" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Transakti_on" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Hinzufügen …" #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "Über_nehmen …" #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Bearbeiten …" #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Status" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "Ohne" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "_Freigegeben" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Ausgeglichen" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "_Mehrere bearbeiten..." #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Vorlage erstellen …" #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Löschen …" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "_Finden" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Werkzeuge" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "Duplikate markieren ..." #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "Internen Transfer überprüfen" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "Automatische Zuordnung" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filter …" #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "In Euro umwandeln..." #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Neue Transaktion hinzufügen" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Hinzufügen" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Von der aktiven Transaktion übernehmen" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Übernehmen" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Aktive Transaktion bearbeiten" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Bearbeiten" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "Aktuelle Transaktion(en) auf den Status \"Freigegeben\" umschalten" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "Aktuelle Transaktion(en) auf den Status \"Ausgeglichen\" umschalten" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Mehrere Transaktionen bearbeiten" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Vorlage erstellen" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Lösche ausgewählte Transaktion(en)" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "Transaktion nach oben verschieben" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "Transaktion nach unten verschieben" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "(geschlossen)" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "Alle Transaktionen" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "_Aktualisieren" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Zeitraum:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "Aktiviert \"zeige zukünftige Transaktionen\"" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Typ:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_Zurücksetzen" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Öffne Filter-Einstellungen" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "Euro_klein" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Bank:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Heute:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Zukünftig:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Ungesicherte Änderungen der Datei '%s' wiederherstellen?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "Die Änderungen an der Datei werden verworfen\n" "Die letzte gespeicherte Datei (.xhb~) wird geladen" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Zurücksetzen" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Sind Sie sicher, dass Sie die Datei anonymisieren wollen?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Proceeding wird anonymisieren jeder text, \n" "wie 'konto x', 'Zahlungsempfänger y', 'memo z', ..." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Anonymisieren" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Willkommen bei HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Was möchten Sie tun?" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "HomeBank _Anleitung lesen" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "Konfiguration Voreinstellung" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "_Neue Datei erstellen" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Öffne existierende Datei" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Öffne die _Beispiel-Datei" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" "Sie sind dabei die Sicherung wiederherzustellen '%s'?\n" "\n" "Möchten Sie das?" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "Die Sicherungsdatei öffnen ?" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "Backup öffnen" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Unbekannter Fehler" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "E/A Fehler für Datei: %s" #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Die Datei '%s' ist keine gültige HomeBank Datei." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "Die Datei '%s' wurde mit einer neueren Version von HomeBank erstellt und " "kann mit dieser nicht geladen werden." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Dateifehler" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "Die Datei wurde seit dem Lesen geändert." #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Wenn Sie speichern, können alle externen Änderungen verloren gehen. Trotzdem " "speichern?" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "Trotzdem speichern" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "Bereinigen" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Datei" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Neu" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "Ö_ffnen …" #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "Zuletzt ge_öffnet" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Speichern" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "Speichern _unter …" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "Import …" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "Export als QIF …" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Rückgängig" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "Sicherung wiederherstellen" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Eigenschaften …" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Beenden" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Eins_tellungen …" #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Ansicht" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "Werkzeugleis_te" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_Größte Ausgaben" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "_Untere Listen" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro - Altwährung" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Verwalten" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "_Konten …" #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Zahlungsempfänger …" #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Kate_gorien …" #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Geplant/Vorlage …" #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Budget …" #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "Budget (Tabellenansicht)..." #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Zuordnungen …" #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Währungen ..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "Markierungen …" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Transaktionen" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Hinzufügen …" #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Anzeigen …" #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "Alle anzeigen …" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Zeitplan einstellen …" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Geplante Transaktionen buchen" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Berichte" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "Stat_istiken …" #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Trendzeit …" #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "_Saldo..." #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "B_udget …" #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "_Fahrzeugkosten …" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Begrüßungsdialog anzeigen …" #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Dateistatistik …" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Anonymisieren …" #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Hilfe" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "Inha_lt …" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "Hilfe online erhalten..." #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "Auf Aktualisierungen prüfen …" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "Informationen zur aktuellen Version" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Ein Problem melden …" #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Diese Anwendung übersetzen …" #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "Ü_ber" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Neue Datei erstellen" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Öffnen" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Eine Datei öffnen" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Eine vor kurzem genutzte Datei öffnen" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Aktuelle Datei speichern" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Konten bearbeiten" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Zahlungsempfänger bearbeiten" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Kategorien bearbeiten" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Geplante Transaktionen und Vorlagen bearbeiten" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Budget bearbeiten" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Automatische Zuordnungen einstellen" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Zeigt die Transaktionen des ausgewählten Kontos an" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Transaktion hinzufügen" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Statistische Auswertung öffnen" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Den Trendzeit-Report öffnen" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Kontostand-Bericht öffnen" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Budget-Auswertung öffnen" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Öffne die Fahrzeugkosten Übersicht" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "An das Homebank Projekt spenden" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "Geplant" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Zukünftig" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "Erinnern" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(keine Kategorie)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "Ungültiges CSV-Format" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Datum" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Info" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Zahlungsempfänger" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Buchungstext" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Betrag" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Saldo" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Unbekannt" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "km/l" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(kein Zahlungsempfänger)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "%d – w%d" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "%d – q%d" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Version ausgeben und beenden" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[DATEI]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Browser-Fehler" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Die Adresse »%s« konnte nicht angezeigt werden" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "HomeBank-Optionen" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "" "Die Datei '%s' konnte nicht geöffnet werden, weil sie nicht existiert.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(kein Institut)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "(keine Gruppe)" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Ihre Konten" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Alle aufklappen" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Alle zuklappen" #: ../src/hub-account.c:547 msgid "Show all" msgstr "Alle anzeigen" #: ../src/hub-account.c:552 msgid "By type" msgstr "Nach Typ" #: ../src/hub-account.c:553 msgid "By group" msgstr "Nach Gruppe" #: ../src/hub-account.c:554 msgid "By institution" msgstr "Nach Institutionen" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Kein Vorgang hinzuzufügen" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "Transaktion hinzugefügt: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Überprüfe Ergebnis der geplanten Transaktionen" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Gesamt" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Geplante Transaktionen" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Überspringen" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Buchen" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "spätestes Versanddatum" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Höchste Ausgaben" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "Größte %d Ausgaben" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Andere" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Wohin das Geld geht" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "importiertes Konto" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Gesamtsumme" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Konten" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Bank" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Heute" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- aufgeteilt -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "- dies benötigt eine Kategorie -" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Konto" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Status" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Ausgaben" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Einnahmen" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Kategorie" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Markierungen" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Überfällig" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "Noch" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Nächster Termin" #: ../src/rep-balance.c:76 msgid "List" msgstr "Liste" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Ergebnisse als Liste anzeigen" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Linie" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Ergebnisse als Linien anzeigen" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Aktualisieren" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Ergebnisse aktualisieren" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Details" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Details anzeigen" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d unter %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Kontostand-Bericht" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Anzeigen" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "_Konto:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "_Alles auswählen" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "_Jeden Tag" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Zoom X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Datumsfilter" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Vom:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Bis:" #: ../src/rep-budget.c:787 msgid " over" msgstr " über" #: ../src/rep-budget.c:793 msgid " left" msgstr " verbleiben" #: ../src/rep-budget.c:796 msgid " under" msgstr " unter" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "Budget für %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Budget" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Ergebnis" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "Ergebnissanzeige als Säulendiagramm" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "_Ergebnis in die Zwischenablage" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "_Ergebnis in CSV" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "_Details in die Zwischenablage" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "_Details in CSV" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Budget-Auswertung" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Ansicht nach:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "Nur außerhalb des Budgets" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Ergebnis:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Budget:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Ausgegeben:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Es wurde kein Konto als Teil des Budgets definiert" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "Du solltest Konten aus dem Kontendialog auswählen" #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Ausgaben" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Unterkategorie" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Stichwort" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Monat" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Jahr" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Ausgaben & Einnahmen" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s nach %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "Zu viele Spalten zum Anzeigen" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "Ergebnisse in einer Spalte darstellen" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "Ergebnisse in einem Ringdiagramm anzeigen" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Legende anzeigen" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Wachstum anzeigen" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "Filter bearbeiten" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Statistische Auswertung" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "Modus:" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Nach Betrag sortieren" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "Inter_val:" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Saldo:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Einnahmen:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Ausgaben:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "Durchschnitt" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Tag" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Woche" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Quartal" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "Halbjahr" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s über Zeit" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "Mittelwert: %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Trendzeit-Report" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Kategorie:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Zahlungsempfänger:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Stichwort" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Ansammeln" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "Zeige leere Zeile" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Zeitanteil" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Meter" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Treibstoff" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Preis" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Distanz" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Als CSV exportieren" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Fahrzeugkosten-Bericht" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "_Fahrzeug" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Meter:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Verbrauch:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Treibstoffkosten:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Andere Kosten:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Gesamtkosten:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(ohne)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Sichtbar" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Abbrechen" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Name des Kontos" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Fehler" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Kann Konto %s nicht hinzufügen,\n" "da der Name bereits existiert." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "Konto '%s' kann nicht gelöscht werden" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" "Dieses Konto enthält Transaktionen und/ oder ist Teil interner Transaktionen." #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Sind Sie sicher, dass Sie '%s' unwiderruflich löschen wollen?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "Wenn Sie ein Konto löschen, wird dies unwiderruflich gelöscht." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Dieses Konto kann nicht von '%s' nach '%s' umbenannt werden, da dieser Name " "bereits existiert." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Konten verwalten" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "Umbenennen" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "Löschen" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Drag & Drop um die Reihenfolge zu ändern\n" "Doppelklick zum Umbennenen" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Allgemein" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "_Gruppe:" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "_Institution:" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "N_ummer:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Anfangskontostand" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "_Währung:" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "Dieses Konto wurde _geschlossen" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "Bemerkungen:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "Verhalten" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "Automatisierung" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "Standard _Vorlage:" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Berichtsausschluss" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "von der Kontoübersicht ausschließen" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "vom _Budget ausschließen" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "von Berichten ausschließen" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "Sonstiges" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Aktuelle Schecknummer" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Scheckbuch _1:" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Scheckbuch _2:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "Bilanzgrenzen" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "_Überziehung bei:" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" "Das Löschen eines vorgeplanten Ereignisses oder einer Vorlage ist " "irreversibel." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Nächster _Termin:" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "_Jeden:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "Weitere Optionen" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Wochenende:" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "En_det nach:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "Einträge" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Transaktionsvorlagen und regelmäßige Transaktionen verwalten" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "_Terminplanung" #: ../src/ui-assign.c:303 msgid "Search" msgstr "Suchen" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "Anmerkungen" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "(Regel %d)" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "Wenn Sie den Eintrag löschen, wird er unwiderruflich verloren." #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "Dieser Suchtext existiert bereits" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "Deaktiviert" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "Wenn leer" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "Überschreiben" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Zuordnungen verwalten" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Bedingung" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "_Suchen:" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "Groß-/Kleinschreibung" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "Regulärer Ausdruck" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "Zuweisungen" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Be_zahlung:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Neue HomeBank-Datei (%d von %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Nicht gefunden" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Profilname:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "Währung:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Dateieigenschaften" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "Systemerkennung" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Sprachen:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Vorlage:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Initialisiere meine Kategorien mit dieser Datei" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Aktuelle Kategorien" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "Information" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Name:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Saldo" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Bei Erstellung:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "Ü_berzogen ab:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Konto erstellen" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Dies ist eine Bestätigungs-Seite, drücken Sie 'Anwenden', um die Änderungen " "zu übernehmen" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Bestätigung" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "Gültig" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Name" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Bekannte Dateien" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF-Dateien" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX Dateien" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV-Dateien" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Alle Dateien" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "neues globales Konto" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "neues Konto" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "übersprungen" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr ", %d of %d Transaktionen" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" "Einige Daten können nicht konvertiert werden. Bitte versuchen Sie, die " "Reihenfolge der Daten zu ändern, um fortzufahren." #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "Importiere %s in_to:" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "diese Datei" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "dieses Konto" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Verschlüsselung: %s" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "%d Transaktion(en), %d ähnlich, %d existierend, %d ausgewählt" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d Transaktion(en), %d ausgwählt" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "Importiere Transaktionen von Bank- oder Kreditkarte" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" "Dieser Assistent führt Sie durch den Importprozess eines oder mehrerer\n" "heruntergeladenen Kontoauszüge Ihrer Bank oder Kreditkarte mittels folgender " "Formate:" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" "Empfohlen: .OFX or .QFX\n" "(Auch als Money™ oder Quicken™ bezeichnet)\n" "Supported: .QIF\n" "(Gewöhnliche Quicken™ Datei)\n" "Für fortgeschrittene Anwender: .CSV\n" "(das Format ist eigens für HomeBank, mehr dazu in der Dokumentation)" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" "Es werden keine Änderungen vorgenommen bis sie \"Speichern\" am Ende dieses " "Assistenten klicken." #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "Diese Meldung nicht mehr anzeigen" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" "Es wurden zu viele Dateien für das Konto ausgewählt,\n" "gehen sie einen Schritt zurück und wählen Sie weniger Dateien aus." #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" "Identifikation des Zielkontos nach Nummer oder Name ist fehlgeschlagen" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Datumsreihenfolge:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "_Importiere Memos" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "_Austausch von Memos mit Zahlungsempfängern" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "OFX_Name:" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "OFX_Memo:" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "Auswahl:" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Alle" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Ohne" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Umkehren" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "Satz _case Memo/Zahlungsempfänger" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "Ähnliche Transaktion auf dem Zielkonto (mögliches Duplikat)" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "Datums_lücke" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "Tag(e)" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Die Zusammenfügung geschieht in folgender Reihenfolge: Konto, Summe und " "Datum.\n" "Eine Datumstoleranz von 0 Tagen bedeutet eine exakte Übereinstimmung." #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "Automatisch ausführen" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "Führen Sie automatische Zuordnungsregeln aus" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "Willkommen" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "Datei(en) auswählen" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "Importieren" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Falsches Dateiformat" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" "Die CSV-Datei muss die korrekte Anzahl an Spalten haben,\n" "getrennt durch ein Semikolon. Bitte schauen Sie in die Hilfe für weitere " "Details." #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "Sind Sie sicher das Sie Ihre Eingaben löschen möchten?" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "Wenn Sie fortfahren, alle Werte werden auf 0 gesetzt." #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "_Leeren" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Budget verwalten" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "CSV importieren" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "CSV exportieren" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "ist pro Monat gleich" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "Eingabe löschen" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "ist pro Monat unterschiedlich" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Einstellungen" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Beobachten dieser Kategorie erzwingen" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mrz" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Mai" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Aug" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "Sept" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Okt" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Dez" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "Zusammenfassung" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "Gesamtzahlen" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "Jährliche Gesamtzahlen" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "Monatlicher Durchschnitt" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "Monatlich" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "Eine Kategorie hinzufügen" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "_Anwenden" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "Übergeordnete Kategorie" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "Kategorienname" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Diese Kategorie wird benutzt.\n" "Alle Transaktionen, die zu dieser Kategorie zugeordnet sind, \n" "werden auf (ohne Kategorie) gesetzt." #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "Kategorien zusammenfassen" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "Zielkategorie" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "Kategorie '%s' _löschen" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "Budget (Tabellenansicht)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "Kategorie hinzufügen" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "Kategorie entfernen" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "Zusammenführen" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "Eingabe löschen" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "Unbenutzte Kategorien löschen" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Sind Sie sich sicher, dass unbenutzte Kategorien gelöscht werden sollen?" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "Bearbeiten …" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "E_inkommen" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "Typ für _child ändern" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Die Kategorie konnte nicht\n" "von '%s' nach '%s' umbenannt werden.\n" "Der Name existiert bereits." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "Kategorie '%s' zusammenführen" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "Transaktionen, die zu dieser Kategorie zugeordnet sind,\n" "werden zu der unten ausgewählten Kategorie verschoben." #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Kategorien verwalten" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "Unbenutzte Löschen" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "Bewegen/Zusammenführen" #: ../src/ui-category.c:2349 msgid "new category" msgstr "neue Kategorie" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "neue Unterkategorie" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Standardwährung" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Symbol" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "Wechselkurs" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "Zuletzt geändert" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Währung bearbeiten" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "Währung" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "Format" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "_Anpassen" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "_Symbol:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "Ist pre_fix" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "_Dezimalzeichen" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Nachkommastellen:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "_Grouping Zeichen:" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Als Standardwährung festlegen" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Währung auswählen" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "ISO-Code" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "Füge benutzerdefinierte _Währung hinzu" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "_ISO:" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "Updatefehler" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "Wenn Sie eine Währung löschen, werden die Daten permanent entfernt." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Standwardwährung wählen" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" "Wenn Sie fortfahren, werden die Raten von anderen Währungen\n" "auf 0 gesetzt. Vergessen Sie nicht diese zu aktualisieren." #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Währungen" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "Online aktualisieren" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "Als Standard festlegen" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Dateistatistik" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "Transaktion" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "Zuweisung" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "Aktualisieren" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "Standardwährung wählen" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "Ab v5.1 unterstützt HomeBank mehrere Währungen.\n" "Bitte die Währung unten ändern, wenn diese nicht korrekt ist:" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Nach QIF exportieren" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Aus CSV importieren" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "Öffne HomeBank-Datei" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "Öffne HomBank Sicherungsdatei" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "Speichere HomeBank-Datei als" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "HomeBank-Dateien" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "Sicherungsdatei" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "Alle Sicherungen" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "Sollen die Änderungen vor dem Beenden gespeichert werden?" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Wenn Sie die Änderungen nicht speichern, gehen sie verloren.\n" "Anzahl der Änderungen: %d." #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "_Ohne speichern beenden" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "Als PDF exportieren" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "Exportiere als _PDF" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "Ordner:" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "Wählen Sie einen Ordner" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "Dateiname:" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Aus den möglichen Transaktionen auswählen …" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Wähle eine Aktion" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "Erstelle eine neue Überweisung" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "Wähle eine bestehende Überweisung" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "Homebank hat einige Transaktionen gefunden, die für die interne Buchung " "hiermit verknüpft sein könnte." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Regel:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Buchungstext:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Info:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "_Groß-/Kleinschreibung berücksichtigen" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Jeder Status" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "Freigegeben" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "Ausgeglichen" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Jeder Typ" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Überweisung" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Erzwinge:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "'Hinzugefügt' anzeigen" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "'Bearbeitet' anzeigen" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "'Erinnerung' anzeigen" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "Zeige 'Ungültig'" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "Datum" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "Zahlungen" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "Beträge" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "Texte" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "Kategorien" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "Zahlungsempfänger" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "_Titel" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Geplante Transaktion" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "Ausführen bis" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "von jedem Monat (ausgeschlossen)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "hinzufügen" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "Tage vor dem jetzigen Datum" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Fahrzeugkosten" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "bezahlen" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "Unbenutzen Zahlungsemfpänger löschen" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Sind Sie sicher\n" ",dass Sie einen ungenutzten Zahlungsempfänger permanent entfernen möchten?" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "Standard" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "Zahlung (_Y):" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Dieser Zahlungsempfänger konnte nicht\n" "von '%s' nach '%s' umbenannt werden.\n" "Der Name existiert bereits." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "Zahlungsenpfänger '%s' zusammenführen" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Transaktionen, die zu diesem Zahlungsempfänger zugeordnet sind,\n" "werden zum unter ausgewählten Zahlungsempfänger zugeordnet." #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "Zahlungsempfänger '%s' _löschen" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "Dieser Zahlungsempfänger wird benutzt,\n" "Alle Transaktionen, die zu diesem Zahlungsempfänger zugeordnet sind,\n" "werden auf \"ohne Zahlungsempfänger\" gesetzt." #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Zahlungsempfänger verwalten" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "neuer Zahlungsempfänger" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Erscheinungsbild" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "Lokalisierung" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Überweisungen" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Importieren/Exportieren" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Bericht" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "Sicherung" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "Verzeichnisse" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "System-Standard" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "nur Symbole" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "nur Text" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Text unter Symbolen" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Text neben Symbolen" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "Horizontal" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "Vertikal" #: ../src/ui-pref.c:109 msgid "Both" msgstr "Beides" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango hell" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango mittel" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango dunkel" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "Monat-Tag-Jahr" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "Tag-Monat-Jahr" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "Jahr-Monat-Tag" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Ignorieren" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Zur Info anfügen" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Zum Memo anfügen" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "An Zahlungsempfänger anfügen" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "Tab" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "Komma" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "Semikolon" #: ../src/ui-pref.c:149 msgid "Space" msgstr "Leerzeichen" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Systemsprache" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Standard HomeBank-Ordner wählen" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" "Wählen Sie einen Ordner für die Wiederherstellungsdateien von Homebank aus" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Importordner wählen" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Wähle einen Standardexportordner" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "Allgemeine Optionen" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "QFX/QFX-Optionen" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "QIF Optionen" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "CSV-Einstellungen" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "(Nur Transaktionsimport)" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "Trennzeichen:" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Standardfilter" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Diagrammoptionen" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "Farbschema:" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Statistikoptionen" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Nach _Betrag anzeigen" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "_Raten-Spalte anzeigen" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "_Details anzeigen" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Budget-Einstellungen" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "Aktivi_eren" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "V_orlage:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "Benutzeroberfläche" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Sprache:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "_Datumsanzeige:" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "_Format:" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" "%a lokaler gängiger Name des Wochentags.\n" "%A lokaler vollständiger Name des Wochentags. \n" "%b lokaler gängiger Name des Monats. \n" "%B lokaler vollständiger Name des Monats. \n" "%c lokale gängiges Format für Datum und Zeit. \n" "%C Jahrzehnt (das Jahr wird durch 100 dividiert und als Ganzzahl " "abgeschnitten) als Dezimalzahl [00-99]. \n" "%d Tag des Monats als zweistellige Dezimalzahl [01,31]. \n" "%D gleichbedeutend wie %m/%d/%y. \n" "%e Tag des Monats als Dezimalzahl [1,31]; Bei einstelligen Zahlen wird ein " "Leerzeichen vorangestellt. \n" "%j Tag des Jahres als Dezimalzahl [001,366]. \n" "%m Monat als zweistellige Dezimalzahl [01,12]. \n" "%p lokale gängige Darstellung des Datums. \n" "%y Jahreszahl ohne Jahrzehnt als zweistellige Dezimalzahl [00,99]. \n" "%Y Jahreszahl mit Jahrzehnt als vierstellige Dezimalzahl." #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Wirtschaftsjahr" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "Beginnt am:" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Maßeinheit" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Verwende _Meilen statt Meter" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "Verwende _gallone für Kraftstoff" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Buchungsfenster" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "_Zeige künftige:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "Tage voraus" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "Abgestimmte ausblenden" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "Immer Erinnerung anzeigen" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "Ungültig immer anzeigen" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "Bestätigungstext anzeigen" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Mehrfaches Hinzufügen" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Letztes Datum behalten" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "Memo Auto-Vervollständigung" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "Aktiv" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "laufende Tage" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "Symbolleis_te:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "Rahmen (G):" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Farben der Werte" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Verwendet persönliche Farben" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Ausgaben:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Einnahmen:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Warnungen:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "_Aktiviere automatische Sicherungen" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "_Anzahl der zu behaltenden Sicherungen" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "Tägliche Backups" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "_Börsen" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "_Wiederherstellungen:" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "Austauschdateien" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Importieren:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "Exportieren:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Programmstart" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Startbildschirm anzeigen" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Zuletzt benutzte Datei öffnen" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Anstehende gepalnte Transaktionen buchen" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "Währungen online aktualisieren" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Berichte im Hauptfenster" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "Alle Einstellungen zurücksetzen" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" "Möchten Sie wirklich alles zurücksetzen\n" "all Ihre Einstellungen werden auf Standardwerte\n" "zurückgesetzt?" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Einstellungen" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "HomeBank muss neugestartet werden um den Sprachwechsel durchzuführen." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" "Das Wiederherstellungsverzeichnis hat sich geändert,\n" "sie müssen die '.bak'-Datei eventuell an diesen neuen Ort kopieren." #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "Transaktion spalten" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "Alle löschen" #: ../src/ui-split.c:851 msgid "Apply" msgstr "Übernehmen" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "Abbrechen" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Buchungsbetrag:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Nicht zugewiesen:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Anzahl der Aufteilungen:" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Kann diese Merkierung von '%s'\n" "nach '%s' nicht umbenennen,\n" "der Name besteht schon." #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "Markierungen verwalten" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "neue Markierung" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "Transaktion von %s erstellt." #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Möchten Sie die interne Überweisung unterbrechen?\n" "\n" "Wenn Sie fortfahren wird die ausgewählte Transaktion gelöscht." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "_Unterbrechen" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "Zeige geplante" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "Zeige _alle Konten" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "Eine Vorlage benutzen" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "hinzufügen & behalten" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "_Hinzufügen" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "_Buchen" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Transaktion hinzufügen" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "Vorlage hinzufügen" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Transaktion übernehmen" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "Transaktion bearbeiten" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "Vorlage bearbeiten" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Datum:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" "- schreiben Sie: t, t/m, m/t ein komplettes Datum\n" "- nutzen Sie die Pfeiltasten + Strg oder Umschalt\n" "- für heute leer" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "Betr_ag:" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "A_n:" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "Buch _2" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" "- schreiben Sie einige Buchstaben für die Autovervollständigung\n" "- schreiben Sie neuen Text, um einen Eintrag zu erstellen" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "Kategorie" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "Buchungst_ext:" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "Tags" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "Achtung: der Betrag und das Kategoriezeichen passen nicht zueinender" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "Mehrere Transaktionen bearbeiten" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" "Eingabe als\n" "Transfer" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "Vorlage" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "Zeit" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "Trend" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "Deaktiviert" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Einbeziehen" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Ausschliessen" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "Kein Typ" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Bargeld" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Aktiva" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Kreditkarte" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Passiva" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "Dieser Monat" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "Letzter Monat" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "Dieses Quartal" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "Letztes Quartal" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "Dieses Jahr" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "Letztes Jahr" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Letzte 30 Tage" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Letzte 60 Tage" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Letzte 90 Tage" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Letzten 12 Monate" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "Benutzerdefiniert" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Jedes Datum" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "Ungültig" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Möglich" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Vorher" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "Nachher" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "Nicht freigegeben" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Nicht ausgeglichen" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Ohne" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "Mon" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "Die" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "Mi" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "Do" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "Fr" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "Sa" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "So" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Januar" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Februar" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "März" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "April" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Juni" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Juli" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "August" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "September" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Oktober" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "November" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Dezember" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "Suchen …" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Schecks" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "Banküberweisung" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Einzugsermächtigungs-Karte" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Dauerauftrag" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Elektronische Bezahlung" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Einzahlung" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "FI Abgabe" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Lastschrift" homebank-5.3.2/po/oc.po0000644000175000017500000023014013620025331011600 00000000000000# Occitan (post 1500) translation for homebank # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2016-10-14 09:59+0000\n" "Last-Translator: Cédric VALMARY (Tot en òc) \n" "Language-Team: Occitan (post 1500) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Convertir" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Volètz escafar\n" "cada operacion seleccionada ?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_Suprimir" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "Al_ternar" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "_Compte" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Salv" #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Expòrt CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Tampar" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Editar" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "_Operacion" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Apondre..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_ereitar..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Editar..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "E_stat" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Pas cap" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "" #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Suprimir..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Aisinas" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filtre..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Apondre una operacion novèla" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Apondre" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Eretar dempuèi l'operacion activa" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Ereitat" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Editar l'operacion activa" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Editar" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "A_ctualizar" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Plaja:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Tipe :" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "Es_tat :" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_Reïnicializar" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Dobrís lo filtre de tièra" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Banca:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Uèi:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Futur:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Restablir" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Error de fichièr" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Fichièr" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Novèl" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Dobrir..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Enregistrar" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "Enregistrar _jos..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Restablir" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Proprietats..." #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Quitar" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Preferéncias..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Afichatge" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "Barra d'_aisinas" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Gerir" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "_Comptes..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Terces..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Categorias..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Budgèt..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Afectacions..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Operacions" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Apondre..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Veire..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Rapòrts" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Estatisticas..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "" #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "B_udgèt..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "" #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Ajuda" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Contengut" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Senhalar una anomalia..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Traduire aquesta aplicacion" #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_A prepaus" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Crear un fichièr novèl" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Dobrir" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Dobrir un fichièr" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Dobrís un fichièr utilizat recentament" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Enregistrar lo fichièr actiu" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Configura los comptes" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Configura los terces" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Configura las categorias" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Configura lo budgèt" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Veire las operacions del compte seleccionat" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Dobrís lo rapòrt Estatisticas" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Dobrís lo rapòrt Budgèt" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "Planificat" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Futur" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Data" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Entresenha" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Terç" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Memo" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Montant" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Sòld" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Desconegut" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "mi./l" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Aficha lo numèro de version e quita" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[FICHIÈR]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Impossible d'afichar l'URL « %s »" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Opcions d'HomeBank" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Impossible de dobrir '%s', lo fichièr existís pas.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Ignorar" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Publicar" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Autre" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Total general" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Comptes" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Banca" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Uèi" #: ../src/list-operation.c:548 msgid "- split -" msgstr "" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Compte" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Estatut" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Debit" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Credit" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Categoria" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Etiquetas" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Mai tard" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "" #: ../src/rep-balance.c:76 msgid "List" msgstr "Tièra" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Veire los resultats en tièra" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Linha" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Veire los resultats en linhas" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Actualizar" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Actualizar los resultats" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Detalh" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Afichar detalh" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Afichar" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "_Compte:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Zoom X :" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_De :" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_A :" #: ../src/rep-budget.c:787 msgid " over" msgstr "" #: ../src/rep-budget.c:793 msgid " left" msgstr "" #: ../src/rep-budget.c:796 msgid " under" msgstr "" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Budgèt" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Resultat" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Rapòrt Budget" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Resultat :" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Budgèt:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Despensat:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Despensat" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Etiqueta" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Mes" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Annada" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Deb. & Cred." #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s per %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Afichar la legenda" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Afichar lo taus" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Rapòrt Estatisticas" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Per _montant" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Balança :" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Credit:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Debit:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Jorn" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Setmana" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Trimèstre" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Categoria :" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Tèrç :" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "E_tiqueta :" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Part de temps" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Comptador" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Carburant" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Prètz" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Dist:" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Exportar cap a CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Comptador :" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Consum :" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Còst carburant :" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Autres còstes :" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Còst total :" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(pas cap)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Visible" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "A_nullar" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_D'acòrdi" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Nom del compte" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Error" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Gerir los comptes" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "General" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "N_umèro :" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "Nòtas :" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Totes los:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "Desactivat" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "Espotir" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Condicion" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Paga_ment:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Pas trobat" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Titular:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "Devisa :" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Proprietats de fichièr" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Lengas :" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Nom :" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Inicial:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "Desc_obert q :" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Confirmacion" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Nom" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "Fichièrs QIF" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "fichièrs OFX/QFX" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "Fichièrs CSV" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Totes los fichièrs" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Totes" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Pas cap" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Inversar" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "jorns" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "Benvenguda" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "Importar" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Error del format de fichièr" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "Es_cafar" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Gerir le Budgèt" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Opcions" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Gen" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Abr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Mai" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Ago" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Oct" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Dec" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "Fusionar" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "Editar…" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Credit" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Simbòl" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "Moneda" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "Format" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "_Personalizada" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "_Simbòl :" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "Nombre de _decimalas:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "Còdi ISO" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "Transaccion" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "Afectacion" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "Metre a jorn" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Exportar en QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Importar dempuèi CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "Fichièrs HomeBank" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "Tampar _sens enregistrar" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Opcion:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Entresenha :" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "_Sensible a la cassa" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Transferir" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Forçar:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "afichatge 'Ajustes'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "afichatge 'Edicions'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "apondre" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "Per defaut" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Interfàcia" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Transaccions" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Rapòrt" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Defaut del sistèma" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Sonque las icònas" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Sonque lo tèxte" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Tèxte jos las icònas" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Tèxte al costat de las icònas" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "Orizontal" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "Vertical" #: ../src/ui-pref.c:109 msgid "Both" msgstr "Los dos" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "j-m-a" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "a-m-j" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Ignorar" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Lenga del sistèma" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Veire per mont_ant" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Veire la colomna dels tauses" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Veire los _detalhs" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Activar" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Predefinit :" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Lenga :" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "_Format :" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Exercici fiscal" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Barra d'aisinas :" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Debit:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Credit:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Alèrta" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_importar" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "E_xportar :" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Afichar la fenèstra d'aviada" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Preferéncias" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "_Apondre" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "_Mandar" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Apondre una operacion novèla" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Eretar l'operacion" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Data :" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "Modèl" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Inclure" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Exclaure" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Argent franc" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Dequés" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "carta de credit" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "Aqueste mes" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "Ongan" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "L'an passat" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "30 darrièrs jorns" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "90 darrièrs jorns" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "12 darrièrs meses" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Totas datas" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Possible" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Abans" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "Aprèp" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Pas categorizat" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Genièr" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Febrièr" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Març" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Abril" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Junh" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Julhet" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Agost" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Setembre" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Octobre" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Novembre" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Decembre" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Set" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "Recercar..." #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Verificar" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Depaus" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "" homebank-5.3.2/po/Makefile.in.in0000644000175000017500000001604612431730646013333 00000000000000# Makefile for program source directory in GNU NLS utilities package. # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper # Copyright (C) 2004-2008 Rodney Dawes # # This file may be copied and used freely without restrictions. It may # be used in projects which are not available under a GNU Public License, # but which still want to provide support for the GNU gettext functionality. # # - Modified by Owen Taylor to use GETTEXT_PACKAGE # instead of PACKAGE and to look for po2tbl in ./ not in intl/ # # - Modified by jacob berkman to install # Makefile.in.in and po2tbl.sed.in for use with glib-gettextize # # - Modified by Rodney Dawes for use with intltool # # We have the following line for use by intltoolize: # INTLTOOL_MAKEFILE GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ PACKAGE = @PACKAGE@ VERSION = @VERSION@ SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ top_builddir = @top_builddir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datadir = @datadir@ datarootdir = @datarootdir@ libdir = @libdir@ DATADIRNAME = @DATADIRNAME@ itlocaledir = $(prefix)/$(DATADIRNAME)/locale subdir = po install_sh = @install_sh@ # Automake >= 1.8 provides @mkdir_p@. # Until it can be supposed, use the safe fallback: mkdir_p = $(install_sh) -d INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ GMSGFMT = @GMSGFMT@ MSGFMT = @MSGFMT@ XGETTEXT = @XGETTEXT@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ MSGMERGE = INTLTOOL_EXTRACT="$(INTLTOOL_EXTRACT)" XGETTEXT="$(XGETTEXT)" srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist GENPOT = INTLTOOL_EXTRACT="$(INTLTOOL_EXTRACT)" XGETTEXT="$(XGETTEXT)" srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot ALL_LINGUAS = @ALL_LINGUAS@ PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; else echo "$(ALL_LINGUAS)"; fi) USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep \^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep \^$$lang$$`"; then printf "$$lang "; fi; done; fi) USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done) POFILES=$(shell LINGUAS="$(PO_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done) DISTFILES = Makefile.in.in POTFILES.in $(POFILES) EXTRA_DISTFILES = ChangeLog POTFILES.skip Makevars LINGUAS POTFILES = \ # This comment gets stripped out CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done) .SUFFIXES: .SUFFIXES: .po .pox .gmo .mo .msg .cat AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ INTLTOOL_V_MSGFMT = $(INTLTOOL__v_MSGFMT_$(V)) INTLTOOL__v_MSGFMT_= $(INTLTOOL__v_MSGFMT_$(AM_DEFAULT_VERBOSITY)) INTLTOOL__v_MSGFMT_0 = @echo " MSGFMT" $@; .po.pox: $(MAKE) $(GETTEXT_PACKAGE).pot $(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox .po.mo: $(INTLTOOL_V_MSGFMT)$(MSGFMT) -o $@ $< .po.gmo: $(INTLTOOL_V_MSGFMT)file=`echo $* | sed 's,.*/,,'`.gmo \ && rm -f $$file && $(GMSGFMT) -o $$file $< .po.cat: sed -f ../intl/po2msg.sed < $< > $*.msg \ && rm -f $@ && gencat $@ $*.msg all: all-@USE_NLS@ all-yes: $(CATALOGS) all-no: $(GETTEXT_PACKAGE).pot: $(POTFILES) $(GENPOT) install: install-data install-data: install-data-@USE_NLS@ install-data-no: all install-data-yes: all linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $$dir; \ if test -r $$lang.gmo; then \ $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \ else \ $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ echo "installing $(srcdir)/$$lang.gmo as" \ "$$dir/$(GETTEXT_PACKAGE).mo"; \ fi; \ if test -r $$lang.gmo.m; then \ $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \ echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \ else \ if test -r $(srcdir)/$$lang.gmo.m ; then \ $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \ $$dir/$(GETTEXT_PACKAGE).mo.m; \ echo "installing $(srcdir)/$$lang.gmo.m as" \ "$$dir/$(GETTEXT_PACKAGE).mo.m"; \ else \ true; \ fi; \ fi; \ done # Empty stubs to satisfy archaic automake needs dvi info ctags tags CTAGS TAGS ID: # Define this as empty until I found a useful application. install-exec installcheck: uninstall: linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \ done check: all $(GETTEXT_PACKAGE).pot rm -f missing notexist srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m if [ -r missing -o -r notexist ]; then \ exit 1; \ fi mostlyclean: rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp rm -f .intltool-merge-cache clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES stamp-it rm -f *.mo *.msg *.cat *.cat.m *.gmo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f Makefile.in.in distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(DISTFILES) dists="$(DISTFILES)"; \ extra_dists="$(EXTRA_DISTFILES)"; \ for file in $$extra_dists; do \ test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \ done; \ for file in $$dists; do \ test -f $$file || file="$(srcdir)/$$file"; \ ln $$file $(distdir) 2> /dev/null \ || cp -p $$file $(distdir); \ done update-po: Makefile $(MAKE) $(GETTEXT_PACKAGE).pot tmpdir=`pwd`; \ linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ echo "$$lang:"; \ result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \ if $$result; then \ if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.gmo failed!"; \ rm -f $$tmpdir/$$lang.new.po; \ fi; \ done Makefile POTFILES: stamp-it @if test ! -f $@; then \ rm -f stamp-it; \ $(MAKE) stamp-it; \ fi stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \ $(SHELL) ./config.status # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: homebank-5.3.2/po/zh_CN.po0000644000175000017500000023716013620025302012207 00000000000000msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2019-05-04 03:53+0000\n" "Last-Translator: kangkang \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "个人理财" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "所有人都适用的免费、方便的个人理财软件" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "财务,会计,预算,个人,现金" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "HomeBank 是一个免费的并且能协助你管理个人账户的自由软件。" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "它易于使用并且能将你个人财务状况用强大的过滤工具和美丽的图表展现出来。" #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "如果你正在寻找一个完全免费并且能轻松上手的个人财务管理软件,HomeBank是一个很棒的选择。" #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "没有发现不一致!" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "不一致的情况出现: %d\n" "你想回顾并修复么?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "您确定将此帐户转为欧元帐户吗?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "转换(_C)" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "没有记账发生改动" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "交易修改:%d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "自动分配结果" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "为选中的每条记账\n" "创建模板?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "你想删除选中的记账吗?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "删除" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "你选中的选项已经一致。" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "更改(_C)" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "您确定要切换状态吗?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "切换(_T)" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "账户(_C):" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "导出为 QIF" #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "导出 CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "关闭(_C)" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "编辑(_E)" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "记账(_O)" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "添加(_A)..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "套用(_I)..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "编辑(_E)..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "状态(_S)" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "无" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "已对账(_R)" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "创建模板..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "删除(_D)..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "工具(_T)" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "过滤(_F)..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "兑换成欧元…" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "添加一个新的记账文件" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "添加" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "套用选中的记账" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "套用" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "编辑选中的记账" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "编辑" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "编辑多个交易选项" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "创建模板" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "删除所选交易" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "刷新(_R)" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "范围(_R):" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "类型(_T):" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "状态(_S):" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "重置(_R)" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "打开列表过滤" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "欧元设置" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "余额" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "今天:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "将来:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "恢复未保存的更改文件?‘%s’" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "-对文件的修改将永久丢失\n" "-文件将重新加载上次存档(.xhb~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "恢复(_R)" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "你确定要隐藏去这个文件吗?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "匿名" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "欢迎使用HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "要做什么事:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "阅读HomeBank手册(_M)" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "新建文件(_n)" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "打开已存在的文件(_O)" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "打开示例理财档案(_e)" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "输入/输出错误位于文件 '%s'" #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "文件'%s'不是有效HomeBank文件。" #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "文件'%s'为高版本HomeBank所保存\n" "无法用当前版本打开" #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "文件错误" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "文件(_F)" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "新建(_N)" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "打开(_O)..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "保存(_S)" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "另存为..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "恢复" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "属性…" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "退出(_Q)" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "首选项..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "视图(_V)" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "工具栏(_T)" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "最多消费(_T)" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "欧元设置" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "管理(_M)" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "账户(_O)" #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "交易人(_P)..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "类别..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "计划/模板..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "预算..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "归类..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "货币…" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "记账(_T)" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "添加..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "显示..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "设置计划..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "报表(_R)" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "统计(_S)..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "走势(_T)..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "预算(_U)..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "汽车花费...(_V)" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "显示欢迎窗口..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "信息统计" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "匿名..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "帮助(_H)" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "帮助内容(_C)" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "报告问题..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "翻译这个程序..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "关于(_A)" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "新建文件" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "打开(_O)" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "打开文件" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "打开最近用过的文件" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "保存当前文件" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "管理账户" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "管理交易人" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "管理类别" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "配置此计划/模板记账" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "管理预算" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "管理自动归类" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "显示选中的帐户记账" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "添加交易" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "打开统计报表" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "打开走势报表" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "打开余额报表" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "打开预算报表" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "打开汽车花费报表" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "计划" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "将来" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "提示" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(没有分类)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "无效的CSV文件" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "日期" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "信息" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "交易人" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "备注" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "总额" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "余额" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "未知" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "千克/升" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "米/升" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(无收款人)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "输出账户信息并退出" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[文件]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "浏览器错误" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "无法显示 URL '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "家庭理财选项" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "无法打开“%s”,文件不存在。\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "你的帐户" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "全部展开" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "全部折叠" #: ../src/hub-account.c:547 msgid "Show all" msgstr "显示所有" #: ../src/hub-account.c:552 msgid "By type" msgstr "按类型" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "没有记账被添加" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "添加记账:%d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "检查计划记账结果" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "合计" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "交易日程修改" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "跳过" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "编辑后" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "提交" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "最后提交日期" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "总消费" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "其它" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "资金流动情况" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "合计" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "账户" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "银行" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "今日" #: ../src/list-operation.c:548 msgid "- split -" msgstr "-拆分-" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "账户" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "状态" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "支出" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "收入" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "类别" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "标签" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "最近" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "下一个日期" #: ../src/rep-balance.c:76 msgid "List" msgstr "列表" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "以列表方式查看事项" #: ../src/rep-balance.c:77 msgid "Line" msgstr "曲线图" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "以曲线图查看事项" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "刷新" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "刷新事项" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "明细" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "切换明细" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d 在 %s 以下" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "余额报告" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "显示" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "账户(_C):" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "全选(_A)" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "每天(_D)" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "拉伸 X 轴(_Z):" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "筛选日期" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "从(_F):" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "到(_T):" #: ../src/rep-budget.c:787 msgid " over" msgstr " 超支" #: ../src/rep-budget.c:793 msgid " left" msgstr " 结余" #: ../src/rep-budget.c:796 msgid " under" msgstr " 严重超支" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "预算" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "事项" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "预算报表" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "查看方式(_V):" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "结果:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "预算:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "花费:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "未定义账户" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "请在账户对话框中选择账户" #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "花费" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "子类别" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "标签" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "月" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "年" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "支出和收入" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "将结果以柱状图的方式展现" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "将结果以饼图的方式展现" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "切换图表" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "切换百分比" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "编辑过滤器" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "统计报表" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "按金额(_A)" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "余额:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "收入:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "支出:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "天" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "周" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "季度" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "平均:%s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "走势报表" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "类别(_C):" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "交易人(_P):" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "标签(_T):" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "累计(_C)" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "时间段" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "里程表" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "燃料" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "价格" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "里程" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "导出为 CSV 格式" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "交通费用报告" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "交通(_C)" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "里程表:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "油耗:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "燃料费用:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "其它费用:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "费用合计:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(无)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "可见" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "取消" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "确定(_O)" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "账户名" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "错误" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "不能添加账户'%s',\n" "名字已经存在。" #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "不能删除账户‘%s’" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "此帐户包含事项或内部转帐的一部分。" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "您确定要永久删除吗?‘%s’" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "如果您删除一个帐户,它将永久丢失。" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "不能重命名本账户,\n" "从 '%s'到'%s',\n" "文件名已存在。" #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "管理账户" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "常规" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "账户号码(_U):" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "币种:" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "此账户已关闭" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "备注:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "从账户汇总中排除(_s)" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "从预算中删除(_b)" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "从报告中排除(_r)" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "支票簿_1" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "支票簿_2:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "如果删除计划/模板,它将永久丢失。" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "下一个日期" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "每(_Y):" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "周末" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "管理计划/模板记账" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "禁用" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "覆盖" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "管理归类" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "条件" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "付款方式(_M):" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "新HomeBank文件(%d的%d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "不存在" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "所有者(_O):" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "币种:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "文件属性" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "语言:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "预设" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "使用这个文件初始化我的类别" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "预设类别" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "名称(_N):" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "期初余额(_I):" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "透支(_O):" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "创建帐号" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "这时确认页面,点击 ‘Apply' 应用更新。" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "确认" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "名称" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "已知文件" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF 文件(.qif)" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX 文件" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV 文件(.csv)" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "所有文件" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "日期顺序:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "选择:" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "全部" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "无" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "反向选择" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "天" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "已按以下要求排序列出符合条件的项目:按账户,金额和日期。\n" "日期的偏差为0天表示严格匹配" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "欢迎使用" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "导入" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "文件格式错误" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "您确定要清除输入吗?" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "清除" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "预算管理" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "导入 CSV格式" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "导出 CSV格式" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "设置" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "强制监视该类别(_F)" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "1月" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "2月" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "3月" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "4月" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "5月" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "6月" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "7月" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "8月" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "10月" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "11月" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "12月" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "合并" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "编辑..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "收入(_I)" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "不能重命名这个类别,\n" "从 '%s' 到 '%s',\n" "这个名字已经存在了。" #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "管理类别" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "货币符号" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "汇率" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "编辑货币" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "币种" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "格式" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "自定义(_C)" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "符号(_S):" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "小数位数(_F):" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "ISO 码" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "在线升级错误" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "货币" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "在线升级" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "文件信息" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "交易" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "分配" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "升级" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "选择基本货币" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "导出为 QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "导入 CSV 文件" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "打开 HomeBank 文件" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "另存为" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "家庭理财文件(.xhb)" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "不保存关闭(_w)" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "从可能的记账中选择" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "创建新记账" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "选择已有记账" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "HomeBank发现一些记账与内部转账关联" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "选项(_O):" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "备忘(_M):" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "信息(_I):" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "区分大小写(_S)" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "任何状态" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "已清除" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "已核对" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "任意类型" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "转账" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "强制:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "显示“已添加”" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "显示“已编辑”" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "日期" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "付款方式" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "金额" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "文本" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "类别" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "添加直到" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "每月(排除)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "添加" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "提前N天" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "汽车花费" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "删除未使用的收款人" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "你确定你想永久删除未使用的付款人?" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "默认" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "支付(_y)" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "不能重命名这个交易人,\n" "从 '%s' 到 '%s',\n" "这个名字已经存在了。" #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "管理交易人" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "界面" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "记账" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "导入/导出" #: ../src/ui-pref.c:89 msgid "Report" msgstr "报表" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "系统默认值" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "只有图标" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "只有文字" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "文字在图标下" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "文字在图标旁" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "水平显示" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "垂直显示" #: ../src/ui-pref.c:109 msgid "Both" msgstr "兼有" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "浅色" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "中等颜色" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "深色" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "月-日-年" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "日-月-年" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "年-月-日" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "忽略" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "添加到信息" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "添加到提示" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "系统语言" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "选择一个默认的 HomeBank 档案文件夹" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "QIF 选项" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "配色方案:" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "统计选项" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "显示金额(_A)" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "显示百分比(_R)" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "显示明细(_D)" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "启用(_E)" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "预设(_P):" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "语言(_L):" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "格式:" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "会计年度" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "保留最新日期" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "工具栏(_T):" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "使用自定义颜色" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "支出(_E):" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "收入(_I):" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "提醒(_W):" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "导入(_I):" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "导出(_E):" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "显示启动画面" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "自动打开上次的财务文档" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "待定交易" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "主窗口图表" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "首选项" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "语言设置在下次重启后生效" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "记账金额" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "未分配:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "拆分的总数" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "是否打破内部转账?\n" "\n" "继续将删除目标记账。" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "添加" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "发布(_P)" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "添加记账" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "套用记账" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "日期(_D):" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "备注(_e)" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "编辑多个交易" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "模版" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "包含" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "排除" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(缺少类型)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "现金" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "资产" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "信用卡" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "负债" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "本月" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "上个月" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "这个季度" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "上个季度" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "今年" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "去年" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "最近30天" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "最近60天" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "最近90天" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "最近12个月" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "所有日期" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "可能的" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "之前" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "之后" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "未对帐" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "未分类" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "1月" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "2月" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "3月" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "4月" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "6月" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "7月" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "8月" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "9月" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "10月" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "11月" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "12月" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "9月" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "搜索..." #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "支票" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "借记卡" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "定期转账" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "电子付款" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "存款" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "费用" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "直接记账" homebank-5.3.2/po/pl.po0000644000175000017500000025746713620025315011641 00000000000000# Polish translation for homebank # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2007. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2020-02-01 13:19+0000\n" "Last-Translator: spaspaspa00 \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" "Language: pl\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Zarządzanie finansami osobistymi" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Bezpłatna i łatwa księgowość osobista dla każdego" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "finanse;księgowość,budżet;osobiste,pieniądze" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "HomeBank to wolny (w znaczeniu jak \"wolność słowa\") i darmowy program, " "który pomoże ci zarządzać finansami osobistymi." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "Prosty w użyciu, pozwala analizować szczegóły twoich osobistych finansów " "przy użyciu zaawansowanych filtrów i pięknych wykresów." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Jeśli szukasz całkiem darmowego i łatwego sposobu zarządzania twoimi " "finansami powinieneś wybrać HomeBank ." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "Nie znaleziono podobnych wpisów" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "Nie znaleziono niezgodności!" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "Znaleziono niezgodności: %d\n" "czy chcesz przejrzeć i naprawić?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Kwota każdej transakcji zostanie podzielona przez %.6f." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Czy na pewno chcesz zmienić\n" "główną walutę tego konta na Euro?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Przelicz" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Żadna transakcja nie została zmieniona" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "transakcja zmieniona: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "Wynik automatycznego przypisywania" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Czy chcesz utworzyć szablon na podstawie\n" "każdej zaznaczonej transakcji?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "_Utwórz" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "Usunąć wszystkie zaznaczone transakcje?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_Usuń" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Czy na pewno wyzerować status?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "Niektóre z zaznaczonych transakcji są już uzgodnione." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Zmień" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Czy na pewno zamienić status Uzgodnione?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_Przełącz" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "%d transakcji" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d transakcji, %d zaznaczono, śr.: %s, suma: %s (%s - %s)" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "Ko_nto" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Eksportuj QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Eksportuj CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "Eksportuj jako PDF..." #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Zamknij" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Edycja" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "Kopiuj" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "Wklej" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "Wklej (dziś)" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Transak_cja" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "Dod_aj..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "Pow_iel..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Edytuj..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Status" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Brak" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "Rozli_czone" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Uzgodnione" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "Z_mień wiele..." #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Utwórz szablon..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Usuń..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "_Znajdź" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "Narzędz_ia" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "Zaznacz duplikaty..." #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "Automatyczne przypisania" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filtruj..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Przelicz na Euro..." #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Dodaj nową transakcję" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Dodaj" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Powiel zaznaczoną transakcję" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Powiel" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Zmień zaznaczoną transakcję" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Zmień" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "Oznacz wybrane transakcje jako rozliczone" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "Oznacz wybrane transakcje jako uzgodnione" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Zmień jednocześnie wszystkie zaznaczone transakcje" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Utwórz szablon" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Usuń zaznaczone transakcje" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "Przenieś transakcję w górę" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "Przenieś transakcję w dół" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "(zamknięte)" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "Wszystkie transakcje" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "_Odśwież" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "Zak_res:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "Pokaż/ukryj przyszłe transakcje" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Rodzaj:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_Resetuj" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Otwórz filtr listy" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "Euro-centy" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Bank:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Dzisiaj:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Przyszłość:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Cofnąć niezapisane zmiany w pliku '%s'?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "- Zmiany wprowadzone w tym pliku zostaną utracone\n" "- Plik zostanie przywrócony do ostatniego zapisanego stanu (.xhb~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "P_rzywróć" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Czy na pewno przekształcić plik w wersję anonimową?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Anonimizacja zmieni wszystkie teksty na anonimowe,\n" "jak 'konto x', 'odbiorca y', 'opis z', ..." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Anonimizuj" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Witamy w HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Co chciałbyś robić:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Przeczytaj podręcznik programu HomeBank" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "Konfiguracja preferencji" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Utwórz _nowy plik" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Otwórz istniejący plik" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "_Otwórz przykładowy plik" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" "Zamierzasz otworzyć plik kopii zapasowej '%s'.\n" "\n" "Czy na pewno chcesz to zrobić?" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "Otworzyć kopię zapasową ?" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "_Otwórz kopię zapasową" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Nieznany błąd" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "Błąd wejścia/wyjścia (I/O) dla pliku %s." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Plik '%s' nie jest poprawnym plikiem programu HomeBank." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "Plik '%s' był używany przez nowszą wersję programu HomeBank\n" "i nie może być używany przez obecną wersję." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Błąd pliku" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "Plik został zmodyfikowany od czasu jego odczytania." #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Zapis może spowodować utratę wszystkich zewnętrznych zmian. Zapisać mimo to?" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "Z_apisz mimo to" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "Wyczyść" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Portfel" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Nowy" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Otwórz..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "Ostatnio _używane" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Zapisz" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "Z_apisz jako..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "Importuj..." #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "Eksportuj jako QIF..." #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Przywróć" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "Przywróć kopię zapasową" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Właściwości..." #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "Za_kończ" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Preferencje…" #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Widok" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Pasek narzędzi" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "Największe wyda_tki" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "Dolne listy" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Przeliczanie euro" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Zarządzaj" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "_Konta..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "Odbiorcy..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Kategorie..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Zaplanowane transakcje (szablony)..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Budżet..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "Budżet (tabela)..." #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Przypisania..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Waluty..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "Etykiety..." #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Transakcje" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Dodaj..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Pokaż..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "Pokaż wszystkie..." #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Ustawienia zaplanowanych transakcji..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Zaksięguj zaplanowane" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Raporty" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Statystyki..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Trendy..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "B_udżet..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "_Koszt pojazdu..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Pokaż okno powitalne..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Statystyka pliku..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Anonimizuj..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "P_omoc" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Zawartość" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "Sprawdź aktualizacje..." #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "Informacje o wydaniu" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Zgłoś błąd w programie..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Przetłumacz ten program..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_O programie" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Utwórz nowy plik" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Otwórz" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Otwórz plik" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Otwórz ostatnio używany plik" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Zapisz bieżący plik" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Konfiguruj konta" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Konfiguruj odbiorców" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Konfiguruj kategorie" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Konfiguruj zaplanowane transakcje (szablony)" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Konfiguruj budżet" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Konfiguruj automatyczne przypisania" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Pokaż transakcje z wybranego konta" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Dodaj transakcje" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Pokaż raport statystyczny" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Otwórz raport trendów" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Otwórz raport salda" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Otwórz raport budżetu" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Otwórz raport kosztów pojazdu" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "Wspomóż projekt HomeBank" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "Zaplanowane" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Przyszłość" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "Przypomnij" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(brak kategorii)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "Niewłaściwy format CSV" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Data" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Informacja" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Odbiorca" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Opis" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Kwota" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Saldo" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Nieznany" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "mi/l" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(brak odbiorcy)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "%d-t%d" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "%d-q%d" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Wyświetla informację o wersji i kończy działanie" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[PLIK]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Błąd przeglądarki." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Nie można wyświetlić adresu '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Opcje HomeBank" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Nie można otworzyć '%s', plik nie istnieje.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(brak instytucji)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "(brak grupy)" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Twoje konta" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Rozwiń wszystkie" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Zwiń wszystkie" #: ../src/hub-account.c:547 msgid "Show all" msgstr "Pokaż wszystkie" #: ../src/hub-account.c:552 msgid "By type" msgstr "Według rodzaju" #: ../src/hub-account.c:553 msgid "By group" msgstr "Według grupy" #: ../src/hub-account.c:554 msgid "By institution" msgstr "Po instytucji" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Brak transakcji do dodania" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "transakcja dodana: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Status księgowania zaplanowanych transakcji" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Razem" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Zaplanowane transakcje" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Pomiń" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Zmień i zaksięguj" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Zaksięguj" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "Ostateczny termin księgowania" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Największe wydatki" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "Największe %d wydatki" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Pozostałe" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Dokąd trafiają twoje pieniądze" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "konto importowane" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Całkowita suma" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Konta" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Bank" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Dzisiaj" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- różne -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Konto" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Status" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Wydatek" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Przychód" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Kategoria" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Etykiety" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Opóźnione" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "Pozostało" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Następna data" #: ../src/rep-balance.c:76 msgid "List" msgstr "Lista" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Pokaż wyniki jako listę" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Linia" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Pokaż wyniki na wykresie liniowym" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Odśwież" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Odśwież raport" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Transakcje" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Pokaż/ukryj transakcje" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d poniżej %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Raport salda" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Wyświetl" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "_Konto:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "_Zaznacz wszystko" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "K_ażdego dnia" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Przybliż oś X" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Filtr daty" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Od:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Do:" #: ../src/rep-budget.c:787 msgid " over" msgstr " przekroczone" #: ../src/rep-budget.c:793 msgid " left" msgstr " dostępne" #: ../src/rep-budget.c:796 msgid " under" msgstr " niezrealizowane" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "Budżet dla %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Budżet" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Wynik" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "Pokaż wyniki na wykresie słupkowym skumulowanym" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "_Wynik do schowka" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "_Wynik do CSV" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "_Szczegóły do schowka" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "_Szczegóły do CSV" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Raport budżetu" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Wyświetl według" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "Tylko poza budżetem" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Wynik:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Budżet:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Wydatki:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Nie zdefiniowano kont będących częścią budżetu." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "" "Powinieneś dołączyć jakieś konta do budżetu za pomocą okna zarządzania " "kontami." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Wydatki" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Podkategoria" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Etykieta" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Miesiąc" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Rok" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Wydatek i przychód" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s według %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "Pokaż wyniki na wykresie kolumnowym" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "Pokaż wyniki na wykresie pierścieniowym" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Pokaż objaśnienia obok wykresu" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Pokaż/ukryj udział procentowy" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "Edytuj filtr" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Raport statystyczny" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "Tryb:" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Według kwot" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Saldo:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Przychód:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Wydatek:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "Średnia" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Dzień" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Tydzień" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Kwartał" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "Half Year" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s Przekroczony czas" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "Średnia: %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Raport trendów" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Kategoria:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Odbiorca:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "E_tykieta:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Kumuluj" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "Pokaż pustą linię" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Wycinek czasu" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Licznik" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Paliwo" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Cena" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Odl." #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Eksportuj jako CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Raport kosztów pojazdu" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "_Pojazd" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Licznik:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Zużycie paliwa:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Koszty paliwa:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Inne koszty:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Łączne koszty:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(brak)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Widoczny" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Anuluj" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Nazwa konta" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Błąd" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Nie można dodać konta '%s',\n" "taka nazwa już istnieje." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "Nie można usunąć konta '%s'" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "To konto zawiera transakcje i/lub jest stroną wewnętrznego przelewu." #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Czy na pewno chcesz trwale usunąć '%s'?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "Jeśli usuniesz konto, nie będzie można go odzyskać." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Nie można zmienić nazwy tego konta,\n" "z '%s' do '%s',\n" "taka nazwa już istnieje." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Zarządzaj kontami" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "Zmień nazwę" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "Usuń" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Przeciągnij i upuść aby zmienić kolejność\n" "Dwukrotnie kliknij aby zmienić nazwę" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Ogólne" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "_Grupa:" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "N_umer:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Saldo _początkowe:" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "_Waluta" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "to konto zostało _zamknięte" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "Notatki:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "Domyślny szablon" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Raport wykluczeń" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "wyklucz z podsumowania _kont" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "wyklucz z _budżetu" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "wyklucz ze wszystkich _raportów" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Aktualny numer książeczki czekowej" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Książeczka czekowa _1:" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Książeczka czekowa _2:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "Limity salda" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "Debet przy:" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "Jeśli usuniesz szablon, nie będzie można go odzyskać." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Następna data" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "_Co:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "Więcej opcji" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Koniec tygodnia" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_Zatrzymaj po:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "wpisów" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Zarządzaj zaplanowanymi transakcjami" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "Zaplanuj" #: ../src/ui-assign.c:303 msgid "Search" msgstr "Szukaj" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "Jeśli usuniesz przypisanie, nie będzie można go odzyskać." #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "Wyłączony" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "Jeżeli puste" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "Zastąp" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Zarządzaj przypisaniami" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Warunek" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "_Szukaj:" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Pł_atność:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Nowy plik programu Homebank (%d z %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Nie znaleziono" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Właściciel:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "Waluta:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Właściwości pliku" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "Wykrywanie systemu" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Języki:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Plik ustawień" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Inicjalizuj moje kategorie wykorzystując ten plik" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Ustawienia kategorii" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "Informacja" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Nazwa:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Salda" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Początkowy" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "P_rzekroczony o:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Utwórz konto" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "To jest strona potwierdzenia, naciśnij 'Akceptuj' by zaakceptować zmiany" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Potwierdzenie" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "Prawidłowy" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Nazwa" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Rozpoznawane pliki" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "Pliki QIF" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "Pliki OFX/QFX" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "Pliki CSV" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Wszystkie pliki" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "nowe konto łączne" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "nowe konto" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "pominięto" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr ", %d z %d transakcji" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" "Niektóre daty nie mogły być przetworzone. Spróbuj zmienić format daty " "(kolejność) aby kontynuować." #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "Impor_tuj %s do:" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "ten plik" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "to konto" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" "Nazwa: %s\n" "Liczba: %s\n" "Plik: %s\n" "Kodowanie: %s" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "Importuj transkacje z banku lub karty kredytowej" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" "Ten asystent poprowadzi Cię przez proces importu jednego lub kilku pobranych " "\n" "wyciągów bankowych lub z karty kredytowej, w następujących formatach:" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" "Rekomendowany: .OFX lub .QFX\n" "(Czasem nazywane Money™ lub Quicken™)\n" "Obsługiwany: .QIF\n" "(Plik Quicken™)\n" "Tylko dla zaawansowanych użytkowników: .CSV\n" "(format specyficzny dla HomeBank, sprawdź dokumentację)" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" "Żadne zmiany nie zostaną wprowadzone dopóki nie klikniesz \"Zastosuj\" na " "końcu tego asystenta." #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "Nie pokazuj ponownie" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" "W plikach które wybrałeś jest zbyt dużo kont,\n" "użyj proszę przycisku Wstecz aby wybrać mnie plików." #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Format daty:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "_Importuj opisy" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "Zamień opi_sy z odbiorcami" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "Wybierz:" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Wszystkie" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Brak" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Odwróć" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "Opis/Odbiorca wielką literą" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "podobne transakcje na koncie docelowym (możliwy duplikat)" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "Przedział dat" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "dni" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Dopasowanie jest realizowane w kolejności: wg konta, kwoty oraz daty.\n" "Tolerancja daty równa zero oznacza dokładne dopasowanie" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "Uruchom automatyzację" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "Kliknij przycisk „Zastosuj” aby zaktualizować swoje konta." #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "Witaj" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "Wybierz plik(-i)" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "Importuj" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Błąd formatu pliku" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" "Plik CSV musi zawierać określoną liczbę kolumn,\n" "oddzielonych średnikami, sprawdź pomoc aby uzyskać więcej szczegółów" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "Czy na pewno wyczyścić pole?" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "Kontynuacja wyzeruje wszystkie kwoty." #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "_Wyczyść" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Zarządanie budżetem" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "Importuj plik CSV" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "Eksportuj CSV" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "jest taki sam w każdym miesiącu" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "Wyczyść pole" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "jest inny w każdym miesiącu" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Ustawienia" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Wymuszaj monitorowanie tej kategorii" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Sty" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Lut" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Kwi" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Maj" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Cze" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Lip" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Sie" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Paź" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Lis" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Gru" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "Średnia miesięczna" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "Dodaj kategorię" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "Z_astosuj" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "Kategoria nadrzędna" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "Nazwa kategorii" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Kategoria jest używana.\n" "Transakcje należące do tej kategorii zostaną zmienione na nieskategoryzowane" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "Scal kategorie" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" "Transakcje przypisane do kategorii '%s', zostaną przesunięte do kategorii " "wybranej poniżej." #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "Usuń kategorię '%s'" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "Dodaj kategorię" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "Usuń kategorię" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "Scal" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "Usuń nieużywane kategorie" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Jesteś pewien, że chcesz bezpowrotnie\n" "usunąć nieużywane kategorie?" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "Zmień..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Przychód" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Nie można zmienić nazwy tej kategorii\n" "z '%s' na '%s',\n" "ponieważ taka nazwa już istnieje." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "Scal kategorię '%s'" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "Transakcje przypisane do tej kategorii,\n" "zostaną przeniesione do kategorii zaznaczonej poniżej." #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Zarządzaj kategoriami" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "Usuń nieużywane" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "Przenieś/Scal" #: ../src/ui-category.c:2349 msgid "new category" msgstr "nowa kategoria" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "nowa podkategoria" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Waluta bazowa" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Symbol" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "Kurs wymiany" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "Ostatnia modyfikacja" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Edytuj walutę" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "Waluta" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "Format" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "_Dostosuj" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "_Symbol" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "Umieść przed kwotą" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "Separator _dziesiętny:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "Miejsca dziesiętne:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "Separator _grup cyfr:" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Wybierz walutę bazową" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Wybierz walutę" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "Kod ISO" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "Dodaj niestandardową walutę" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "_ISO:" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "Błąd aktualizacji online" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "Jeśli usuniesz walutę, nie będzie można jej odzyskać." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Zmień walutę bazową" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" "Jeśli będziesz kontynuował, kursy innych walut\n" "zostaną ustawione na 0, nie zapomnij ich uaktualnić" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Waluty" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "Aktualizuj online" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "Ustaw jako bazową" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Statystyka pliku" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "Transakcja" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "Przypisanie" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "Uaktualnij" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "Wybierz walutę bazową" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "Od wersji 5.1, HomeBank potrafi obsługiwać wiele walut,\n" "jeśli poniższa waluta nie jest poprawna, zmień ją:" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Eksportuj jako QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Importuj z pliku CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "Otwórz plik HomeBank" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "Zapisz plik HomeBank jako" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "Pliki HomeBank" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "Zapisać zmiany przed zamknięciem?" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Jeśli nie zapiszesz zmian, zostaną one bezpowrotnie utracone.\n" "Liczba zmian: %d." #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "Zamknij bez zapisywania" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "Eksportuj jako PDF" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "Eksportuj jako _PDF" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "Katalog:" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "Wybierz katalog" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "Nazwa pliku:" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Wybierz spośród dostępnych transakcji..." #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Wybierz akcję:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "utwórz nową transakcję" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "wybierz istniejącą transakcję" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "HomeBank znalazł transakcje, które mogą być powiązanymi transakcjami " "przelewu wewnętrznego." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Opcje:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Opis:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Informacja:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "Rozróżnianie wielkości _liter" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Jakikolwiek status" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "Rozliczone" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "Uzgodnione" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Jakikolwiek rodzaj" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Przelew" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Zawsze:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "pokazuj ostatnio dodane" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "pokazuj ostatnio zmienione" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "pokazuj przypomnienia" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "Daty" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "Płatności" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "Kwoty" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "Teksty" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "Kategorie" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "Odbiorcy" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Zaplanowane transakcje" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "wstaw aż do" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "dnia każdego miesiąca (z wyłączeniem)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "dodaj" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "dni naprzód od dzisiaj" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Koszty pojazdu" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "Pł." #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "Usuń nieużywanych odbiorców" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Czy jesteś pewien, że chcesz\n" "trwale usunąć nieużywanych odbiorców?" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "Domyślnie" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "Płatność:" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Nie można zmienić nazwy tego odbiorcy\n" "z '%s' na '%s',\n" "ponieważ taka nazwa już istnieje." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "Scal odbiorcę '%s'" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Transakcje przypisane do tego odbiorcy,\n" "zostaną przeniesione na wskazanego poniżej." #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "Usuń odbiorcę '%s'" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "Ten odbiorca jest aktualnie używany.\n" "Wszystkie transakcje z jego udziałem zostaną zmienione na nieposiadające " "odbiorcy." #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Zarządzaj odbiorcami" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "nowy odbiorca" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Interfejs" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "Ustawienia regionalne" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Transakcje" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Importuj/Eksportuj" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Raport" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "Kopia zapasowa" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "Foldery" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Domyślne" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Tylko ikony" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Tylko tekst" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Tekst pod ikonami" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Tekst obok ikon" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "Pozioma" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "Pionowa" #: ../src/ui-pref.c:109 msgid "Both" msgstr "Obie" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango jasne" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango pośrednie" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango ciemne" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "m-d-r" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "d-m-r" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "r-m-d" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Ignoruj" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Dołącz do informacji" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Dołącz do opisu" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "Dołącz do odbiorcy" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "Tabulator" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "Przecinek" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "Średnik" #: ../src/ui-pref.c:149 msgid "Space" msgstr "Spacja" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Język systemu" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Wybierz domyślny katalog dla plików HomeBank" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Wybierz domyślny katalog importu" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Wybierz domyślny katalog eksportu" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "Ustawienia ogólne" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "Opcje OFX/QFX" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "Opcje QIF" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "Opcje CSV" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "(tylko import transakcji)" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "Separator:" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Domyślny filtr" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Ustawienia wykresów" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "Schemat kolorów:" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Opcje statystyk" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Pok_aż wg kwoty" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Pokaż udział p_rocentowy" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Pokaż _szczegóły" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Opcje budżetu" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Włącz" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Ustawienie:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "Interfejs użytkownika" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Język:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "Wyświtlanie _daty:" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "_Format:" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Rok podatkowy" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "Rozpoczyna się:" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Jednostki miary" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Używaj _mil dla odległości" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "Używaj _galonów dla objętości" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Okno transakcji" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "Pokaż przy_szłye:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "dni" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "Ukryj uzgodnoine" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Dodaj wielokrotnie (powiel)" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Zachowaj ostatnią datę" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "Autouzupełnienie opisu" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "Aktywne" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "Paski _narzędzi:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "Linie siatki" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Kolory kwot" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Użyj własnych kolorów" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Wydatek:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Przychód:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Ostrzeżenia:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "Włącz automatyczn_e kopie zapasowe" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "Liczba kopii do zachowa_nia:" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "Częstotliwość tworzenia kopii zapasowej to raz dziennie" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "_Portfele" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "Pliki wymiany" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Import:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Eksport:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Start programu" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Pokazuj ekran startowy" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Otwórz ostatnio otwarty plik" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Księguj oczekujące zaplanowane transakcje" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "Aktualizuj waluty online" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Raporty w oknie głównym" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "Resetuj wszystkie preferencje" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" "Czy na pewno chcesz przywrócić\n" "wszystkie preferencje do wartości\n" "domyślnych?" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Preferencje" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "Aby zmienić język, należy ponownie uruchomić HomeBank." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "Podział transakcji" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "Zastosuj" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "Anuluj" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Kwota transakcji:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Kwota nieprzydzielona:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Suma rozdzielonych kwot:" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Nie mogę zmienić nazwy tej etykiety\n" "z '%s' na '%s',\n" "ta nazwa już istnieje." #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "Zarządzaj etykietami" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "nowa etykieta" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Czy chcesz rozłączyć transakcje przelewu wewnętrznego?\n" "\n" "Kontynuowanie usunie transakcję docelową." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "Pokaż zaplanowane" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "Pok_aż wszystkie konta" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "Dodaj i zachowaj" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "Dod_aj" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "Zaksięguj" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Dodaj transakcję" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Powiel transakcję" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Data:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "Kwota" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "Kate_goria:" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "O_pis:" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "E_tykiety" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "Uwaga: znak (+/-) kwoty nie pasuje do kategorii" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "Zmień wiele transakcji" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "Szablon" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "Wyłączony" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Dołącz" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Wyklucz" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(brak rodzaju)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Gotówka" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Aktywa" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Karta kredytowa" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Pasywa" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "Bieżący miesiąc" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "Poprzedni miesiąc" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "Bieżący kwartał" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "Poprzedni kwartał" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "Bieżący rok" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "Ubiegły rok" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Ostatnie 30 dni" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Ostatnie 60 dni" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Ostatnie 90 dni" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Ostatnich 12 miesięcy" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "niestandardowy" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Cały czas" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Możliwe" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Przed" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "Po" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "Nierozliczone" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Nieuzgodnione" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Brak statusu" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "Pon" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "Wt" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "Śr" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "Czw" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "Pt" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "Sob" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "Nd" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Styczeń" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Luty" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Marzec" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Kwiecień" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Czerwiec" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Lipiec" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Sierpień" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Wrzesień" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Październik" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Listopad" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Grudzień" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Wrz" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "Szukaj..." #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Czek" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "Przelew Bankowy" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Karta debetowa" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Zlecenie stałe" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Płatność elektroniczna" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Depozyt" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "Prowizja / opłata bankowa" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Polecenie Zapłaty" homebank-5.3.2/po/cs.po0000644000175000017500000026071213620025310011611 00000000000000# translation of cs.po to Czech # translation of cs.po to # Czech translation for homebank # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the homebank package. # # FIRST AUTHOR , 2007. # Jiří Zachař , 2007. msgid "" msgstr "" "Project-Id-Version: cs\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2019-02-12 17:18+0000\n" "Last-Translator: Pavel Borecki \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" "Language: cs\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Osobní finance" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Jednoduché, osobní účetnictví zdarma pro každého" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "finance,účetnictví,rozpočet,osobní,peníze" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "HomeBank je svobodný software (ve smyslu jak svobody slova, tak zdarma) " "který vám pomůže spravovat vaše osobní účetnictví." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "Je navržen pro snadnou, podrobnou analýzu osobních financí pomocí výkonných " "filtračních nástrojů a přehledných grafů." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Pokud hledáte způsob, jak zcela zdarma a snadno spravovat své osobní " "účetnictví, potom by pro vás aplikace HomeBank mohla být volbou." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "Je zde %d skupina podobných transakcí" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "Nenalezeny žádné podobné transakce!" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "Nebyla nalezena žádná neshoda!" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "Byla nalezena neshoda: %d\n" "Chcete ji zkontrolovat a opravit?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Částka každé transakce bude vydělena %.6f." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Opravdu chcete převést tento účet\n" "na účet, kde je hlavní měnou Euro?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Převést" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Nebyla změněna žádná transakce" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "převod změněn: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "Výsledek automatického přiřazení" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Chcete podle každé z vybraných transakcí\n" "vytvořit šablonu?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Opravdu chcete všechny\n" "vybrané transakce smazat?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_Smazat" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Opravdu chcete změnit stav na Žádný?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "Některé transakce ve vašem výběru už jsou ve stavu Schváleno." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Změnit" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Opravdu přepnout do stavu Schváleno?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "Přepnou_t" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "%d transakcí" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d transakcí, %d vybráno, průměr: %s, součet: %s (%s - %s)" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "Úč_et" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Exportovat QIF…" #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Export CSV…" #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "Exportovat do PDF…" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Zavřít" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Úpravy" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Přev_od" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "Přid_at…" #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "Odvod_it…" #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Upravit…" #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Stav" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Nic" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "_Zaplaceno" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Schváleno" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "_Vícenásobná úprava…" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Vytvořit šablonu…" #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Smazat…" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "Nás_troje" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "Označit duplicity…" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "Automatické přiřazení" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filtr…" #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Převést na Euro…" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Přidat novou transakci" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Přidat" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Vytvořit podle stávající transakce" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Odvodit" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Upravit aktivní transakci" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Upravit" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "Přepnout vybrané transakce do stavu Zaplaceno" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "Přepnout vybrané transakce do stavu Schváleno." #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Upravit více transakcí" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Vytvořit šablonu" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Smazat vybraný převod(y)" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "(uzavřeno)" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "%s – HomeBank" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "Všechny transakce" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "_Načíst znovu" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Rozsah:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "Vyp/zap. zobrazování budoucích transakcí" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Typ:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Stav:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_Reset" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Otevřít seznam filtrů" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "Euro drobné" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Banka:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Dnes:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Budoucí:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Vzít zpět neuložené změny, provedené v souboru „%s“?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "- Provedené změny souboru nebudou uloženy.\n" "- Soubor bude obnoven z posledního uloženého stavu (.xhb~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "V_rátit" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Opravdu chcete soubor anonymizovat?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Pokračováním bude anonymizován jakýkoliv text, \n" "jako „účet x“, “příjemce y“, „poznámka z“, …" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Anonymizovat" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Vítejte v HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Co si přejete provést:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Přečíst si příručku k Ho_meBank" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "Nastavit _předvolby" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Vytvořit _nový soubor" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Otevřít existující soubor" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Otevřít _ukázkový soubor" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" "Chystáte se otevřít záložní soubor „%s“.\n" "\n" "Opravdu to chcete udělat?" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "Otevřít záložní soubor?" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "_otevřít zálohu" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Neznámá chyba" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "Vst/výstup. chyba pro soubor „%s“." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Soubor „%s“ není platným souborem HomeBank." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "Soubor „%s“ byl uložen novější verzí programu HomeBank\n" "a nelze ho otevřít v této verzi." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Chyba souboru" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "Soubor byl upraven od jeho posledního čtení." #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Pokud ho uložíte, všechny zvenčí provedené změny budou přepsány. Přesto " "uložit?" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "_Přesto uložit" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Soubor" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Nový" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Otevřít…" #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "Otevřít _nedávné" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Uložit" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "Uložit j_ako…" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "Importovat…" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "Exportovat jako QIF…" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Vrátit změny" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "Obnovit ze zálohy" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Vlastnosti…" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Ukončit" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Předvolby…" #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Zobrazit" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "Panel nás_trojů" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "Hlavní _výdaje" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro drobné" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Spravovat" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "Úč_ty…" #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Příjemci…" #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Kategorie…" #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Naplánované/šablona…" #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Rozpočet…" #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Přiřazení…" #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Měny…" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Transakce" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Přidat…" #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Zobrazit…" #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "Zobrazit vše…" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Nastavit naplánované…" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Odeslat naplánované" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Sestavy" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Statistika…" #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Trend v čase…" #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "Ro_zpočet…" #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "Náklady na _vozidlo…" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Zobrazit uvítací dialog…" #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Statistiky souboru…" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Anonymizovat…" #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Nápověda" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Obsah" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "Zjistit dostupnost případných aktualizací…" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "Poznámky k vydání" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Nahlásit problém…" #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Překládat texty této aplikace…" #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "O _aplikaci" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Vytvořit nový soubor" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Otevřít" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Otevřít soubor" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Otevřít nedávno používaný soubor" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Uložit právě otevřený soubor" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Nastavit účty" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Nastavit příjemce" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Nastavit kategorie" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Nastavit naplánované transakce / šablony transakcí" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Nastavit rozpočet" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Nastavit automatická přiřazení" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Zobrazit transakce zvoleného účtu" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Přidat transakce" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Otevřít statistiky" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Otevřít výkaz trend v čase" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Otevřít přehled zůstatků" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Otevřít zprávu o rozpočtu" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Otevřít přehled nákladů na vozidlo" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "Naplánováno" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Budoucí" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "Připomenout" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(žádná kategorie)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "neplatný CSV formát" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Datum" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Info" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Příjemce" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Poznámka" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Částka" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Bilance" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Neznámý" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f L" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "mil/l" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(žádný příjemce)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Vypsat informace o verzi a skončit" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[SOUBOR]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Chyba prohlížeče." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Nedaří se zobrazit URL adresu „%s“" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Nastavení HomeBank" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Nedaří se otevřít „%s“, soubor neexistuje.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(žádná instituce)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Vaše účty" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Rozbalit vše" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Sbalit vše" #: ../src/hub-account.c:547 msgid "Show all" msgstr "Zobrazit vše" #: ../src/hub-account.c:552 msgid "By type" msgstr "Podle typu" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Žádná transakce pro přidání" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "přidána transakce: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Zkontrolujte výsledek naplánovaných transakcí" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Celkem" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Plánované transakce" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Přeskočit" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Upravit a zaúčtovat" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Zaúčtovat" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "nejpozdější možné datum zaúčtování" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Největší výdaje" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "Největší %d výdaje" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Jiné" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Kam odcházejí vaše peníze" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "importovaný účet" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Celkový součet" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Účty" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Banka" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Dnes" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- rozděleno -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Účet" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Stav" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Výdaje" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Příjmy" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Kategorie" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Štítky" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Později" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Příští datum" #: ../src/rep-balance.c:76 msgid "List" msgstr "Seznam" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Zobrazit výsledky jako seznam" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Čárový" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Zobrazit výsledky jako čárový graf" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Načíst znovu" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Načíst výsledky znovu" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Podrobnosti" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Zobrazit/skrýt podrobnosti" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d pod %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Přehled zůstatku" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Zobrazení" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "Úče_t:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Vybr_at vše" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Každý _den" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Přiblížení (osa X):" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Datumový filtr" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Od:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Do:" #: ../src/rep-budget.c:787 msgid " over" msgstr " přes" #: ../src/rep-budget.c:793 msgid " left" msgstr " zbývá" #: ../src/rep-budget.c:796 msgid " under" msgstr " pod" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "Rozpočet na %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Rozpočet" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Výsledek" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "Zobrazit výsledky jako sloupcový graf" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "Výsledek do sch_ránky" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "_Výsledek do CSV" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "_Podrobnosti do schránky" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "_Podrobnosti do CSV" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Zpráva o rozpočtu" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "Zobrazit podle:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "Pouze mimo rozpočet" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Výsledek:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Rozpočet:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Utraceno:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Není zvolen žádný účet coby součást rozpočtu." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "Z dialogu účtů byste měli zahrnout nějaké účty." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Utraceno" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Podkategorie" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Štítek" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Měsíc" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Rok" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Příjmy a výdaje" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s od %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "Zobrazit výsledky jako sloupec" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "Zobrazit výsledky jako kruhový graf" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Zobrazit/skrýt popisek" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Zobrazit/skrýt poměr" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "Upravit filtr" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Statistiky" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "_Podle částky" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Zůstatek:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Příjem:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Výdaje:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Den" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Týden" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Čtvrtletí" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s v průběhu doby" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "Průměr: %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Zpráva o trendu v čase" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Kategorie:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Příjemce platby:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "Š_títek:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Shlukovat" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Časový úsek" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Metr" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Palivo" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Cena" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Vzdálenost" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Exportovat jako CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Přehled nákladů na vozidlo" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "Vozidlo:" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Počítadlo kilometrů:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Spotřeba:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Náklady na palivo:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Ostatní náklady:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Celková cena:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(nic)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Viditelný" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Storno" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Název účtu" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Chyba" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Účet nelze přidat pod názvem „%s“,\n" "je už používán pro jiný." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "Účet „%s“ nelze smazat" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "Tento účet obsahuje transkace a/nebo je součástí interních převodů." #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Opravdu chcete nadobro smazat „%s“?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "Pokud účet smažete, bude nadobro ztracen." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Účet „%s“ nelze přejmenovat\n" "na „%s“, protože takto už je\n" "nazvaný jiný." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Správa účtů" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Pořadí změníte přetáhnutím\n" "Přejmenujete dvojklikem" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Obecné" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "Č_íslo:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Počáteční_zůstatek:" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "_Měna:" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "tento účet byl _uzavřen" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "Poznámky:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "Výchozí _Šablona:" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Vynechání z výkazu" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "vynechat z přehledu _účtu" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "vynechat z _rozpočtu" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "vynechat ze všech _sestav" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Aktuální počet šeků" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Šeková knížka _1:" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Šeková knížka _2:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "Limity zůstatku" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "Přečerpání na:" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" "Pokud naplánovanou transakci nebo šablonu smažete, nebude to možné vzít zpět." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Příští _datum:" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Každý:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Konec týdne:" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_Ukončit po:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "příspěvky" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Spravovat naplánované transakce / šablony transakcí" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "Pokud přiřazení smažete, nepůjde to vrátit zpět." #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "Vypnuto" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "Pokud je prázdný" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "Přepsat" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Spravovat přiřazení" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Podmínka" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Platba:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Nový soubor HomeBank (%d z %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Nenalezeno" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Vlastník:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "Měna:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Vlastnosti souboru" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "Zjištění systémem" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Jazyky:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Soubor s přednastaveními:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Použít mé kategorie z tohoto souboru" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Přednastavení kategorií" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "Informace" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Název:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Zůstatky" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Počáteční:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "Přečerpaný _od:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Vytvořit účet" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "Toto je potvrzovací stránka, pro provedení změn stiskněte „Použít“" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Potvrzení" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "Platný" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Název" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Podporované soubory" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF soubory" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX soubory" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV soubory" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Všechny soubory" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "nový globální účet" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "nový účet" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "přeskočeno" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr ", %d z %d transakcí" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" "Některá data nemohou být převedena. Aby bylo možné pokračovat, zkuste změnit " "jejich pořadí." #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "_Importovat %s do:" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "tento soubor" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "tento účet" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" "Název: %s\n" "Číslo: %s\n" "Soubor: %s\n" "Kódování: %s" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "Importovat transakce z banky nebo kreditní karty" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" "Tento pomocník vás provede procesem importu jednoho nebo více\n" "stažených výpisů z vaší banky nebo kreditní karty, v následujících formátech:" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" "Doporučeno: .OFX nebo .QFX\n" "(Někdy také nazýváno jako Money™ nebo Quicken™)\n" "Podporováno: .QIF\n" "(Běžný Quicken™ soubor)\n" "Pouze pro pokročilé uživatele: .CSV\n" "(formát je specifický pro HomeBank, viz dokumentace)" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" "Dokud na konci tohoto průvodce nekliknete na „Použít“, nebudou provedeny " "žádné změny." #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "Znovu už toto nezobrazovat" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" "Je vybráno příliš mnoho souborů, použíjte tlačítko Zpět a vyberte jich méně." #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "Identifikace cílového účtu podle názvu nebo čísla se nezdařila." #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Pořadí v datu:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "_Importovat poznámky" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "Prohodit poznámky a příjemce" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "OFX _Název:" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "OFX pozná_mka:" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "Vybrat:" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Vše" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Žádný" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Invertovat" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "Podobná transakce v cílovém účtu (možná duplicita)" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "Mezera v datu:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "dnů" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Párování je prováděno v pořadí: podle účtu, částky a data.\n" "Tolerance data 0 dnů znamená přesnou shodu" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "Vítejte" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "Vybrat soubor(y)" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "Import" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Chyba formátu souboru" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" "Je třeba, aby CSV soubor obsahoval přesná čísla řádků,\n" "oddělovaných středníky. Podrobnosti naleznete v Nápovědě." #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "Opravdu chcete položku smazat?" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "Pokud budete pokračovat, všechny částky budou nastaveny na 0." #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "_Vyčistit" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Spravovat rozpočet" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "_Importovat CSV" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "E_xportovat CSV" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "Vyčistit vstup" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Možnosti" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Vynutit sledování této kategorie" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Led" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Úno" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Bře" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Dub" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "květen" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Čer" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Čec" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Srp" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Říj" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Lis" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Pro" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Tato kategorie je použitá.\n" "Transakce, které využívají tuto kategorii budou nastaveny na (žádná " "kategorie)" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "_Vymazat kategorii „%s“" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "Sloučit" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "Smazat nepoužité kategorie" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "Opravdu chcete nepoužívané kategorie navždy smazat?" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "Upravit…" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Příjem" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Kategorii „%s“ nelze přejmenovat\n" "na „%s“, protože tento název\n" "už je používán pro jinou." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "Sloučit s kategorií „%s“" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "Transakce přiřazené do této kategorie\n" "budou přesunuty do té níže vybrané." #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Spravovat kategorie" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "_Smazat nepoužívané" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "nová kategorie" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "nová podkategorie" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Základní měna" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Symbol" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "Kurz" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "Naposledy změněno" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Upravit měnu" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "Měna" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "Formát" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "_Přizpůsobit" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "_Symbol:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "Zobrazovat před částkou" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "_Desetinná značka:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "D_esetinná místa:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "Oddělovač tisíců:" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Zvolte základní měnu" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Zvolte měnu" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "ISO kód" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "Přidat vlastní _měnu" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "_ISO:" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "Chyba online aktualizace" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "Pokud měnu smažete, bude trvale odstraněna." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Změnit základní měnu" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" "Pokud budete pokračovat, kurzy ostatních měn budou\n" "nastaveny na nulu. Nezapomeňte je aktualizovat" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Měny" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "Aktualizace online" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "Nastavit jako základ" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Statistika souborů" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "Transakce" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "Přiřazení" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "Přejít na novější verzi" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "Zvolit základní měnu" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "Od verze 5.1, HomeBank umí pracovat s několika měnami\n" "pokud níže uvedená měna není správně, změňte ji:" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Exportovat jako QIF data" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Importovat z CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "Otevřít HomeBank soubor" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "Otevřít HomeBank záložní soubor" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "Uložit HomeBank soubor jako" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "Soubory HomeBank" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "Záložní soubor" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "Všechny zálohy" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "Před ukončením, uložit změny do souboru?" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Bez uložení budou změny navždy ztraceny.\n" "Počet změn: %d." #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "Zavřít _bez uložení" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "Exportovat do PDF" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "Exportovat do _PDF" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "Složka:" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "Vyberte složku" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "Název souboru:" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Vybrat z možných transakcí…" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Vyberte akci:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "vytvořit novou transakci" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "vybrat existující transakci" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "HomeBank nalezlo některé transakce, které mohou být přiřazenými transakcemi " "pro interní převod." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "M_ožnost:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "Pozná_mka:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Informace:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "Rozlišovat malá/VELKÁ pí_smena" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Jakýkoli" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "Zaplaceno" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "Schváleno" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Jakýkoli" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Převod" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Vynutit:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "zobrazit „Přidané“" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "zobrazit „Upravené“" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "zobrazit „Připomenout“" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "Data" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "Platby" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "Částky" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "Texty" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "Kategorie" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "Příjemci" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Naplánovaná transakce" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "přidat dokud" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "každého měsíce (vyjma)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "přidat" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "dní před aktuálním datem" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Náklady na vozidlo" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "Smazat nepoužité příjemce" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Opravdu chcete natrvalo\n" "smazat nepoužité příjemce?" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "Výchozí" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "P_latba:" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Příjemce „%s“ nelze přejmenovat\n" "na „%s“, protože toto pojmenování\n" "už je použito pro nějakého jiného." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "Sloučit s příjemcem „%s“" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Transakce přiřazené tomuto příjemci,\n" "budou přesunuty na toho níže vybraného." #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "_Smazat příjemce „%s“" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "Tento příjemce je používán.\n" "Jakékoli transakce používající tohoto příjemce budou nastaveny na (žádný " "příjemce)" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Spravovat příjemce" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "nový příjemce" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Uživatelské rozhraní" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "Místní a jazyková nastavení" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Transakce" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Import/Export" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Sestava" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "Zálohovat" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "Složky" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Výchozí ze systému" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Pouze ikony" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Pouze text" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Text pod ikonami" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Text vedle ikon" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "Vodorovně" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "Svisle" #: ../src/ui-pref.c:109 msgid "Both" msgstr "V obou směrech" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango světlé" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango střední" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango tmavé" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "m-d-r" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "d-m-r" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "r-m-d" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Ignorovat" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Připojit k informaci" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Připojit k poznámce" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "Připojit k příjemci" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Systémový jazyk" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Výběr standardní složky pro soubory HomeBank" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Výběr standardní složky pro import" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Výběr standardní složky pro export" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "Možnosti OFX/QFX" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "Možnosti QIF" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Výchozí filtr" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Možnosti grafů" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "Barevné schéma:" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Nastavení statistik" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Zobr_azit podle částky" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Zob_razit sloupec kurz" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Zobrazit po_drobnosti" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Nastavení rozpočtu" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "Z_apnout" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Předvolba:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "Uživatelské rozhraní" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Jazyk:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "Zobrazení _datumu:" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "_Formát:" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" "%a zkrácený název dne v týdnu, dle místních a jazykových nastavení.\n" "%A celý název dne v týdnu, dle, dle místních a jazykových nastavení. \n" "%b zkrácený název měsíce, dle místních a jazykových nastavení. \n" "%B celý název měsíce, dle místních a jazykových nastavení. \n" "%c představuje datum a čas, příslušně dle místních a jazykových nastavení. \n" "%C číslovka století (letopočet dělený 100 a zkrácený na celé číslo) jako " "desítkové číslo [00-99]. \n" "%d den v měsíci jako desítkové číslo [01-31]. \n" "%D stejné jako %m/%d/%y. \n" "%e den v měsíci jako desítkové číslo [1-31], kde osamocené číslici předchází " "mezera. \n" "%j den v roce jako desítkové číslo [001-366]. \n" "%m měsíc jako desítkové číslo [01-12]. \n" "%p představuje datum, příslušně dle místních a jazykových nastavení. \n" "%y rok bez století, jako desítkové číslo [00-99]. \n" "%Y rok se stoletím, jako desítkové číslo." #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Daňový rok" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "Začíná:" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Měrné jednotky" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Vzdálenost uvádět v _mílích" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "Objem paliva uvádět v _galonech" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Transakční okno" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "Zobrazit budoucno_st:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "dní dopředu" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Vícenásobné vložení" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Ponechat poslední datum" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "Automatické dokončení poznámky" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "Aktivní" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "dny" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Nástrojová lišta:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "_Čáry mřížky:" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Barvy částek" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Používat vlastní barvy" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Výdej:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Příjem:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Varování:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "_Zapnout automatické zálohy" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "Počet záloh, které uchovávat:" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "Frekvence zálohování je jednou denně" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "_Peněženky:" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "Soubory pro výměnu" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Import:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Export:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Spuštění programu" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Zobrazovat spouštěcí obrazovku" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Načíst minule otevřený soubor" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Odeslat neuskutečněné naplánované transakce" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "Aktualizovat měny online" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Výkazy v hlavním okně" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "Resetovat všechna nastavení" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" "Opravdu chcete resetovat\n" "všechna nastavení do výchozích\n" "hodnot?" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Předvolby" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "Aby se změna jazyka projevila,\n" "bude třeba HomeBank restartovat." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "Rozdělit částku" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "Použít" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "Storno" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Částka:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Nepřiřazené:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Součet položek:" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Chcete přerušit vnitřní přenos?\n" "\n" "Provedení vymaže cílovou transakci." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "Zobrazit _naplánované" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "Zobr_azit všechny účty" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "Přid_at" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "_Odeslat" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Přidat transakci" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Odvozená transakce" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Datum:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "Po_známka:" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "Upozornění: částka a znaménko kategorie (+ nebo -) nesouhlasí" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "Hromadná úprava transakcí" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "Šablona" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Zahrnout" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Vynechat" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(žádný typ)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Hotovost" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Aktiva" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Kreditní karta" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Pasiva" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "Tento měsíc" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "Minulý měsíc" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "Toto čtvrtletí" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "Minulé čtvrtletí" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "Tento rok" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "Minulý rok" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Uplynulých 30 dnů" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Posledních 60 dnů" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Posledních 90 dnů" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Posledních 12 měsíců" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Všechna data" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Možné" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Před" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "Po" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "Neschváleno" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Nevyrovnaný" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Bez kategorie" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "leden" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "únor" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "březen" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "duben" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "červen" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "červenec" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "srpen" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "září" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "říjen" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "listopad" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "prosinec" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Zář" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "Hledat…" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Šek" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Debetní karta" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Trvalý příkaz" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Elektronická platba" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Vklad" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "Bankovní poplatek" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Inkaso" homebank-5.3.2/po/it.po0000644000175000017500000026020313620025306011620 00000000000000# Italian translation for homebank # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the homebank package. # Francesco Namuri , 2007. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2019-10-28 11:09+0000\n" "Last-Translator: Nmesisca \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Finanze Personali" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Gratuito, facile, un conto personale per chiunque" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "finanza, contabilità, bilancio, personale, soldi" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "HomeBank è un software gratuito (sia come \"libertà di parola\" che come " "\"birra gratis\") che vi aiuterà a gestire la contabilità personale." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "È stato progettato per essere usato facilmente ed è in grado di analizzare " "le tue finanze personali in dettaglio utilizzando potenti strumenti di " "filtraggio e bellissimi grafici." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Se siete alla ricerca di un modo completamente gratuito e facile di gestione " "della vostra contabilità personale allora HomeBank è il software che fa per " "voi." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "C'è il gruppo %d di movimenti simili" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "Non sono stati trovati movimenti simili!" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "Controlla risultato del Trasferimento Interno" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "Nessuna incoerenza trovata!" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "Trovata incongruenza: %d\n" "Vuoi verificare e correggere?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Ogni importo del movimento sarà diviso in %.6f." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Sei sicuro di voler convertire questo conto\n" "in Euro come valuta principale?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Converti" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Nessun movimento modificato" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "Movimento modificato: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "Risultato assegnazione automatica" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Vuoi creare un modello con\n" "una dei movimenti selezionati?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "_Crea" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Vuoi cancellare\n" "tutti i movimenti selezionati?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_Elimina" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Sei sicuro di voler cambiare lo stato a Nessuno?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "Alcuni movimenti nella selezione sono già Convalidati." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Cambia" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Sei sicuro di voler impostare lo stato Convalidato?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "Impos_ta" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "%d movimenti" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d movimenti, %d selezionati, media: %s, somma: %s (%s-%s)" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "_Conto" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Esporta QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Esporta CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "Esporta come file PDF..." #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Chiudi" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Modifica" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "Copia" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "Incolla" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "Incolla (oggi)" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Moviment_o" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Aggiungi..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "Ered_ita..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Modifica..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Stato" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Nessuno" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "_Approvata" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Riconciliato" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "Modifica _multipla..." #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Crea modello..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Elimina..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "_Cerca" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "S_trumenti" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "Contrassegna duplicato..." #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "Controlla Trasferimento Interno" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "Auto assegnazioni" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filtra..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Converti in Euro..." #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Aggiungi un nuovo movimento" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Aggiungi" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Eredita dal movimento attivo" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Eredita" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Modifica il movimento attivo" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Modifica" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "Imposta come approvato per i movimenti selezionati" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "Imposta come riconciliato per i movimenti selezionati" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Modifica movimento multiplo" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Crea modello" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Elimina movimenti selezionati" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "Sposta Transatione su'" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "Sposta Transazione giu'" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "(chiuso)" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "Tutti i movimenti" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "_Aggiorna" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Intervallo:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "Attiva/disattiva il movimento futuro" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Tipo:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Stato:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_Reimposta" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Apri elenco filtri" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "Euro _minore" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Banca:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Oggi:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Futuro:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Ripristinare modifiche non salvate nel file '%s'?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "- Le modifiche effettuate al file saranno perse in modo definitivo\n" "- Il file sarà ripristinato dall'ultimo salvataggio (.xhb~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Ripristina" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Sei sicuro di voler rendere anonimo il file?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Procedendo sarà reso anonimo qualsiasi testo, \n" "come 'conto x', 'beneficiario y', 'promemoria z', ..." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "Rendi _anonimo" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Benvenuto in HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Cosa vuoi fare:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Leggi il _manuale di HomeBank" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "Imposta _preferenze" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Crea un _nuovo file" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Apri un file esistente" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Apri il file di _esempio" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" "Stai per aprire il file di backup '%s'.\n" "\n" "Sei sicuro di volerlo fare?" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "Apro il file di backup ?" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "_Apri backup" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Errore sconosciuto" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "Errore di I/O per il file '%s'." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Il file '%s' non è un file di HomeBank valido." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "Il file '%s' è stato salvato con una versione superiore di HomeBank\n" "e non può essere letto dalla versione attuale." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Errore file" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "Il file è stato modificato dal momento dell'apertura." #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Salvare il file può comportare la perdita di tutte le modifiche esterne. " "Salvare lo stesso?" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "S_alva comunque" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_File" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Nuovo" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Apri..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "Apri _recenti" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Salva" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "S_alva con nome..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "Importa…" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "Esporta come QIF..." #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Ripristina" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "Ripristina backup" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Proprietà..." #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Esci" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Preferenze..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Visualizza" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "Barra degli s_trumenti" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_Maggiori spese" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Tasso di cambio Euro" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Gestione" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "_Conti..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Beneficiari..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Categorie..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Schedulazione/Modello..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Budget..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Assegnazioni..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Valute..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "Movimen_ti" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Aggiungi..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Mostra..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "Mostra tutto..." #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Imposta schedulatore..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Pubblica schedulate" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Resoconti" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Statistiche..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Andamento temporale..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "_Bilancio" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "B_uget..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "Costo _veicolo..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Mostra la finestra di benvenuto..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Statistiche file..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Rendi anonimo..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Aiuto" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Sommario" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "Controlla aggiornamenti..." #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "Note di rilascio" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Segnala un problema..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Traduci questa applicazione..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "Inform_azioni" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Crea un nuovo file" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Apri" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Apri un file" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Apri un file usato di recente" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Salva il file corrente" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Configura i conti" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Configura i beneficiari" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Configura le categorie" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Configura i movimenti schedulati/modelli" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Configura il budget" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Configura le assegnazioni automatiche" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Mostra i movimenti del conto selezionato" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Aggiungi movimenti" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Apri il resoconto Statistiche" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Apri il resoconto Andamento temporale" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Apri il resoconto Saldo" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Apri il resoconto Budget" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Apri il resoconto Costo veicolo" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "Fai una donazione al progetto HomeBank" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "Pianificato" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Futuro" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "Promemoria" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(nessuna categoria)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "formato CSV invalido" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Data" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Informazioni" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Beneficiario" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Descrizione" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Importo" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Saldo" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Sconosciuto" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "mi/l" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(nessun beneficiario)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Mostra informazioni di versione ed esci" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[FILE]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Errore di navigazione." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Impossibile visualizzare URL '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Preferenze HomeBank" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Impossibile aprire '%s', il file non esiste.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(nessun ente)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "(nessun gruppo)" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "I tuoi conti" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Espandi tutto" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Comprimi tutto" #: ../src/hub-account.c:547 msgid "Show all" msgstr "Mostra tutto" #: ../src/hub-account.c:552 msgid "By type" msgstr "Per tipo" #: ../src/hub-account.c:553 msgid "By group" msgstr "Per gruppo" #: ../src/hub-account.c:554 msgid "By institution" msgstr "Per istituzione" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Nessun movimento da aggiungere" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "movimento aggiunto: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Controlla il risultato dei movimenti schedulati" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Totale" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Transazioni schedulate" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Tralascia" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Modifica e pubblica" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Pubblica" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "data massima pubblicazione" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Spese maggiori" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "Maggiori %d spese" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Altro" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Dove hai speso i tuoi soldi" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "Conto importato" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Totale complessivo" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Conti" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Banca" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Oggi" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- suddividi -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Conto" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Stato" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Spese" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Entrate" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Categoria" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Etichette" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "In ritardo" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Prossima data" #: ../src/rep-balance.c:76 msgid "List" msgstr "Elenco" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Mostra risultati in elenco" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Riga" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Mostra risultato in righe" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Aggiorna" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Aggiorna risultati" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Dettagli" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Imposta dettagli" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d%d sotto %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Resoconto del saldo" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Mostra" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "_Conto" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Selezion_a tutto" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Ogni _giorno" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Ingrandimento X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Filtra per data" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Da:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_A:" #: ../src/rep-budget.c:787 msgid " over" msgstr " su" #: ../src/rep-budget.c:793 msgid " left" msgstr " sinistra" #: ../src/rep-budget.c:796 msgid " under" msgstr " sotto" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "Budget per %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Budget" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Risultato" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "Mostra risultati come grafico a barre" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "_Risultato negli appunti" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "_Risultato in CSV" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "_Dettagli negli appunti" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "_Dettagli in CSV" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Resoconto budget" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Mostra per:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "Solo fuori budget" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Risultato:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Budget:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Spese:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Nessun conto definito come conto di budget." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "Dovresti includere qualche conto nel menu dei conti" #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Spesi" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Sottocategoria" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Etichetta" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Mese" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Anno" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Spese & Entrate" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s per %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "Troppe colonne per poter visualizzare" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "Seleziona un intervallo piu' ampio e/o un range di date piu' corto" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "Mostra risultati in un grafico a barre" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "Mostra risultati in un grafico a torta" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Mostra/nascondi legenda" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Imposta tasso" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "Modifica filtro" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Resoconto Statistiche" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "Modalità:" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Per _importo" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Saldo:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Entrate:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Spese:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "Media" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Giorno" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Settimana" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Trimestre" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "Mezzo anno" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s scaduti" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "Media: %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Resoconto Andamento temporale" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Categoria:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Beneficiari:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Etichetta:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Accumula" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Periodo di tempo" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Contachilometri" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Carburante" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Prezzo" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Dist." #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Esporta come CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Resoconto costo veicolo" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "Vei_colo:" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Chilometri:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Consumi:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Costo carburante:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Altri costi:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Costo totale:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(nessuno)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Visibile" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Annulla" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Nome Conto" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Errore" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Impossibile aggiungere il conto '%s',\n" "nome già esistente." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "Impossibile eliminare il conto '%s'" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" "Questo conto contiene transazioni e/o fa parte di trasferimenti interni." #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Sei sicuro di voler eliminare definitivamente '%s'?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "Se elimini un conto, sarà perso in modo definitivo." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Impossibile rinominare questo Conto,\n" "da '%s' a '%s',\n" "nome già esistente." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Gestione Conti" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "Rinomina" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Trascina e rilascia per cambiare l'ordine\n" "Doppio click per rinominare" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Generale" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "N_umero:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Saldo _iniziale" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "_Valuta:" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "questo conto è stato _chiuso" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "Note:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "Modello _preimpostato" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Esclusione resoconti" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "escludi dal _riepilogo conti" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "escludi dal _budget" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "escludi da tutti i _resoconti" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Numero transazione corrente" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Assegno _1:" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Assegno _2:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "Limiti di bilancio" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "Sc_operto a:" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "Se elimini una schedulazione/modello, sarà persa in modo definitivo." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Prossima _data:" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "Ogn_i:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Fine settimana" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_Fermati dopo:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "elementi" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Gestione movimenti schedulati/modelli" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "Se elimini un'assegnazione, sarà persa in modo definitivo." #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "Disabilitato" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "Se vuoto" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "Sovrascrivi" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Gestione assegnazioni" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Condizione" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Paga_mento" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Nuovo file HomeBank (%d di %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Non trovato" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Proprietario:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "Valuta:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Proprietà file" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "Sistema rilevamento" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Lingue:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "File predefinito:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Inizializza le mie categorie con questo file" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Categorie predefinite" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "Informazioni" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Nome:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Saldo" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Iniziale:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "Sc_operto al:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Crea un conto" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Questa è una pagina di conferma, premi 'Applica' per confermare le modifiche" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Conferma" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "Valida" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Nome" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Files conosciuti" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "File QIF" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "File OFX/QFX" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "File CSV" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Tutti i file" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "nuovo conto globale" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "nuovo conto" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "tralasciato" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr ", %d of %d transazioni" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" "Alcune date non possono essere convertite. Prova a modificare l'ordine di " "data per continuare." #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "Importa %s _in:" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "questo file" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "questo conto" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" "Nome: %s\n" "Numero: %s\n" "File: %s\n" "Codifica: %s" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "Importa movimenti dalla banca o carta di credito" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" "Con questo assistente sarai guidato attraverso il processo di importazione " "di uno o molti\n" "estratti conto dalla tua banca o carta di credito, nei seguenti formati:" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" "Raccomandati:.OFX or .QFX\n" "(Talvolta chiamati Money™ o Quicken™)\n" "Supportati: .QIF\n" "(file Quicken™ comune)\n" "Solo utenti avanzati: .CSV\n" "(formato specifico per HomeBank, vedi documentazione)" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" "Nessuna modifica verrà applicata fino a quando non premi \"Applica\" alla " "fine di questo assistente." #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "Non visualizzare più" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" "Ci sono troppi conti nei file che hai scelto,\n" "usa il pulsante \"Vai indietro\" e seleziona meno file." #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "Identificazione conto di destinazione per nome o numero fallita." #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Ordine data:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "_Importa descrizioni" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "_Scambia descrizioni con beneficiari" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "_Nome OFX" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "_Memo OFX" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "Seleziona:" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Tutti" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Nessuna" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Inverti" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "_Frase descrizione/beneficiario" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "Movimento simile nel conto di destinazione (possibile duplicato)" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "Intervallo _data:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "giorni" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Le corrispondenze sono ordinate per: conto, importo e data.\n" "Una tolleranza di 0 giorni indica una corrispondenza esatta" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "Benvenuto" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "Seleziona file(s)" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "Importa" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Errore nel formato file" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" "Il file CSV deve contenere il numero esatto di colonne,\n" "separate da un punto e virgola, per favore verifica l'help per maggiori " "dettagli" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "Sei sicuro di voler pulire l'inserimento?" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "Continuando, ogni importo verrà impostato a 0" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "Pulis_ci" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Gestione Budget" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "_Importa CSV" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "_Esporta CSV" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "_Pulisci inserimento" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Preferenze" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Forza il monitoraggio di questa categoria" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Gen" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Maggio" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Giu" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Lug" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Ago" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Ott" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Dic" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Questa categorià è già presente.\n" "Qualsiasi transazione che usi quella categoria sarà impostata come (nessuna " "categoria)" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "_Elimina la categoria '%s'" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "Unisci" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "Elimina categorie inutilizzate" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Sei sicuro di eliminare definitivamente\n" "le categorie inutilizzate?" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "Modifica..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Entrate" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Impossibile rinominare questa Categoria,\n" "da '%s' a '%s',\n" "nome già esistente." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "Unisci categoria '%s'" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "Le transazioni assegnate a questa categoria,\n" "saranno spostate nella categoria sotto selezionata." #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Gestione Categorie" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "_Elimina inutilizzate" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "nuova categoria" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "nuova sottocategoria" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Valuta base" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Simbolo" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "Tasso di cambio" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "Ultima modifica" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Modifica valuta" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "Valuta" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "Formato" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "_Personalizza" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "_Simbolo:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "E' un pre_fisso" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "Valore _decimanle" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Separazione dei decimali:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "Valore _gruppo" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Seleziona valuta base" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Seleziona valuta" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "Codice ISO" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "Aggiungi una _valuta personalizzata" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "_ISO:" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "Errore aggiornamento online" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "Se elimini una valuta, sarà persa definitivamente." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Cambia la valuta base" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" "Se procedi, i tassi delle altre valute\n" "saranno impostati a 0, non dimenticare di aggiornare" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Valute" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "Aggiorna online" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "Imposta come principale" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Statistiche file" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "Movimento" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "Assegnazione" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "Aggiorna" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "Seleziona una valuta principale" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "A partire dalla v5.1, HomeBank può gestire molte valute\n" "se la valuta sotto sono è corretta, per favore cambiala:" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Esporta come QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Importa da CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "Apri un file HomeBank" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "Apri un file di backup HomeBank" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "Salva un file HomeBank come" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "File Homebank" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "File backup" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "Tutti i backup" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "Salvare le modifiche nel file prima di chiudere?" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Se non salvi, le modifiche saranno perse in modo definitivo.\n" "Numero di modifiche: %d." #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "Chiudi _senza salvare" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "Esporta come PDF" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "Esporta come _PDF" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "Cartella:" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "Seleziona una cartella" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "Nome file:" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Scegli tra le transazioni disponibili..." #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Seleziona un'azione:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "crea una nuova transazione" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "seleziona un movimento esistente" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "HomeBank ha trovato alcuni movimenti che potrebbero essere collegati al " "trasferimento interno." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Opzioni:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Descrizione:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Info:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "Maiu_scole/minuscole" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Qualsiasi stato" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "Approvata" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "Riconciliata" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Qualsiasi tipo" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Bonifico" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Forza:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "mostra 'Aggiunte'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "mostra 'Modificate'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "Mostra 'Promemoria'" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "Date" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "Pagamenti" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "Importi" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "Testi" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "Categorie" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "Beneficiari" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Transazione schedulata" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "aggiungi fino al" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "di ogni mese (escluso)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "aggiungi" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "giorni in anticipo rispetto ad oggi" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Costo del veicolo" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "Elimina beneficiari inutilizzati" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Sei sicuro di voler eliminare\n" "definitivamente i beneficiari inutilizzati?" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "Predefinito" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "Pa_gamento:" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Impossibile rinominare questo Beneficiario,\n" "da '%s' a '%s',\n" "nome già esistente." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "Unisci beneficiario '%s'" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Le transazioni assegnate a questo beneficiario,\n" "saranno spostate nel beneficiario sotto selezionato." #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "_Elimina il beneficiario '%s'" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "Questo beneficiario è già presente.\n" "Qualsiasi transazione che usi quel beneficiario sarà impostata come (nessun " "beneficiario)" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Gestione Beneficiari" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "nuovo beneficiario" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Interfaccia" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "Lingua" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Transazioni" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Importa/Esporta" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Resoconti" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "Backup" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "Cartelle" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Impostazioni predefinite" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Solo icone" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Solo testo" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Testo sotto le icone" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Testo accanto alle icone" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "Orizzontale" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "Verticale" #: ../src/ui-pref.c:109 msgid "Both" msgstr "Entrambi" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango - Chiaro" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango - Medio" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango - Scuro" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "m-g-a" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "g-m-a" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "a-m-g" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Ignora" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Aggiungi alle Informazioni" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Aggiungi alla Descrizione" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "Aggiungi a beneficiario" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Lingua di sistema" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Scegli una cartella predefinita per i file di HomeBank" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Scegli una cartella di importazione predefinita" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Scegli una cartella di esportazione predefinita" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "Opzioni OFX/QFX" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "Opzioni QIF" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Filtro iniziale" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Opzioni Grafici" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "Schema di colori:" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Opzioni Statistiche" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Mostr_a per importo" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Most_ra colonna tassi" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Mostra _dettagli" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Opzioni Budget" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Abilita" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Predefinito:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "Interfaccia utente" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Lingua:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "Mostra _data:" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "_Formato:" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" "%a nome della settimana abbreviato nella propria lingua.\n" "%A nome della settimana completo nella propria lingua. \n" "%b nome del mese abbreviato nella propria lingua. \n" "%B nome del mese completo nella propria lingua. \n" "%c rappresentazione della data e dell'ora appropriate nella propria lingua. " "\n" "%C numero del secolo (l'anno diviso per 100 e troncato ad un intero) come " "numero decimale [00-99]. \n" "%d giorno del mese come numero decimale [01,31]. \n" "%D uguale a %m/%d/%y. \n" "%e giorno del mese come numero decimale [1,31]; una cifra singola preceduta " "da uno spazio. \n" "%j giorno dell'anno come numero decimale [001,366]. \n" "%m mese come numero decimale [01,12]. \n" "%p rappresentazione della data nella propria lingua. \n" "%y anno senza secolo come numero decimale [00,99]. \n" "%Y anno con secolo come numero decimale." #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Anno fiscale" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "Inizia _il:" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Unità di misura" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Usa _miglia invece di metri" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "Usa Galloni per il carburante" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Finestra movimenti" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "Mo_stra futuri:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "giorni prima" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Inserimento multiplo" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Mantieni ultima data" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "Completamento automatico descrizione" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "Attiva" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "giorni ricorrenti" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Barra degli strumenti:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "_Griglia:" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Colore importi" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Usa colori personalizzati" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Spese:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Entrate" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Avviso:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "_Attiva backups automatici" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "_Numero di backups da mantenere" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "La frequenza di backup è una volta al giorno" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "_Portafogli" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "File di scambio" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Importazione:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Esportazione:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Avvio programma" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Mostra schermata iniziale" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Carica ultimo file aperto" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Pubblica movimenti schedulati pendenti" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "Aggiorna valute online" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Resoconti finestra principale" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "Reimposta tutte le preferenze" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" "Sei sicuro di voler reimpostare\n" "tutte le preferenze ai valori\n" "predefiniti?" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Preferenze" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "Devi riavviare HomeBank\n" "affinché il cambio di lingua abbia effetto." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "Suddividi movimento" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "Applica" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "Annulla" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Importo movimento:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Non assegnato:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Totale divisioni:" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Vuoi interrompere il trasferimento interno ?\n" "\n" "Procedendo cancellerai il movimento selezionato." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "Mostra schedulati" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "Mostra _tutti i conti" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "_Aggiungi" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "Pubblica" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Aggiungi movimento" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Eredita movimento" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Data:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "D_escrizione:" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" "Attenzione: il segno dell'importo e della categoria assegnata non " "corrispondono" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "Modifica movimenti multipli" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "Modello" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Includi" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Escludi" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(nessun tipo)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Contanti" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Bene" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Carta di credito" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Passività" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "Questo mese" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "Scorso mese" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "Questo trimestre" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "Scorso trimestre" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "Quest'anno" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "Scorso anno" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Ultimi 30 giorni" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Ultimi 60 giorni" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Ultimi 90 giorni" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Ultimi 12 mesi" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Tutte le date" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Possibile" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Prima" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "Dopo" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "Non approvata" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Non riconciliata" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Senza categoria" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Gennaio" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Febbraio" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Marzo" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Aprile" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Giugno" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Luglio" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Agosto" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Settembre" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Ottobre" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Novembre" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Dicembre" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Set" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "Cerca..." #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Assegno" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Carta di debito" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Ordine permanente" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Pagamento elettronico" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Deposito" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "Rata" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Addebito diretto SDD" homebank-5.3.2/po/si.po0000644000175000017500000023700613620025356011631 00000000000000# Sinhalese translation for homebank # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2015-11-27 16:07+0000\n" "Last-Translator: Mohamed Rizmi \n" "Language-Team: Sinhalese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:53+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "පරිවර්තනය කරන්න (_C)" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "මකන්න (_D)" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "වෙනස් කරන්න (_C)" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "QIF අපනයනය..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "CSV අපනයනය..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "වසන්න (_C)" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "සැකසුම් (_E)" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "ගනුදෙනුව (_o)" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "එක් කරන්න... (_A)" #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "" #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "සංස්කරණය... (_E)" #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "" #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "මකා දමන්න (_D)..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "මෙවලම් (_T)" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "පෙරහන... (_F)" #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "නව ගනුදෙනුවක් එක් කරන්න" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "එක් කරන්න" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "සක්‍රීය ගනුදෙනුව වෙනස් කරන්න" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "සංස්කරණය" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "තෝරා ඇති ගනුදෙනු(ව) මකා දමන්න" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "පරාසය (_R):" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "වර්ගය (_T):" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "තත්වය (_S):" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "බැංකුව:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "අද:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "අනාගතය:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "HomeBank වෙත පිළිගනිමු" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "ඔබට කලයුත්තේ කුමක්ද:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "නව ගොනුවක් සාදන්න (_n)" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "පවතින ගොනුවක් විවෘත කරන්න (_O)" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "උදාහරණ ගොනුව විවෘත කරන්න (_e)" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "'%s' ගොනුවේ I/O දෝෂයක්." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "'%s' ගොනුව වලංගු HomeBank ගොනුවක් නොවේ." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "ගොනුවේ දෝෂයක්" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "ගොනුව (_F)" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "නව (_N)" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "විවෘත කරන්න... (_O)" #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "සුරකින්න (_S)" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "පෙර තත්වයට පත් කරන්න" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "ඉවත් වෙන්න (_Q)" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "අභිප්‍රේත..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "දර්ශනය (_V)" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "මෙවලම් තීරුව (_T)" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "කලමණාකරනය (_M)" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "ගිණුම් (_o)..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "ආදායකයන් (_P)..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "වර්ග..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "අයවැය..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "" #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "ගනුදෙනු (_T)" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "එක් කරන්න..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "පෙන්වන්න..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "වාර්තා (_R)" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "සංඛ්‍යා ලේඛන (_S)..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "" #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "අයවැය (_u)..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "වාහන වියදම (V)..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "" #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "උදව් (_H)" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "අන්තර්ගතයන් (_C)" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "ගැටළුවක් වාර්තා කරන්න..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "මෙම වැඩසටහන පරිවර්තනය කරන්න..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "පිළිබඳ (_A)" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "නව ගොනුවක් සාදන්න" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "විවෘත කරන්න (_O)" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "ගොනුවක් විවෘත කරන්න" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "මෑතකදි භාවිතා කළ ගොනුවක් විවෘත කරන්න" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "දැනට භාවිතාවන ගොනුව සුරකින්න" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "තෝරා ඇති ගිණුමේ ගනුදෙනු පෙන්වයි" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "ගනුදෙනු එක් කරන්න" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "ශේෂ වාර්තාව විවෘත කරන්න" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "අයවැය වාර්තාව විවෘත කරන්න" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "වාහන වියදම් වාර්තාව විවෘත කරන්න" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "අනාගතය" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "දිනය" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "තොරතුරු" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "ආදායකයා" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "ගණන" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "ශේෂය" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "නොදනී" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[ගොනුව]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "ඔබේ ගිණුම්" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "ගනුදෙනුව එක් කරන ලදී: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "එකතුව" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "මඟහරින්න" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "වැඩිම වියදම්" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "වෙනත්" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "ගිණුම්" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "බැංකුව" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "අද" #: ../src/list-operation.c:548 msgid "- split -" msgstr "" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "ගිණුම" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "තත්වය" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "වියදම" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "ආදායම" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "වර්ගය" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "මීලග දිනය" #: ../src/rep-balance.c:76 msgid "List" msgstr "ලැයිස්තුව" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "ප්‍රතිඑල ලැයිස්තුවක් ලෙස පෙන්වන්න" #: ../src/rep-balance.c:77 msgid "Line" msgstr "පේළිය" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "විස්තරය" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "ශේෂ වාර්තාව" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "ගිණුම (_c):" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "සියල්ල තෝරන්න (_a)" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "එක් එක් දිනය (_d)" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "සිට (_F):" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "දක්වා (_T):" #: ../src/rep-budget.c:787 msgid " over" msgstr "" #: ../src/rep-budget.c:793 msgid " left" msgstr "" #: ../src/rep-budget.c:796 msgid " under" msgstr "" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "%s සඳහා වන අයවැය" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "අයවැය" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "ප්‍රතිඑලය" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "අයවැය වාර්තාව" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "ප්‍රතිඑලය:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "අයවැය:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "වියදම් කළ:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "මාසය" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "වසර" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "සංඛ්‍යා ලේඛන වාර්තාව" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "ඉතිරිය:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "ආදායම:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "වියදම:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "දවස" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "සතිය" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "කා‍ර්තු‍ව‍" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "වර්ගය (_C):" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "ආදායකයා (_P):" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "ඉන්ධන" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "මිල" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "දුර" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "CSV ලෙස අපනයනය කරන්න" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "වාහන වියදම් වාර්තාව" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "වාහනය (_c):" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "මීටරය:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "පරිභෝජනය:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "ඉන්ධන වියදම:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "වෙනත් වියදම්:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "මුලු වියදම:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(කිසිවක් නැත)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "අවලංගු කරන්න (_C)" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "හරි (_O)" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "ගිණුමේ නම" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "දෝෂය" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "'%s' ගිණුම එක්කල නොහැක,\n" "මෙම නම දැනටමත් පවතී." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "'%s' ගිණුම මකාදැමිය නොහැක" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "ගිණුම් කළමනාකරණය" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "පොදු" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "අංකය (_u):" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "මීලග දිනය (_d):" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "සෑම (_y):" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "සතිඅන්තය:" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "ගෙවීම (_m):" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "හමු නොවුණි" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "හිමිකරු (_O):" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "භාෂා:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "නම (_N):" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "ගිණුමක් හදන්න" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "ස්ථිර කිරීම" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "දන්නා ගොනු" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF ගොනු" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX ගොනු" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV ගොනු" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "සියළු ගොනු" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "සියල්ල" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "කිසිවක් නැත" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "දින" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "ආයුබෝවන්" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "ආනයනය කරන්න" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "අයවැය කලමණාකරනය" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "CSV ආනයනය කරන්න (_I)" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "CSV අපනයන කරන්න (_x)" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "ජන" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "පෙබ" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "මාර්" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "අප්‍රේ" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "මැයි" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "ජූනි" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "ජූලි" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "අගෝ" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "ඔක්" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "නොවැ" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "දෙසැ" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "සංස්කරණය..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "ආදායම (_I)" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "ප්‍රවර්ග කළමනාකරණය" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "ගනුදෙනුව" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "QIF ලෙස අපනයනය කරන්න" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "CSV වෙතින් ආනයනය කරන‌්න" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "HomeBank ගොනු" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "සුරකින්නේ නොමැතිව වසන්න" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "ක්‍රියාවක් තෝරාගන්න:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "පවතින ගනුදෙනුවක් තෝරාගන්න" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "එක් කරන්න" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "වාහන වියදම" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "ගෙවීම (_y):" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "'%s' ආදායකයා මකා දමන්න (_D)" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "ආදායකයින් කළමනාකරණය" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "අතුරුමුහුණත" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "ගනුදෙනු" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "ආනයනය/අපනයනය" #: ../src/ui-pref.c:89 msgid "Report" msgstr "වාර්තාව" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "අයිකන පමණයි" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "m-d-y" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "d-m-y" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "y-m-d" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "නොසලකා හරින්න" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "පද්ධති හාෂාව" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "විස්තර පෙන්වන්න (_d)" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "සක්‍රීය කරන්න (_E)" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "භාෂාව (_L):" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "වියදම (_E):" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "ආදායම (_I):" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "අවවාදය (_W):" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "ආනයනය (_I):" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "අපනයනය (_E):" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "එක් කරන්න (_A)" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "ගනුදෙනුව එක් කරන්න" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "දිනය (_D):" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "මුදල්" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "වත්කම" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "ණය කාඩ්පත" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "අවසන් දින 30" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "අවසන් දින 60" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "අවසන් දින 90" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "අවසන් මාස 12" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "සියලු දින" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "පෙර" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "පසු" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "ජනවාරි" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "පෙබරවාරි" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "මාර්තු" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "අප්‍රේල්" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "ජූනි" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "ජූලි" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "අගෝස්තු" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "සැප්තැම්බර්" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "ඔක්තෝම්බර්" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "නොවැම්බර්" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "දෙසැම්බර්" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "සැප්" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "පරික්ෂා කරන්න" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "හර පත" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "ඉලෙක්ට්‍රොනික ගෙවීම" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "තැන්පතුව" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "" homebank-5.3.2/po/af.po0000644000175000017500000022414313620025355011601 00000000000000# Afrikaans translation for homebank # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2011. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2014-06-27 12:19+0000\n" "Last-Translator: Jarrod Meyer \n" "Language-Team: Afrikaans \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:53+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Geen transakie verander" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "" #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "" #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Sluit" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Wysig" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Transaksi_e" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Voeg by" #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "" #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Wysig..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "" #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Nutsgoed" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Sorteer..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "" #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Wysig die aktiewe transaksie" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Wysig" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Bank:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Vandag:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Toekoms:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Welkom by HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Wat wil jy doen:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Open die _voorbeeld lêer" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Nuwe" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Open..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Stoor" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Voorkeure..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Kyk na" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Beheer" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "" #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Kategoriee..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Begroting..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "" #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Transaksies" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Voeg by..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Wys..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Verslae" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Statistieke..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "" #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "" #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "" #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Hulp" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Rapporteer 'n Probleem..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Vertaal hierdie Program..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Wys geselekteerde rekening transaksies" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Toekomstige" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Datum" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Inligting" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Bedrag" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Balans" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "" #: ../src/homebank.c:255 msgid "Browser error." msgstr "" #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "HomeBank opsies" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:547 msgid "Show all" msgstr "" #: ../src/hub-account.c:552 msgid "By type" msgstr "" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Totaal" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:294 msgid "Other" msgstr "" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Vandag" #: ../src/list-operation.c:548 msgid "- split -" msgstr "" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Rekening" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Uitgawe" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Inkomste" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Kategorie" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Etikette" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "" #: ../src/rep-balance.c:76 msgid "List" msgstr "Lys" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Lyn" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Besonderhede" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d onder %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Balans verslag" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Elke _dag" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Tot:" #: ../src/rep-budget.c:787 msgid " over" msgstr "" #: ../src/rep-budget.c:793 msgid " left" msgstr "" #: ../src/rep-budget.c:796 msgid " under" msgstr "" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Begroting" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Resultaat" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Begroting verslag" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Begroting:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Maand" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Jaar" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Statistieke Verslag" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Balans:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Inkomste:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Uitgawes:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Dag" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Week" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Kategorie" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Meter" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Brandstof" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Prys" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Motor koste verslag" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Meter:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Verbruik:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Brandstof kos:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Ander kos:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Totale kos:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(geen)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Sigbaar" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Fout" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Kan nie hierdie rekening naam verander,\n" "van '%s' na '%s',\n" "naam bestaan alreeds." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Algemene" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Nie gevind nie" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Eienaar:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Tale:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Naam:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Skep n rekening" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Bevestiging" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF lêers" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX lêers" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV lêers" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Alle lêers" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "dae" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Beheer Begroting" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Mei" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Aug" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Okt" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Des" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Inkomste" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Voer uit as QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Voer in van CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "HomeBank lêers" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Opsie:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Dra oor" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "" #: ../src/ui-pref.c:89 msgid "Report" msgstr "" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Ikone alleenlik" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Teks alleenlik" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Teks onder ikone" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Teks langs ikone" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango lig" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango medium" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango donker" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Ignoreer" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Aktiveer" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Inkomste" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Waarskuwing" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Invoer" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Uitvoer" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Voorkeure" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Datum:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Kontant" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Bate" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Krediet Kaart" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Afgelope 30 dae" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Afgelope 12 maande" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Januarie" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Februarie" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Maart" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "April" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Junie" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Julie" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Augustus" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "September" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Oktober" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "November" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Desember" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Debiet kaart" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Elektroniese paaiement" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "" homebank-5.3.2/po/el.po0000644000175000017500000030272713620025317011616 00000000000000# Hellenic translation for homebank # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2007. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2018-08-23 18:47+0000\n" "Last-Translator: Theodore Tsirpanis \n" "Language-Team: Hellenic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" "X-Poedit-Country: GREECE\n" "X-Poedit-Language: Greek\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Προσωπικά οικονομικά" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Δωρεάν, εύκολη, προσωπική λογιστική για όλους" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "οικονομία;λογιστική;προϋπολογισμός; προσωπικά;χρήματα;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "Το HomeBank είναι ελεύθερο λογισμικό (και με την έννοια της \"ελευθερίας του " "λόγου\" αλλά και με την έννοια \"δωρεάν (ελεύθερη) μπύρα\"), που θα σας " "βοηθήσει να διαχειριστείτε τα προσωπικά λογιστικά σας." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "Είναι σχεδιασμένο για είναι εύκολο στη χρήση και να είναι σε θέση να " "αναλύσει τα προσωπικά σας οικονομικά λεπτομερώς, χρησιμοποιώντας ισχυρά " "εργαλεία φιλτραρίσματος και όμορφα γραφήματα." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Αν ψάχνετε για έναν εντελώς δωρεάν και εύκολο τρόπο για να διαχειριστείτε τα " "οικονομικά σας τότε το HomeBank θα έπρεπε να είναι το λογισμικό της επιλογής " "σας." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "Υπάρχει(ουν) %d ομάδα(ες) παρόμοιων συναλλαγών" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "Δεν βρέθηκε παρόμοια συναλλαγή!" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "Δεν βρέθηκε ασυνέπεια !" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "Βρέθηκε ασυνέπεια: %d\n" "Θέλετε να την εξετάσετε και να την διορθώσετε;" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Κάθε ποσό συναλλαγής θα διαιρεθεί με %.6f." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Είστε σίγουροι πως θέλετε να μετατρέψετε το κύριο νόμισμα του λογαριασμού " "σας σε Ευρώ;" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Μετατροπή" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Δεν τροποποιήθηκε καμία συναλλαγή" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "η συναλλαγή άλλαξε: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "Αποτέλεσμα αυτόματης ανάθεσης" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Θέλετε να δημιουργίσετε ένα προσχέδιο με\n" "κάθε μία από τις επιλεγμένες συναλλαγές;" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Θέλετε να διαγράψετε\n" "κάθε επιλεγμένη συναλλαγή ;" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "_Διαγραφή" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Είστε σίγουροι ότι θέλετε να αλλάξετε την κατάσταση σε Κανένα;" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "" "Ορισμένες από τις επιλεγμένες συνναλαγές σας είναι ήδη συμφωνηθείσες." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Αλλαγή" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Είστε σίγουρος ότι θέλετε να αλλάξετε την κατάσταση σε Συμφωνηθείσα;" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_Εναλλαγή" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "Λο_γαριασμός" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Εξαγωγή QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Εξαγωγή CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Κλείσιμο" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Επεξεργασία" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Συν_αλλαγή" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Προσθήκη…" #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Μεταβίβαση..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Επεξεργασία..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Κατάσταση" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Τίποτα" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "_Εκκαθάριση" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Εναρμονησμένο" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "_Πολλαπλη επεξεργασία..." #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Δημιουργία προσχέδιου..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "_Διαγραφή..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Εργαλεία" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "Αυτόματες αναθέσεις" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Φίλτρο..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Μετατροπή σε Ευρώ..." #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Προσθήκη νέας συναλλαγής" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Προσθήκη" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Μεταβίβαση από την τρέχουσα συναλλαγή" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Μεταβίβαση" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Επεξεργασία της τρέχουσας συναλλαγής" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Επεξεργασία" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "" "Ενναλαγή της κατάστασης εκκαθαρισμένο για την επιλεγμένη συνναλαγή(ες)" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "" "Ενναλαγή της κατάστασης συμφωνηθείσα για την επιλεγμένη συνναλαγή(ες)" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Επεξεργασία πολλαπλών συναλλαγών" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Δημιουργία προσχεδίου" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Διαγραφή επιλεγμένης(ων) συνναλαγής(ων)" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "_Ανανέωση" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Περιοχή:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "Εναλλαγή εμφάνισης μελλοντικών συναλλαγών" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Τύπος:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Κατάσταση:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_Επαναφορά" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Άνοιγμα της λίστας φίλτρων" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "Euro _ελάχιστο" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "Τράπεζα:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Σήμερα:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Μελλοντικά:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Επαναφορά μη αποθηκευμένων αλλαγών στο αρχειο '%s';" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "- Αλλαγές που τυχόν έγιναν στο αρχείο θα χαθούν οριστικά\n" "- Θα φορτωθεί αντίγραφο ασφαλείας από την τελευταία αποθήκευση (.xhb ~) " "(.xhb~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Επαναφορά" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Είστε βέβαιοι ότι θέλετε ανώνυμο το αρχείο;" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Αν προχωρήσετε θα ορίσετε ανωνυμία σε κάθε κείμενο\n" "όπως 'λογαριασμός x', 'δικαιούχος y', 'σημείωση z', ..." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Ανωνυμία" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Καλώς ορίσατε στο HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "Τι θέλετε να κάνετε:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Διαβάστε το εγχειρίδιο χρήσης του Homebank" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "Ρύθμιση _προτιμήσεων" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Δημιουργία _νέου αρχείου" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Ανοιγμα υπάρχοντος αρχείου" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Άνοιγμα του αρχείου _παραδείγματος" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" "Ανοίγετε το αρχείο του αντιγράφου ασφαλείας '%s'.\n" "Είστε σίγουρος ότι θέλετε να το κάνετε;" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "_Άνοιγμα αντιγράφου ασφαλείας" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Άγνωστο σφάλμα" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "Παρουσιάστηκς σφάλμα ανάγνωσης/εγγραφής για το αρχείο '%s'" #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Το αρχείο '%s' δεν αποτελεί έγκυρο αρχείο του προγράμματος Homebank" #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "Το αρχείο '%s' αποθηκεύτηκε με μια νεότερη έκδοση του HomeBank\n" "και δεν μπορεί να φορτωθεί από την τρέχουσα έκδοση." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Σφάλμα αρχείου" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "Το αρχείο έχει τροποποιηθεί από την τελευταία ανάγνωση." #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Αν αποθηκεύσετε, θα χαθούν όλες οι εξωτερικές αλλαγές. Να γίνει αποθήκευση " "οπωςδήποτε;" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "_Αποθήκευση οπωσδήποτε" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Αρχείο" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Νέο" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Άνοιγμα..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "Άνοιγμα_Πρόσφατων" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Αποθήκευση" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "Αποθήκευση _Ως..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Επαναφορά" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Ιδιότητες..." #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Έξοδος" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Προτιμήσεις..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Προβολή" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "_Εργαλειοθήκη" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "_Κορυφαίες δαπάνες..." #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro ελάχιστο" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Διαχείριση" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "_Λογαριασμοί..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Δικαιούχοι..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "_Κατηγορίες..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Προγραμματισμένο/Προσχέδιο..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Προϋπολογισμός..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Aναθέσεις..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Νομίσματα..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Συναλλαγές" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Προσθήκη..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Προβολή..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Ορισμός χρονοδιαγράμματος..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Η δημοσίευση έχει προγραμματιστεί" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Αναφορές" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Στατιστικά..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Trend Time..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "Ισο_ζύγιο..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "Κόστ_ος οχήματος..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Εμφάνιση διαλόγου καλώς ορίσματος..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Στατιστικά αρχείου..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Ανωνυμία..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Βοήθεια" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Περιεχόμενα" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "Έλεγχος για ενημερώσεις..." #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "Σημειώσεις έκδοσης" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Αναφορά Προβλήματος..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Μετάφραση της Εφαρμογής..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_Σχετικά" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Δημιουργία νέου αρχείου" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Άνοιγμα" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Άνοιγμα αρχείου" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Άνοιγμα ενός πρόσφατου αρχείου" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Αποθήκευση τρέχοντος αρχείου" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Ρύθμιση των λογαριασμών" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Ρύθμιση των δικαιούχων" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Ρύθμιση των κατηγοριών" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Ρυθμίστε την συνναλαγή Προγραμματισμένο/Προσχέδιο" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Ρύθμιση του προϋπολογισμού" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Ρύθμιση των αυτόματων αναθέσεων" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Εμφανίζει τις συναλλαγές επιλεγμένου λογαριασμού" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Προσθήκη συνναλαγής" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Άνοιγμα αναφοράς στατιστικών" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Άνοιγμα αναφοράς στο Trend Time" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Άνοιξε την έκθεση ισοζυγίου" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Άνοιγμα αναφοράς ισοζυγίου" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Άνοιγμα αναφοράς κόστους Οχήματος" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "Προγραμματισμένο" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Μελλοντικά" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "Υπενθύμιση" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(χωρίς κατηγορία)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "Μή έγκυρη μορφή CSV" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Ημερομηνία" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Πληροφορίες" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Δικαιούχος" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Σημείωση" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Ποσό" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Ισοζύγιο" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Άγνωστο" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f λίτρο" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "χλμ/λίτρο" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "μίλια / λίτρο" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(κανένας δικαιούχος)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Εμφάνιση πληροφοριών έκδοσης και έξοδος" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[ΑΡΧΕΙΟ]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Σφάλμα φυλλομετρητή." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Αδυναμία εμφάνισης της ιστοσελίδας '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Επιλογές HomeBank" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Αδυναμία ανοίγματος '%s', το αρχείο δεν υπάρχει.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(κανένα ίδρυμα)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Οι λογαριασμοί σας" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Επέκταση όλων" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Σύμπτυξη όλων" #: ../src/hub-account.c:547 msgid "Show all" msgstr "Προβολή όλων" #: ../src/hub-account.c:552 msgid "By type" msgstr "Κατά τύπο" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Δεν υπάρχει συναλλαγή για να προστεθεί" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "συναλλαγή προστέθηκε: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Ελέγξτε το αποτέλεσμα των προγραμματισμένων συναλλαγών" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Σύνολο" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Προγραμματισμένες συναλλαγές" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Παράλειψη" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Επεξεργασία & Δημοσίευση" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Δημοσίευση" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "Μέγιστη ημερομηνία δημοσιευσής" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Κορυφαίες δαπάνες" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "Ανώτατο όριο %d εξόδων" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Άλλο" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Πού πηγαίνουν τα χρήματά σας" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Γενικό σύνολο" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Λογαριασμοί" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "Τράπεζα" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Σήμερα" #: ../src/list-operation.c:548 msgid "- split -" msgstr "-διαχωρισμός-" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Λογαριασμός" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Κατάσταση" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Έξοδα" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Εισόδημα" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Κατηγορία" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Ετικέτες" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Αργοπορημένη" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Επόμενη ημερομηνία" #: ../src/rep-balance.c:76 msgid "List" msgstr "Λίστα" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Εμφάνιση αποτελεσμάτων ως λίστα" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Γραμμή" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Προβολή αποτελεσμάτων ως γραμμές" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Ανανέωση" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Ανανέωση αποτελεσμάτων" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Λεπτομέρειες" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Εναλλαγή εμφάνισης λεπτομερειών" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d κάτω από %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Έκθεση υπολοίπου" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Προβολή" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "_Λογαριασμός:" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Επιλογή _όλων" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Κάθε _μέρα" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Μεγένθυνση X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Φίλτρο κατά ημερομηνία" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Από:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Έως:" #: ../src/rep-budget.c:787 msgid " over" msgstr " κενό" #: ../src/rep-budget.c:793 msgid " left" msgstr " αριστερά" #: ../src/rep-budget.c:796 msgid " under" msgstr " κάτω" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "Προϋπολογισμός για %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Προϋπολογισμός" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Αποτέλεσμα" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "Προβολή αποτελεσμάτων ως μπάρες στοίβας" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "_Αποτέλεσμα στο πρόχειρο" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "_Αποτέλεσμα σε CSV" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "_Λεπτομέρειες στο πρόχειρο" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "Λεπτομέρειες σε CSV" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Αναφορά Προϋπολογισμού" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "_Προβολή κατά:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "Μόνο εκτός προϋπολογισμού" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Αποτέλεσμα:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Προϋπολογισμός:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Έξοδα:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Δεν έχει οριστεί λογαριασμός ώστε να είναι μέρος του προϋπολογισμού." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "" "Θα πρέπει συμπεριλάβετε κάποιους λογαριασμούς από το παράθυρο διαλόγου των " "λογαριασμών." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Έξοδα" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Υποκατηγορία" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Ετικέτα" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Μήνας" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Έτος" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Έξοδα & Έσοδα" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s ανά %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "Προβολή αποτελεσμάτων ως στήλη" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "Δείτε τα αποτελέσματα ως κύκλο" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Εναλλαγή προβολής υπομνήματος" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Εναλλαγή ισοτιμίας" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "Επεξεργασία φίλτρου" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Αναφορά στατιστικών" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Ανά _Ποσό" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Ισοζύγιο:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Εισόδημα:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Έξοδα:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Ημέρα" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Εβδομάδα" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Τρίμηνο" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s με την πάροδο του χρόνου" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "Μέσος όρος: %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Αναφορά Trend Time" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Κατηγορία:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Δικαιούχος:" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Ετικέτα:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "Σώρευση" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Μερίδιο χρόνου" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Μέτρο" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Καύσιμα" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Τιμή" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Απόσταση" #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Εξαγωγή CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Αναφορά κόστους οχήματος" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "Όχη_μα" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Μέτρο:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Κατανάλωση:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Δαπάνη καυσίμων:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Άλλες δαπάνες:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Συνολική δαπάνη:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(κανένα)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Ορατό" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Άκυρο" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_Εντάξει" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Όνομα λογαριασμού" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Σφάλμα" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Δεν μπορεί να προστεθεί λογαριασμός '%s', \n" "το όνομα αυτό υπάρχει ήδη." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "Δεν μπορεί να διαγραφεί ο λογαριασμός '%s'" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" "Αυτός ο λογαριασμός περιέχει συναλλαγές ή / και αποτελεί μέρος εσωτερικών " "μεταφορών." #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Είστε σίγουροι ότι επιθυμείτε μόνιμη διαγραφή του '%s';" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "Άν διαγράψετε έναν λογαριασμό, θα χαθεί μόνιμα." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Δεν είναι δυνατή η μετονομασία αυτού του λογαριασμού,\n" "από '%s' έως '%s',\n" "αυτό το όνομα υπάρχει ήδη." #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Διαχείριση Λογαριασμών" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Σύρσιμο και απόθεση για να αλλάξετε την σειρά \n" "Διπλό κλικ για μετονομασία" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Γενικά" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "Α_ριθμός:" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Έναρξη_ισοζυγίου:" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "Νόμισμα:" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "αυτός ο λογαριασμός _έκλεισε" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "Σημειώσεις:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Αναφορά εξαίρεσης" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "εξαίρεση από λογαριασμό" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "εξαίρεση από _προϋπολογισμό" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "εξαίρεση από οποιαδήποτε _αναφορά" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Τρέχον νούμερο επιταγής" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Μπλοκ Επιταγών_1" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Μπλοκ Επιταγών_2" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "Όρια ισοζυγίου" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "_Υπερανάληψη σε:" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "Εάν διαγράψετε ένα πρότυπο, θα χαθεί μόνιμα." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Επόμενη _ημερομηνία:" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "_Κάθε:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Τέλος εβδομάδας:" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "_Παύση μετά από:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "εγγραφές" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Διαχείριση προγραμματισμένων συναλλαγών / προτύπων" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "Εάν διαγράψετε μια ανάθεση, θα χαθεί μόνιμα." #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "Απενεργοποιημένο" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "Εάν είναι άδειο" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "Αντικατάσταση" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Διαχείριση αναθέσεων" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Συνθήκη" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "_Πληρωμή:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Νέο αρχείο HomeBank (%d of %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Δεν βρέθηκε" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Ιδιοκτήτης:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "Νόμισμα:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Ιδιότητες αρχείου" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "Ανίχνευση συστήματος" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Γλώσσες:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Προκαθορισμένο αρχείο:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Αρχικοποίηση των κατηγοριών μου με αυτό το αρχείο" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Προκαθορισμένες κατηγορίες" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "Πληροφορίες" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Όνομα:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Ισοζύγια" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Αρχικά:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Υπερανάληψη σε:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Δημιουργία λογαριασμού" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Αυτή είναι μια σελίδα επιβεβαίωσης, πατήστε \"Εφαρμογή\" για να εφαρμόσετε " "τις αλλαγές" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Επιβεβαίωση" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Όνομα" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Γνωστά αρχεία" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "Αρχεία QIF" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "Αρχεία OFX/QFX" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "Αρχεία CSV" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Όλα τα αρχεία" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Διάταξη ως προς την ημερομηνία:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "Επιλέξτε:" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Όλα" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Κανένα" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Αντιστροφή" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "Ημέρα(ες)" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Η αντιστοίχιση γίνεται κατά σειρά: ανά λογαριασμό, ποσού και ημερομηνίας.\n" "Ημερομηνία με ανοχή 0 ημερών σημαίνει ακριβές ταίριασμα" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "Καλώς ήρθατε" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "Εισαγωγή" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Σφάλμα μορφής αρχείου" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" "Το αρχείο CSV πρέπει να περιέχει τους ακριβείς αριθμούς της στήλης,\n" "διαχωριζόμενα με ερωτηματικό, παρακαλούμε ανατρέξτε στη βοήθεια για " "περισσότερες λεπτομέρειες." #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "Είστε σίγουροι ότι επιθυμείτε εκκαθάριση δεδομένων;" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "Εάν προχωρήσετε, κάθε ποσό θα οριστεί σε 0." #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "_Εκκαθάριση" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Διαχείριση Προϋπολογισμού" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "_Εισαγωγή CSV" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "Ε_ξαγωγή CSV" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "_Καθαρισμός καταχωρήσεων" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Επιλογές" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "Εξαναγκασμός παρακολούθησης αυτής της κατηγορίας." #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Ιαν" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Φεβ" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Μαρ" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Απρ" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Μάιος" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Ιούν" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Ιούλ" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Αύγ" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Οκτ" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Νοέ" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Δεκ" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Χρησιμοποιείται για αυτήν την κατηγορία.\n" "Κάθε συναλλαγή που χρησιμοποιεί αυτήν την κατηγορία θα οριστεί σε (χωρίς " "κατηγορία)" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "_Διαγραφή κατηγορίας '%s'" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "Συγχώνευση" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "Διαγραφή μη χρησιμοποιούμενων κατηγοριών" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Είστε σίγουροι ότι θέλετε να διαγράψετε \n" "μόνιμα τις μη χρησιμοποιούμενες κατηγορίες;" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "Επεξεργασία..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "_Έσοδα" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Δεν μπορεί να μετονομαστεί αυτή η Κατηγορία\n" "απο '%s' σε '%s',\n" "διότι αυτό το όνομα υπάρχει ήδη." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "Συγχώνευση κατηγορίας '%s'" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "Συναλλαγές που ανατέθηκαν σε αυτήν την κατηγορία \n" "θα μετακινηθούν στην κατηγορία που επιλέχτηκε παρακάτω." #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Διαχείρηση Κατηγοριών" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "_Διαγραφή μη χρησιμοποιούμενων" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "νέα κατηγορία" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "νέα υποκατηγορία" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Νόμισμα βάσης" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Σύμβολο" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "Ισοτιμία" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "Τελευταία τροποποίηση" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Επεξεργασία συνναλάγματος" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "Νόμισμα" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "Μορφή" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "_Προσαρμογή" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "_Σύμβολο:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "Είναι πρό_θεμα" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "_Δεκαδικός χαρακτήρας:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Κλασματικό ψηφίο" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "_Ομαδοποιημένος χαρακτήρας" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Επιλογή νομίσματος βάσης" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Επιλογή νομίσματος" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "Κωδικός ISO" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "Προσθέστε ένα προσαρμοσμένο _νόμισμα" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "_ISO:" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "Σφάλμα online ενημέρωσης" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "Εάν διαγράψετε ένα νόμισμα, τότε θα χαθεί μόνιμα." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Αλλαγή νομίσματος βάσης" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" "Εάν συνεχίσετε, οι ισοτιμίες άλλων νομισμάτων\n" "θα οριστούν σε 0, μην ξεχάσετε να τις ενημερώσετε" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Νομίσματα" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "Ενημέρωση online" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "Θέστε ως βάση" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Στατιστικά αρχείων" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "Συναλλαγή" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "Ανάθεση" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "Αναβάθμιση" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "Επιλέξτε ένα νόμισμα βάσης" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "Ξεκινώντας από την έκδοση v5.1, το Homebank μπορεί να διαχειριστεί αρκετά " "νομίσματα\n" "αν το παρακάτω νόμισμα δεν είναι σωστό, παρακαλώ αλλάξτε το:" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Εξαγωγή ως QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Εισαγωγή από CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "Άνοιγμα αρχείου HomeBank" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "Αποθήκευση αρχείου HomeBank ως" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "Αρχεία HomeBank" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "Αποθήκευση αλλαγών στο αρχείο πριν το κλείσιμο;" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Εάν δεν γίνει αποθήκευση, οι αλλαγές θα χαθούν οριστικά. \n" "Αριθμός αλλαγών: %d." #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "Κλείσιμο _χωρίς αποθήκευση" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "Εξαγωγή σς PDF" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "Εξαγωγή ως _PDF" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "Φάκελος:" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "Επιλέξτε φάκελο" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "Όνομα αρχείου:" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Επιλογή μεταξύ πιθανών συναλλαγών..." #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Επιλογή ενέργειας:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "δημιουργία νέας συναλλαγής" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "επιλογή ήδη υπάρχουσας συναλλαγής" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "Το HomeBank έχει βρει κάποια συναλλαγή που μπορεί να είναι σχετική συναλλαγή " "για την εσωτερική μεταφορά." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Επιλογή:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Σημείωση:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Πληροφορίες:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "_Διάκριση πεζών από κεφαλαία" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Οποιαδήποτε κατάσταση" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "Καθαρίστηκε" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "Συμφωνημένο" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Οποιοσδήποτε Τύπος" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Μεταφορά" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Εξαναγκασμός:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "εμφάνιση 'Πρόσθετων'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "εμφάνιση 'Επεξεργασμένων'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "εμφάνιση \"Υπενθυμίσεων\"" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "Ημερομηνίες" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "Πληρωμές" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "Ποσά" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "Κείμενα" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "Κατηγορίες" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "Δικαιούχοι" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Προγραμματισμένη συναλλαγή" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "προσθήκη έως" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "για κάθε μήνα (εξαιρούμενα)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "προσθήκη" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "Ημέρες πριν από την τρέχουσα ημερομηνία" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Κόστος Οχήματος" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "Διαγραφή δικαιούχου που δεν χρησιμοποιείται" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Είστε σίγουροι ότι θέλετε να\n" "διαγράψετε μόνιμα τον δικαιούχο που δεν χρησιμοπιείται;" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "Προεπιλογή" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "Πλη_ρωμή" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Δεν μπορεί να μετονομαστεί αυτός ο Δικαιούχος\n" "απο '%s' σε '%s',\n" "αυτό το όνομα υπάρχει ήδη." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "Συγχώνευση δικαιούχου '%s'" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Οι συναλλαγές που έχουν αντιστοιχιστεί σε αυτόν τον δικαιούχο,\n" "θα μεταφερθούν στο δικαιούχο που επιλέχτηκε παρακάτω." #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "_Διαγραφή Διακαιούχου '%s'" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "Αυτός ο δικαιούχος χρησιμοποιείται" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Διαχείριση δικαιούχων" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "νέος δικαιούχος" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Διεπαφή" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Συναλλαγές" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Εισαγωγή / Εξαγωγή" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Αναφορά" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Προεπιλογές συστήματος" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Μόνο εικονίδια" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Μόνο κείμενο" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Κείμενο κάτω από τα εικονίδια" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Κείμενο δίπλα από τα εικονίδια" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "Οριζόντια" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "Κατακόρυφα" #: ../src/ui-pref.c:109 msgid "Both" msgstr "Και τα δύο" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango ανοικτό" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango μέτριο" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango σκούρο" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "μ-η-ε" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "η-μ-ε" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "ε-μ-η" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Παράβλεψη" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Προσάρτηση στις Πληροφορίες" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Προσάρτηση στις Σημειώσεις" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "Προσάρτηση σε Δικαιούχο" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Γλώσσα συστήματος" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Επιλέξτε τον προεπιλεγμένο φάκελο αρχείων του HomeBank" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Επιλέξτε τον προεπιλεγμένο φάκελο εισαγωγής" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Επιλέξτε τον προεπιλεγμένο φάκελο εξαγωγής" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "επιλογές OFX/QFX" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "Επιλογές QIF" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Αρχικό φίλτρο" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Επιλογές γραφημάτων" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "Συνδυασμός χρωμάτων:" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Επιλογές στατιστικών" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Εμφάνιση με βάση το _ποσό" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Εμφάνιση με βάση την _Αξία" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Εμφάνιση _λεπτομερειών" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Επιλογές προϋπολογισμού" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Ενεργοποίηση" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Προκαθορισμένο:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Γλώσσα:" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "_Μορφοποίηση:" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Φορολογικό έτος" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "Ξεκινά _από:" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Μονάδες μέτρησης" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Χρησιμοποίησε _μίλια για μονάδα μέτρησης" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "Χρησιμοποίησε _γαλόνια για καύσιμα" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Παράθυρο συναλλαγής" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Πολλαπλή προσθήκη" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Κράτα την τελευταία ημερομηνία" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "_Εργαλειοθήκη:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "_Γραμμή πλέγματος:" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Ποσό χρωμάτων" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Χρησιμοποιεί προσαρμοσμένα χρώματα" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Δαπάνες:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Εισόδημα:" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Προειδοποίηση:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Εισαγωγή:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Εξαγωγή:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Έναρξη προγράμματος" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Εμφάνιση οθόνης εκκίνησης" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Φόρτωση τελευταίου ανοιγμένου αρχείου" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Δημοσίευση προγραμματισμένων συναλλαγών" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "Ενημέρωση νομισμάτων/ισοτιμιών online" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Αναφορές κυρίου παραθύρου" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Προτιμήσεις" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "Θα πρέπει να επανεκκινήσετε το HomeBank\n" "για να εφαρμοστούν οι αλλαγές στην γλώσσα." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "Διαχωρισμοί συναλλαγών" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Ποσό συναλλαγής:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Δεν έχει ανατεθεί:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Άθροισμα διαιρέσεων:" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Θέλετε να διακόψετε την εσωτερική μεταφορά;\n" "\n" "Αν προχωρήσετε θα διαγραφεί η συγκεκριμένη μεταφορά." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "Δείξε _προγραμματισμένο" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "Προσθήκη" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "_Δημοσίευση" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Προσθήκη συναλλαγής" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Κληρονόμηση συναλλαγής" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Ημερομηνία:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "Ση_μείωση" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "Προειδοποίηση: πινακίδα ποσό και κατηγορία δεν ταιριάζουν" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "Επεξεργασία πολλαπλών συναλλαγών" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "Πρότυπο" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "Συμπερίληψη" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Εξαίρεση" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(χωρίς τύπο)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Μετρητά" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Πάγιο" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Πιστωτική κάρτα" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Παθητικό" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "Αυτό το μήνα" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "Προηγούμενος μήνας" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "Αυτό το τρίμηνο" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "Το τελευταίο τρίμηνο" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "Αυτό το έτος" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "Το προηγούμενο έτος" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Τελευταίες 30 ημέρες" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Τις τελευταίες 60 ημέρες" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Τις τελευταίες 90 ημέρες" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Τελευταίοι 12 μήνες" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Όλες οι ημερομηνίες" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Εφικτό" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Πριν" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "Μετά" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "Μη εκκαθαρισμένο" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Ασύμφωνα" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Χωρίς Κατηγορία" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Ιανουάριος" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Φεβρουάριος" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Μάρτιος" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Απρίλιος" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Ιούνιος" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Ιούλιος" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Αύγουστος" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Σεπτέμβριος" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Οκτώβριος" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Νοέμβριος" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Δεκέμβριος" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Σεπ" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "Αναζήτηση..." #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Έλεγχος" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Χρεωστική κάρτα" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Πάγια εντολή" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Ηλεκτρονική πληρωμή" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Κατάθεση" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "Προμήθεια τράπεζας" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Άμεση Χρέωση" homebank-5.3.2/po/pt_BR.po0000644000175000017500000026104413620025301012211 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2020-02-02 16:18+0000\n" "Last-Translator: Leonardo Lehnemann \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Finanças pessoais" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "Contabilidade pessoal fácil e gratuita para todos" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "finanças;contabilidade;orçamento;pessoal;dinheiro;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "HomeBank é um software livre (como em \"liberdade de expressão\" e também em " "\"cerveja gratuita\") que auxiliará você a gerenciar suas finanças pessoais." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "" "Ele foi projetado para ser fácil de usar e ser capaz de analisar suas " "finanças pessoais em detalhe usando poderosas ferramentas de filtragem e " "belos gráficos." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "" "Se você está procurando uma maneira totalmente gratuita e fácil de gerenciar " "suas finanças pessoais, então HomeBank deve ser o software escolhido." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "Existem %d grupos de transações similares" #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "Nenhuma transação similar encontrada!" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "Verifique o resultado da transferência interna" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "Nenhuma inconsistência encontrada !" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "Inconsistência encontrada em: %d\n" "Deseja revisar e consertar ?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Cada valor da transação será dividido por %.6f." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Tem certeza que deseja converter esta conta\n" "para Euro como moeda principal?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "_Converter" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "Nenhuma transação foi alterada" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "transação modificada: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "Resultado das designações automáticas" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "Você quer criar um modelo com\n" "cada transação selecionada" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "_Criar" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "Você quer apagar\n" "cada uma das transações selecionadas?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "E_xcluir" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "Você tem certeza que você quer mudar o status para Nenhum?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "Alguma transação em sua seleção já foi Reconciliada." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "_Alterar" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Tem certeza de que deseja alternar o status para Reconciliada?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "_Alternar" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "%d transações" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d transações, %d selecionadas, média: %s, soma: %s (%s - %s)" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "_Conta" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "Exportar QIF..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "Exportar CSV..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "Exportar como PDF..." #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "_Fechar" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "_Editar" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "Tran_sação" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "_Adicionar..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "_Herdar..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "_Editar..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "_Situação" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "_Nenhum" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "L_iquidada" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "_Reconciliada" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "Editar _Várias..." #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "Criar Modelo..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "E_xcluir..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "_Ferramentas" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "Marcar duplicidade..." #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "Designações auto." #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "_Filtrar..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "Converter para Euro..." #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "Adicionar uma nova transação" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "Adicionar" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "Herdar da transação ativa" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "Herdar" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "Editar a transação ativa" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "Editar" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "Alternar para liquidada(s) transação(ões) selecionada(s)" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "Alternar para reconciliada a(s) transação(ões) selecionada(s)" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "Editar várias transações" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "Criar modelo" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "Excluir transações selecionadas" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "(fechado)" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "Todas as transações" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "Atualiza_r" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "_Período:" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "Mostrar transação futura" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "_Tipo:" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "_Situação:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "_Redefinir" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "Abrir a lista de filtros" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "Euro secundário" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "No Banco" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "Hoje:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "Futuro:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Reverter as alterações não salvas no arquivo '%s'?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "- As alterações feitas no arquivo serão perdidas permanentemente\n" "- O arquivo será recarregado a partir do último arquivo salvo (.xhb ~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Reverter" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Tem certeza que quer tornar o arquivo anônimo?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Ao continuar, você irá tornar anônimo qualquer texto, \n" "como 'conta x', 'favorecido y', 'observações z', ..." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "Tornar _anônimo" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "Bem vindo ao HomeBank" #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "O que você gostaria de fazer:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "Leia o _manual do HomeBank" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "Configurar Preferências" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "Criar um _novo arquivo" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "_Abrir um arquivo existente" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "Abrir o arquivo de _exemplo" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" "Você está prestes a abrir o arquivo de backup '%s'.\n" "\n" "Você tem certeza que quer fazer isso?" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "Abrir arquivo de backup?" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "_Abrir backup" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Erro desconhecido" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "Erro de E/S para o arquivo '%s'." #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "O arquivo '%s' não é um arquivo válido do HomeBank." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "O arquivos '%s' foi salvo com uma versão mais atual do HomeBank\n" "e não consegue ser carregado pela versão atual." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "Erro no arquivo" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "Este arquivo foi modificado desde a sua última leitura" #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Se você salvá-lo, todas as mudanças externas serão perdidas. Salvar mesmo " "assim?" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "Salvar mesmo _assim" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "_Arquivo" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "_Novo(a)" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "_Abrir..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "Abrir recentes" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "_Salvar" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "Salvar_Como..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "Importar..." #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "Exportar como QIF..." #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "Reverter" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "Recuperar do backup" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "Propriedades..." #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "_Sair" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "Preferências..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "_Exibir" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "Barra de Ferramen_tas" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "Maiores gas_tos" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "Listas Inferiores" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro secundário" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "_Gerenciar" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "C_ontas..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "_Favorecidos..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "Categorias..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "Agendado/Modelo..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "Orçamento..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "Designações..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "Moedas..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "Marcadores..." #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "_Transações" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "Adicionar" #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "Exibir..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "Exibir tudo..." #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "Definir agendamento..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "Agendada" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "_Relatórios" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "_Estatísticas..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "_Tendência..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "O_rçamento..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "_Custo de veículos..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "Exibir diálogo de boas vindas..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "Estatísticas do arquivo..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "Tornar Anônimo" #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "_Ajuda" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "_Conteúdo" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "Checar atualizações..." #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "Notas da versão" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "Reportar um Problema" #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "Traduzir esta Aplicação..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "_Sobre" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "Criar um novo arquivo" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "_Abrir" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "Abrir um arquivo" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "Abrir um arquivo recentemente utilizado" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "Salvar o arquivo atual" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "Configurar as contas" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "Configurar os favorecidos" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "Configurar as categorias" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "Configurar transações agendadas/modelo" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "Configurar o orçamento" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "Configurar as designações automáticas" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "Mostrar transações da conta selecionada" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "Adicionar transações" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "Abrir o relatório de Estatísticas" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "Abrir relatório de tendência" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "Abrir o relatório de Balanço" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "Abrir o relatório de Orçamento" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "Abrir o relatório de custo de veículos" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "Fazer uma doação para o projeto HomeBank" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "Agendada" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "Futuro" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "Lembrete" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(sem categoria)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "formato CSV inválido" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "Data" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "Informação" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "Favorecido" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "Observações" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "Valor" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "Saldo" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "Desconhecido" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "mi./l" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(nenhum favorecido)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Exibir informações de versão e sair" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[ARQUIVO]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Erro do navegador." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Não foi possível exibir a URL '%s'" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "Opções do HomeBank" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Não foi possível abrir '%s', o arquivo não existe.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "sem instituição" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "Suas contas" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Expandir todos" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Recolher todos" #: ../src/hub-account.c:547 msgid "Show all" msgstr "Mostrar tudo" #: ../src/hub-account.c:552 msgid "By type" msgstr "Por tipo" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "Por instituição" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "Nenhuma transação para adicionar" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "transação adicionada: %d" #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "Verificar o resultado das transações agendadas" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "Transações agendadas" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "Pular" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "Editar & Publicar" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "Publicar" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "data limite de publicação" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Maiores gastos" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "Maiores %d gastos" #: ../src/hub-spending.c:294 msgid "Other" msgstr "Outro(s)" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "Para onde vai seu dinheiro" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "conta importada" #: ../src/list-account.c:129 msgid "Grand total" msgstr "Total geral" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "Contas" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "No Banco" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "Hoje" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- dividir -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "Conta" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "Situação" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "Despesa" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "Receita" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "Categoria" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "Marcadores" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Atrasada" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "Restam" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "Próxima data" #: ../src/rep-balance.c:76 msgid "List" msgstr "Lista" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "Ver resultados como uma lista" #: ../src/rep-balance.c:77 msgid "Line" msgstr "Linha" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "Ver resultador como linhas" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "Atualizar" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "Atualizar resultados" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "Detalhes" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "Fechar detalhes" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "%d/%d sobre %s" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "Relatório de balanço" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "Exibir" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "_Conta" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "Selecionar _tudo" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "Cada _dia" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "Ampliar X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "Filtrar data" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_De:" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Até:" #: ../src/rep-budget.c:787 msgid " over" msgstr " acima" #: ../src/rep-budget.c:793 msgid " left" msgstr " restando" #: ../src/rep-budget.c:796 msgid " under" msgstr " em baixo" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "Orçamento para %s" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "Orçamento" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "Resultado" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "Ver resultados como barras empilhadas" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "_Resultado para área de transferência" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "_Resultado para CSV" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "_Detalhes para a área de transferência" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "_Detalhes para CSV" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "Relatório de orçamento" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "E_xibir por:" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "Somente fora das despesas" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "Resultado:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "Orçamento:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "Gasto:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "Nenhuma conta está definida como parte do orçamento." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "Você deve incluir algumas contas na caixa de dialógo contas." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "Gasto" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "Subcategoria" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "Marcador" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "Mês" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "Ano" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "Despesas & Receitas" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "%s por %s" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "Ver resultados como coluna" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "Ver resultados num gráfico de rosca" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "Fechar legenda" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "Inverter taxa" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "Editar filtro" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "Relatório de Estatísticas" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "Por _quantidade" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "Intervalo" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "Saldo:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "Receita" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "Despesa:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "Dia" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "Semana" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "Trimestre" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "Semestre" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s ao longo do tempo" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "Média: %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "Relatório de tendências" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "_Categoria:" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "_Favorecido" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "_Marcador:" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "_Acumulado" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "Mostrar linha vazia" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "Intervalo de Tempo" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "Medida" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "Combustível" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "Preço" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "Dist." #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "Exportar como CSV" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "Relatório de custo do veículo" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "Veí_culo:" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "Medidor:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "Consumo:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "Custo de combustível:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "Outros custos:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "Custo total:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(nenhum(a))" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "Visível" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "_Cancelar" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "Nome da conta" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "Erro" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Não foi possível adicionar a conta '%s', \n" "esse nome já existe." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "Não é possível excluir a conta '%s'" #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" "Esta conta contém transações e/ou faz parte de transferências internas." #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Tem certeza de que deseja excluir permanentemente '%s'?" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "Se você excluir uma conta, esta vai ser permanentemente perdida." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Não pode renomear esta Conta\n" "de '%s' para '%s'\n" "este nome já esta sendo usado" #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "Gerenciar Contas" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Arraste e solte para ordenar\n" "Clique duplo para renomear" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "Geral" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "N_úmero" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "Saldo inicial" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "_Moeda:" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "esta conta foi _fechada" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "Notas:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "Template padrão" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "Informar exclusões" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "Excluir do resumo da conta" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "Excluir do _orçamentos" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "Excluir de qualquer relatório" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "Número do cheque atual" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "Talão de cheques _1:" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "Talão de cheques _2:" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "Limites de saldo" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "_Saldo negativo em:" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" "Se você excluir um(a) transação agendada/modelo, ela será eliminada " "permanentemente." #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "Próxima _data:" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "A ca_da:" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "Final de semana:" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "Parar depoi_s de:" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "publicações" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "Gerenciar transações agendadas/modelo" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "Se você excluir uma designação, ela será apagada permanentemente." #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "Desabilitado" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "Se vazio" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "Sobrescrever" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "Gerenciar Designações" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "Condição" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "Foma de pa_gamento:" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "Novo arquivo HomeBank (%d de %d)" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "Não localizado" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "_Proprietário:" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "Moeda:" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Propriedades do arquivo" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "Detecção do sistema" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "Idiomas:" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "Arquivo predefinido:" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "Inicializar minhas categorias com este arquivo" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "Categorias pré-definidas" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "Informação" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "_Nome:" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "Balanços" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "_Inicial:" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "_Ultrapassar saque em:" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "Criar uma conta" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" "Esta é uma página de confirmação, pressione 'Aplicar' para aplicar as " "mudanças" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "Confirmação" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "Válido" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Nome" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "Arquivos conhecidos" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "Arquivos QIF" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "Arquivos OFX/QFX" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "Arquivos CSV" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "Todos os arquivos" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "nova conta global" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "nova conta" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "ignorado" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr ", %d de %d transações" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" "Alguma data não pôde ser convertida. Por favor, tente alterar o formato da " "data para continuar." #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "Importar %s in_to:" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "este arquivo" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "esta conta" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" "Nome: %s\n" "Número: %s\n" "Arquivo: %s\n" "Codificação: %s" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "Importar transações do banco ou cartão de crédito" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" "Com este assistente você será guiado pelo processo de importação de um ou " "vários \n" "extratos baixados do seu banco ou cartão de crédito, nos seguintes formatos:" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" "Recomendado: .OFX ou .QFX\n" "(Às vezes chamado Money™ ou Quicken™)\n" "Suportado: .QIF\n" "(Arquivo comum do Quicken™)\n" "Somente usuários avançados: .CSV\n" "(O formato é específico do HomeBank, veja a documentação)" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" "Nenhuma alteração será feita até que você clique em \"Aplicar\" no final " "deste assistente." #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "Não mostrar isto novamente" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" "Existem muitas contas nos arquivos que você escolheu,\n" "por favor, use o botão Voltar para selecionar menos arquivos." #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "A identificação da conta de destino por nome ou número falhou." #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "Classificação de datas:" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "_Importar observações" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "_Trocar observações entre favorecidos" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "OFX_Nome:" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "OFX_Observação:" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "Selecionar:" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "Tudo" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "Nenhum(a)" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "Inverter" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "Frase _case observação / beneficiário" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "Transação semelhante na conta de destino (possível duplicação)" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "Intervalo de data" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "dias" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "A correspondência é feita na ordem de: por conta, valor e data.\n" "Uma tolerância de 0 dia(s) na data significa uma correspondência exata" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "Executar automação" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "Enriquecer com favorecido padrão" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "Executar designações automáticas" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "Clique em \"Aplicar\" para atualizar suas contas." #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "Bem-vindo(a)" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "Selecionar arquivo(s)" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "Importar" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "Erro no formato de arquivo" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" "O arquivo CSV deve conter o número exato de colunas,\n" "separadas por ponto-e-vírgula. Por favor, veja a ajuda para mais detalhes." #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "Tem certeza que deseja apagar a entrada?" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "Se continuar, todos os valores serão configurados para 0." #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "_Limpar" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "Gerenciar orçamento" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "_Importar CSV" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "E_xportar CSV" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "_Limpar entrada" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "Preferências" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "_Forçar monitoramento desta categoria" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "Fev" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "Abr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "Maio" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "Ago" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "Out" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "Dez" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Essa categoria está sendo utilizada. Todas transação que estiver\n" "utilizando essa categoria será configurada para (sem categoria)" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "E_xcluir a categoria '%s'" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "Mesclar" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "Excluir categorias não utilizadas" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Tem certeza que deseja apagar permanentemente\n" "as categorias não utilizadas?" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "Editar..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "Receita" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Impossível renomear esta Categoria,\n" "de '%s' para '%s',\n" "este nome já existe." #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "Mesclar categoria '%s'" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "As transações atribuídas para essa categoria\n" "serão movidas para a categoria selecionada abaixo." #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "Gerenciar Categorias" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "E_xcluir não utilizada" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "Nova Categoria" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "Nova Subcategoria" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Moeda base" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Símbolo" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "Taxa de câmbio" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "Última modificação" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Editar moeda" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "Moeda" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "Formatar" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "_Personalizar" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "_Símbolo:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "É pre_fixo" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "_Caractere decimal:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "_Número de dígitos fracionários:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "Caractere de _grupo:" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Selecione moeda base" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Selecionar moeda" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "Código ISO" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "Adicionar uma moeda_customizada" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "_ISO:" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "Erro na atualização online" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "Se apagar a moeda, será permanentemente perdida." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Altera a moeda base" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" "se você continuar, as taxas de outras moedas serão ajustadas para 0, não " "esqueça de atualizr." #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Moedas correntes" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "Atualização Online" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "Usar como base" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Estatísticas do Arquivo" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "Transação" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "Designação" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "Atualizar" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "Selecione a moeda corrente" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "Iniciando na versão 5.1, Homebank pode gerenciar várias moedas\n" "se a moeda abaixo não está correta, mude-a por favor:" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "Exportar como QIF" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "Importar do CSV" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "Abrir arquivo HomeBank" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "Abrir arquivo de backup do HomeBank" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "Salvar arquivo HomeBank como" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "Arquivos HomeBank" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "Backup de arquivo" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "Todos backups" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "Salvar alterações no arquivo antes de fechar?" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Se você não salvar, as alterações serão perdidas permanentemente.\n" "Número de alterações: %d." #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "Fechar _sem salvar" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "Exportar como PDF" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "Exportar como _PDF" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "Pasta:" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "Escolha uma pasta" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "Nome do arquivo:" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "Selecionar entre possíveis transações" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "Selecionar uma ação:" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "Criar uma nova transação" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "selecionar uma transação existente" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "HomeBank encontrou algumas transações que podem estar associadas a esta " "transferência interna." #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "_Opção:" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "_Observações:" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "_Informação:" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "Diferencia maiúscula e minúsculas" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "Qualquer Situação" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "Liquidada" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "Reconciliada" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "Qualquer tipo" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "Transferência" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "Forçar:" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "exibir 'Adicionado'" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "exibir 'Editado'" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "exibir 'Lembrete'" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "Datas" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "Pagamentos" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "Valores" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "Textos" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "Categorias" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "Beneficiários" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Transação agendada" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "Adicionar até" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "de cada mês (excluído)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "adicionar" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "dia(s) a frente da data atual" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Custo do veículo" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "Pagamento." #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "Excluir favorecido não utilizado" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Tem certeza que deseja excluir\n" "permanentemente o favorecido não utilizado?" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "Padrão" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "Forma de pagamento" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Não foi possível renomear este Favorecido,\n" "de '%s' para '%s',\n" "este nome já existe." #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "Mesclar favorecido '%s'" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "As transações atribuídas para este favorecido\n" "serão movidas para o favorecido selecionado abaixo." #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "E_xcluir o favorecido '%s'" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "Este favorecido está sendo utilizado. Todas transação que estiver\n" "utilizando este favorecido será configurada para (sem favorecido)" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "Gerenciar Favorecidos" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "novo favorecido" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Interface" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "Localização" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Transações" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Importar/Exportar" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Relatório" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "Backup" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "Pastas" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Padrões do sistema" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Apenas ícones" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "Somente texto" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "Texto abaixo dos ícones" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "Texto ao lado dos ícones" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "Horizontal" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "Vertical" #: ../src/ui-pref.c:109 msgid "Both" msgstr "Ambos" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango claro" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango médio" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "Tango escuro" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "m-d-a" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "d-m-a" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "a-m-d" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Ignorar" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Anexar nas Informações" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Anexar nas Observações" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "Anexar aos Favorecidos" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "Aba" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "Vírgula" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "Ponto e vírgula" #: ../src/ui-pref.c:149 msgid "Space" msgstr "Espaço" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Idioma do Sistema" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Escolha o diretório padrão do HomeBank" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Escolha o diretório padrão de importação" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Escolha um diretório padrão de exportação" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "Opções gerais" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "Opções de arquivos OFX/QFX" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "Opções QIF" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "Opções CSV" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "(apenas para importação de transações)" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "Separador:" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "Filtro inicial" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "Opções dos gráficos" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "Esquema de cores:" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "Opções das estatísticas" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "Exibir por _quantidade" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "Exibir coluna de _taxa" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "Exibir _detalhes" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "Opções dos orçamentos" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "_Ativar" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "_Pré-definido:" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "Interface do usuário" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "_Idioma" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "Exibição de data" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "_Formato:" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "Ano fiscal" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "Inicia _em:" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "Unidades de medida" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "Usar _milhas ao invés de metros" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "Usar _galões como medida de combustível" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "Janela de transação" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "_Mostrar:" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "dias adiante" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "Adicionar vários" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "Manter a última data" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "Autocompletar a observação" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "Ativo" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "dias corridos" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "Barra de Ferramentas" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "_Linhas de grade:" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "Cores dos valores" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "Utilizar cores personalizadas" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "_Despesa:" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "_Receitas" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "_Aviso:" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "_Ativar backups automáticos" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "_Número de backups para manter:" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "A frequência de backup é uma vez por dia" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "_Carteiras:" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "Arquivos do Exchange" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "_Importar:" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "_Exportar:" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "Iniciar programa" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "Exibir tela de abertura" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "Carregar último arquivo aberto" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "Transações pendentes agendadas" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "Atualizar moedas online" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "Janela principal de relatórios" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "Redefinir Todas as Preferências" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" "Você realmente quer redefinir\n" "todas as preferências para os valores\n" "padrões?" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "Preferências" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "Você terá que reinicializar o HomeBank\n" "para alteração de idioma ter efeito." #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "Divisões da transação" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "Aplicar" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "Cancelar" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "Valor da transação:" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "Não atribuídas:" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "Total das divisões:" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Não é possível renomear esse Marcador,\n" "de '%s' para '%s',\n" "esse nome já existe." #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "Gerenciar Marcadores" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "novo marcador" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Você quer quebrar a transferência interna?\n" "\n" "O processo vai apagar a transação alvo." #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "Exibir agendamento" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "Exibir todas as contas" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "Adicionar & Continuar" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "_Adicionar" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "_Publicar" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "Adicionar transação" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "Herdar transação" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "_Data:" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" "- digite: d, d/m, m/d, uma data completa\n" "- use tecla de seta + ctrl ou shift\n" "- vazio para hoje" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "Valor" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "Para" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" "- digite alguma letra para preenchimento automático\n" "- digite um novo texto para criar uma entrada" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "Categoria" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "_Observações" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "Marcadores" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "Aviso: quantia e categoria parecem não bater" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "Editar várias transações" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "Modelo" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "incluir" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "Excluir" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(sem tipo)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "Dinheiro" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "Ativo" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "Cartão de crédito" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "Passivo" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "Este mês" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "Mês passado" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "Este trimestre" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "Último trimestre" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "Este ano" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "Ano passado" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "Últimos 30 dias" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "Últimos 60 dias" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "Últimos 90 dias" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "Últimos 12 meses" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "Todas datas" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "Possível" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "Antes" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "Depois" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "Não liquidada" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "Não reconciliada" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "Sem categoria" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "Janeiro" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "Fevereiro" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "Março" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "Abril" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "Junho" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "Julho" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "Agosto" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "Setembro" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "Outubro" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "Novembro" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "Dezembro" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "Set" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "Pesquisar..." #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "Cheque" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "Cartão de débito" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "Ordem permanente" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "Pagamento eletrônico" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "Depósito" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "Taxa da Instituição Financeira" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "Débito Direto" homebank-5.3.2/po/ko.po0000644000175000017500000023745513620025326011634 00000000000000# Korean translation for homebank # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2007. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2019-12-08 17:19+0100\n" "PO-Revision-Date: 2018-10-21 16:12+0000\n" "Last-Translator: Litty \n" "Language-Team: Korean \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2020-02-09 15:52+0000\n" "X-Generator: Launchpad (build 0a62c17273454a1313f81a74a2198ec30b44c7b6)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:687 msgid "HomeBank" msgstr "홈 뱅크" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "개인 금융" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:691 msgid "Free, easy, personal accounting for everyone" msgstr "모두를 위한 쉬운 무료 개인 회계" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "금융;회계;예산;개인;돈;" #: ../data/homebank.appdata.xml.in.h:1 msgid "" "HomeBank is a free software (as in \"free speech\" and also as in \"free " "beer\") that will assist you to manage your personal accounting." msgstr "" "홈뱅크는 귀하의 개인 회계를 관리하는 데 도움이되는 무료 소프트웨어( \"무료 언론\"이나 \"무료 맥주\"와 같은)입니다 ." #: ../data/homebank.appdata.xml.in.h:2 msgid "" "It is designed to easy to use and be able to analyse your personal finance " "in detail using powerful filtering tools and beautiful graphs." msgstr "강력한 필터링 도구와 아름다운 그래프를 사용하여 사용하기 쉽고 개인 재무를 자세하게 분석 할 수 있습니다." #: ../data/homebank.appdata.xml.in.h:3 msgid "" "If you are looking for a completely free and easy way to manage your " "personal accounting then HomeBank should be the software of choice." msgstr "개인 회계를 관리 할 수있는 완전히 무료이고 쉬운 방법을 찾고 있다면 홈뱅크를 선택 하셔야 합니다." #: ../src/dsp-account.c:214 #, c-format msgid "There is %d group of similar transactions" msgstr "유사한 거래 그룹이 %d 개 있습니다." #: ../src/dsp-account.c:219 msgid "No similar transaction were found !" msgstr "유사한 거래가 발견되지 않았습니다!" #: ../src/dsp-account.c:302 ../src/dsp-account.c:312 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:303 msgid "No inconsistency found !" msgstr "일치하지 않는 항목이 없습니다!" #: ../src/dsp-account.c:313 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix ?" msgstr "" "일치하지 않는 항목이 있습니다: %d\n" "검토 및 수정하시겠습니까?" #: ../src/dsp-account.c:373 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "모든 거래 금액은 %.6f 로 나뉩니다." #: ../src/dsp-account.c:377 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "이 계좌의 주요 통화를\n" "유로화로 변경하시겠습니까?" #: ../src/dsp-account.c:379 msgid "_Convert" msgstr "변환(_C)" #: ../src/dsp-account.c:494 msgid "No transaction changed" msgstr "변경된 거래 없음" #: ../src/dsp-account.c:496 #, c-format msgid "transaction changed: %d" msgstr "변경된 거래: %d" #: ../src/dsp-account.c:499 msgid "Automatic assignment result" msgstr "자동으로 할당된 결과" #: ../src/dsp-account.c:625 msgid "" "Do you want to create a template with\n" "each of the selected transaction ?" msgstr "" "선택한 각각의 거래에 대해\n" "템플릿을 만들겠습니까?" #: ../src/dsp-account.c:626 msgid "_Create" msgstr "" #: ../src/dsp-account.c:1477 msgid "" "Do you want to delete\n" "each of the selected transaction ?" msgstr "" "선택한 각 거래를\n" "삭제 하시겠습니까?" #: ../src/dsp-account.c:1478 ../src/ui-account.c:1410 ../src/ui-archive.c:749 #: ../src/ui-assign.c:614 ../src/ui-budget-tabview.c:2259 #: ../src/ui-category.c:1501 ../src/ui-category.c:1958 #: ../src/ui-currency.c:1554 ../src/ui-payee.c:1106 ../src/ui-payee.c:1529 #: ../src/ui-tag.c:612 msgid "_Delete" msgstr "삭제(_D)" #: ../src/dsp-account.c:1547 msgid "Are you sure you want to change the status to None?" msgstr "상태를 없음으로 변경 하시겠습니까?" #: ../src/dsp-account.c:1548 ../src/dsp-account.c:1606 msgid "Some transaction in your selection are already Reconciled." msgstr "선택한 항목의 일부 거래가 이미 조정되었습니다." #: ../src/dsp-account.c:1549 ../src/ui-assist-start.c:287 #: ../src/ui-dialogs.c:376 msgid "_Change" msgstr "바꾸기(_C)" #: ../src/dsp-account.c:1605 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "조정됨 상태를 토글 하시겠습니까?" #: ../src/dsp-account.c:1607 msgid "_Toggle" msgstr "토글(_T)" #: ../src/dsp-account.c:1941 #, c-format msgid "%d transactions" msgstr "%d 거래" #: ../src/dsp-account.c:1944 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2200 msgid "A_ccount" msgstr "계좌(_C)" #: ../src/dsp-account.c:2202 msgid "Export QIF..." msgstr "QIF 내보내기..." #: ../src/dsp-account.c:2203 msgid "Export CSV..." msgstr "CSV 내보내기..." #: ../src/dsp-account.c:2205 msgid "Export as PDF..." msgstr "PDF로 내보내기..." #: ../src/dsp-account.c:2207 ../src/dsp-mainwindow.c:677 #: ../src/dsp-mainwindow.c:1783 ../src/ui-account.c:1671 #: ../src/ui-archive.c:1042 ../src/ui-assign.c:824 ../src/ui-budget.c:1105 #: ../src/ui-budget-tabview.c:2704 ../src/ui-category.c:2205 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1621 #: ../src/ui-tag.c:689 ../src/ui-transaction.c:1214 msgid "_Close" msgstr "닫기(_C)" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2211 ../src/dsp-mainwindow.c:1788 msgid "_Edit" msgstr "편집(_E)" #: ../src/dsp-account.c:2213 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2215 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2217 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2220 msgid "Transacti_on" msgstr "거래(_O)" #: ../src/dsp-account.c:2222 msgid "_Add..." msgstr "추가(_A)..." #: ../src/dsp-account.c:2224 msgid "_Inherit..." msgstr "상속(_I)..." #: ../src/dsp-account.c:2226 msgid "_Edit..." msgstr "편집(_E)..." #: ../src/dsp-account.c:2231 msgid "_Status" msgstr "상태 (_S)" #: ../src/dsp-account.c:2233 msgid "_None" msgstr "소속 없음(_N)" #: ../src/dsp-account.c:2235 msgid "_Cleared" msgstr "비우기(_C)" #: ../src/dsp-account.c:2237 msgid "_Reconciled" msgstr "조정(_R)" #: ../src/dsp-account.c:2240 msgid "_Multiple Edit..." msgstr "다중 편집(_M)..." #: ../src/dsp-account.c:2241 msgid "Create template..." msgstr "템플릿 만들기..." #: ../src/dsp-account.c:2242 msgid "_Delete..." msgstr "삭제(_D)..." #: ../src/dsp-account.c:2247 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2250 ../src/dsp-mainwindow.c:1834 msgid "_Tools" msgstr "도구(_T)" #: ../src/dsp-account.c:2252 msgid "Mark duplicate..." msgstr "중복 표시..." #: ../src/dsp-account.c:2253 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2254 msgid "Auto. assignments" msgstr "자동. 할당" #: ../src/dsp-account.c:2255 msgid "_Filter..." msgstr "필터(_F)..." #: ../src/dsp-account.c:2256 msgid "Convert to Euro..." msgstr "유로화로 변경..." #: ../src/dsp-account.c:2269 msgid "Add a new transaction" msgstr "새로운 거래 추가" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2270 ../src/dsp-mainwindow.c:1892 #: ../src/ui-account.c:1726 ../src/ui-archive.c:1105 ../src/ui-assign.c:887 #: ../src/ui-assist-import.c:1491 ../src/ui-category.c:2305 #: ../src/ui-currency.c:1746 ../src/ui-payee.c:1736 ../src/ui-split.c:847 #: ../src/ui-tag.c:761 msgid "Add" msgstr "추가" #: ../src/dsp-account.c:2271 msgid "Inherit from the active transaction" msgstr "활성 거래에서 상속" #: ../src/dsp-account.c:2272 msgid "Inherit" msgstr "상속" #: ../src/dsp-account.c:2273 msgid "Edit the active transaction" msgstr "활성 거래 편집" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2274 ../src/ui-archive.c:1110 ../src/ui-category.c:2309 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1740 ../src/ui-split.c:809 #: ../src/ui-tag.c:765 msgid "Edit" msgstr "편집" #: ../src/dsp-account.c:2278 msgid "Toggle cleared for selected transaction(s)" msgstr "선택된 거래 비우기 토글" #: ../src/dsp-account.c:2279 msgid "Toggle reconciled for selected transaction(s)" msgstr "선택된 거래 조정됨 토글" #: ../src/dsp-account.c:2283 msgid "Edit multiple transaction" msgstr "다중 거래 편집" #: ../src/dsp-account.c:2284 msgid "Create template" msgstr "템플릿 만들기" #: ../src/dsp-account.c:2285 msgid "Delete selected transaction(s)" msgstr "선택된 거래 삭제" #: ../src/dsp-account.c:2289 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2290 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2336 msgid "(closed)" msgstr "(닫힘)" #: ../src/dsp-account.c:2343 #, c-format msgid "%s - HomeBank" msgstr "%s - 홈뱅크" #: ../src/dsp-account.c:2343 msgid "All transactions" msgstr "모든 거래" #. info bar for duplicate #: ../src/dsp-account.c:2372 msgid "_Refresh" msgstr "새로 고침(_R)" #: ../src/dsp-account.c:2400 ../src/rep-balance.c:943 ../src/rep-budget.c:1176 #: ../src/rep-stats.c:1386 ../src/rep-time.c:1240 ../src/rep-vehicle.c:749 #: ../src/ui-pref.c:1298 ../src/ui-pref.c:1653 ../src/ui-pref.c:2066 msgid "_Range:" msgstr "범위(_R):" #: ../src/dsp-account.c:2408 msgid "Toggle show future transaction" msgstr "향후 거래 보기 토글" #: ../src/dsp-account.c:2412 ../src/rep-budget.c:1151 ../src/rep-stats.c:1331 #: ../src/ui-account.c:1772 ../src/ui-assist-start.c:398 #: ../src/ui-filter.c:1285 msgid "_Type:" msgstr "종류(_T):" #: ../src/dsp-account.c:2417 ../src/ui-filter.c:1262 #: ../src/ui-transaction.c:1444 msgid "_Status:" msgstr "상태(_S):" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2423 ../src/ui-filter.c:1455 ../src/ui-pref.c:2163 #: ../src/ui-pref.c:2186 msgid "_Reset" msgstr "재설정(_R)" #: ../src/dsp-account.c:2427 msgid "Open the list filter" msgstr "목록 필터 열기" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2434 ../src/rep-balance.c:922 ../src/rep-budget.c:1163 #: ../src/rep-stats.c:1356 ../src/rep-time.c:1219 ../src/rep-vehicle.c:736 msgid "Euro _minor" msgstr "유로 마이너(_M)" #. lock + account name #. hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); #. //gtk_widget_set_hexpand (hbox, TRUE); #. gtk_grid_attach (GTK_GRID (table), hbox, 2, 0, 1, 1); #. #. widget = gtk_image_new_from_icon_name (ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); #. data->IM_closed = widget; #. //gtk_grid_attach (GTK_GRID(table), widget, 6, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); #. #. label = gtk_label_new(NULL); #. data->LB_name = label; #. //gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_widget_set_halign (label, GTK_ALIGN_CENTER); #. //gtk_widget_set_hexpand (label, TRUE); #. //gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); #. gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); #. #: ../src/dsp-account.c:2521 msgid "Bank:" msgstr "은행:" #: ../src/dsp-account.c:2527 msgid "Today:" msgstr "오늘:" #: ../src/dsp-account.c:2533 msgid "Future:" msgstr "미래:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "저장되지 않은 변경사항을 파일 '%s'로 되돌리시겠습니까?" #: ../src/dsp-mainwindow.c:129 msgid "" "- Changes made to the file will be permanently lost\n" "- File will be reloaded from the last save (.xhb~)" msgstr "" "- 파일에 대한 변경 사항은 영구적으로 손실됩니다.\n" "- 파일은 마지막으로 저장된 (.xhb ~)에서 다시로드됩니다." #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "되돌리기(_R)" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "파일을 익명화 하시겠습니까?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "익명화를 진행하게 되면 모든 텍스트가 \n" "'계정 x', '수취인 y', '메모 z'와 같이 변경됩니다." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "익명화(_A)" #: ../src/dsp-mainwindow.c:674 msgid "Welcome to HomeBank" msgstr "홈뱅크에 오신것을 환경합니다." #: ../src/dsp-mainwindow.c:701 msgid "What do you want to do:" msgstr "무엇을 하고 싶나요:" #: ../src/dsp-mainwindow.c:705 msgid "Read HomeBank _Manual" msgstr "홈뱅크 메뉴얼 읽기(_M)" #: ../src/dsp-mainwindow.c:709 msgid "Configure _preferences" msgstr "활경 설정(_P)" #: ../src/dsp-mainwindow.c:713 msgid "Create a _new file" msgstr "새 파일 만들기(_N)" #: ../src/dsp-mainwindow.c:717 msgid "_Open an existing file" msgstr "기존 파일 열기(_O)" #: ../src/dsp-mainwindow.c:721 msgid "Open the _example file" msgstr "예제 파일 열기(_E)" #: ../src/dsp-mainwindow.c:940 #, c-format msgid "" "Your are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this ?" msgstr "" "백업파일 '%s'를 열려고 합니다.\n" "\n" "정말 여시겠습니까?" #: ../src/dsp-mainwindow.c:944 msgid "Open the backup file ?" msgstr "백업 파일을 여시겠습니까?" #: ../src/dsp-mainwindow.c:946 msgid "_Open backup" msgstr "백업 열기(_O)" #: ../src/dsp-mainwindow.c:1044 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "알 수 없는 오류" #: ../src/dsp-mainwindow.c:1049 ../src/dsp-mainwindow.c:1158 #, c-format msgid "I/O error for file '%s'." msgstr "'%s'파일의 입출력 에러" #: ../src/dsp-mainwindow.c:1052 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "'%s'파일은 유효한 홈뱅크 파일이 아닙니다." #: ../src/dsp-mainwindow.c:1055 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "'%s'파일은 더 높은 버전의 홈뱅크에서 저장되어\n" "이 버전의 홈뱅크에서 불러 올 수 없습니다." #: ../src/dsp-mainwindow.c:1063 ../src/dsp-mainwindow.c:1161 msgid "File error" msgstr "파일 오류" #: ../src/dsp-mainwindow.c:1134 msgid "The file has been modified since reading it." msgstr "파일이 읽혀진 후 수정되었습니다." #: ../src/dsp-mainwindow.c:1135 msgid "" "If you save it, all the external changes could be lost. Save it anyway?" msgstr "저장하면, 외부에서 바꾼 것을 잃어버리게 됩니다. 저장하겠습니까?" #: ../src/dsp-mainwindow.c:1136 msgid "S_ave Anyway" msgstr "어쨋든 저장(_A)" #: ../src/dsp-mainwindow.c:1737 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1759 msgid "_File" msgstr "파일(_F)" #: ../src/dsp-mainwindow.c:1761 msgid "_New" msgstr "새로 만들기(_N)" #: ../src/dsp-mainwindow.c:1763 msgid "_Open..." msgstr "열기(_O)..." #: ../src/dsp-mainwindow.c:1765 msgid "Open _Recent" msgstr "최근 문서 열기(_R)" #: ../src/dsp-mainwindow.c:1770 ../src/ui-dialogs.c:451 ../src/ui-dialogs.c:498 #: ../src/ui-dialogs.c:559 ../src/ui-dialogs.c:700 msgid "_Save" msgstr "저장(_S)" #: ../src/dsp-mainwindow.c:1772 msgid "Save _As..." msgstr "다른 이름으로 저장(_A)..." #: ../src/dsp-mainwindow.c:1775 msgid "Import..." msgstr "가져오기..." #: ../src/dsp-mainwindow.c:1776 msgid "Export as QIF..." msgstr "QIF로 내보내기..." #: ../src/dsp-mainwindow.c:1778 msgid "Revert" msgstr "복원" #: ../src/dsp-mainwindow.c:1779 msgid "Restore backup" msgstr "백업 복원" #: ../src/dsp-mainwindow.c:1781 msgid "Properties..." msgstr "설정..." #: ../src/dsp-mainwindow.c:1785 msgid "_Quit" msgstr "끝내기(_Q)" #: ../src/dsp-mainwindow.c:1790 msgid "Preferences..." msgstr "기본 설정..." #: ../src/dsp-mainwindow.c:1792 msgid "_View" msgstr "보기(_V)" #: ../src/dsp-mainwindow.c:1794 msgid "_Toolbar" msgstr "도구모음(_T)" #: ../src/dsp-mainwindow.c:1796 msgid "_Top spending" msgstr "최고 지출(_T)" #: ../src/dsp-mainwindow.c:1798 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1801 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "마이너 유로" #: ../src/dsp-mainwindow.c:1805 msgid "_Manage" msgstr "관리(_M)" #: ../src/dsp-mainwindow.c:1807 msgid "Acc_ounts..." msgstr "계정(_O)..." #: ../src/dsp-mainwindow.c:1808 msgid "_Payees..." msgstr "수취인(_P)..." #: ../src/dsp-mainwindow.c:1809 msgid "Categories..." msgstr "범주..." #: ../src/dsp-mainwindow.c:1810 msgid "Scheduled/Template..." msgstr "스케쥴/템플릿..." #: ../src/dsp-mainwindow.c:1811 msgid "Budget..." msgstr "예산..." #: ../src/dsp-mainwindow.c:1812 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1813 msgid "Assignments..." msgstr "할당..." #: ../src/dsp-mainwindow.c:1814 msgid "Currencies..." msgstr "통화..." #: ../src/dsp-mainwindow.c:1815 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1817 msgid "_Transactions" msgstr "거래(_T)" #: ../src/dsp-mainwindow.c:1819 msgid "Add..." msgstr "추가..." #: ../src/dsp-mainwindow.c:1820 msgid "Show..." msgstr "보기..." #: ../src/dsp-mainwindow.c:1821 msgid "Show all..." msgstr "모두 보기..." #: ../src/dsp-mainwindow.c:1823 msgid "Set scheduler..." msgstr "스케쥴러 설정..." #: ../src/dsp-mainwindow.c:1824 ../src/ui-transaction.c:1232 msgid "Post scheduled" msgstr "예정된 게시" #: ../src/dsp-mainwindow.c:1826 msgid "_Reports" msgstr "보고서(_R)" #: ../src/dsp-mainwindow.c:1828 msgid "_Statistics..." msgstr "통계(_S)..." #: ../src/dsp-mainwindow.c:1829 msgid "_Trend Time..." msgstr "경향 시간(_T)..." #: ../src/dsp-mainwindow.c:1830 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "B_udget..." msgstr "예산(_U)..." #: ../src/dsp-mainwindow.c:1832 msgid "_Vehicle cost..." msgstr "차량 비용(_V)..." #: ../src/dsp-mainwindow.c:1836 msgid "Show welcome dialog..." msgstr "환영 창 보기..." #: ../src/dsp-mainwindow.c:1837 msgid "File statistics..." msgstr "파일 통계..." #: ../src/dsp-mainwindow.c:1839 msgid "Anonymize..." msgstr "익명화..." #: ../src/dsp-mainwindow.c:1841 msgid "_Help" msgstr "도움말(_H)" #: ../src/dsp-mainwindow.c:1843 msgid "_Contents" msgstr "목차(_C)" #: ../src/dsp-mainwindow.c:1845 ../src/dsp-mainwindow.c:1904 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "Check for updates..." msgstr "업데이트 확인..." #: ../src/dsp-mainwindow.c:1849 msgid "Release Notes" msgstr "릴리즈 정보" #: ../src/dsp-mainwindow.c:1850 msgid "Report a Problem..." msgstr "문제점 보고..." #: ../src/dsp-mainwindow.c:1851 msgid "Translate this Application..." msgstr "이 응용 프로그램 번역..." #: ../src/dsp-mainwindow.c:1853 msgid "_About" msgstr "정보(_A)" #: ../src/dsp-mainwindow.c:1866 msgid "Create a new file" msgstr "새 파일 만들기" #: ../src/dsp-mainwindow.c:1869 ../src/ui-assist-import.c:733 #: ../src/ui-dialogs.c:492 ../src/ui-dialogs.c:554 ../src/ui-dialogs.c:635 msgid "_Open" msgstr "열기(_O)" #: ../src/dsp-mainwindow.c:1870 msgid "Open a file" msgstr "파일 열기" #: ../src/dsp-mainwindow.c:1875 msgid "Open a recently used file" msgstr "최근에 열었던 파일을 엽니다" #: ../src/dsp-mainwindow.c:1877 msgid "Save the current file" msgstr "현재 파일 저장" #: ../src/dsp-mainwindow.c:1881 msgid "Configure the accounts" msgstr "계정을 구성" #: ../src/dsp-mainwindow.c:1882 msgid "Configure the payees" msgstr "수취인 구성" #: ../src/dsp-mainwindow.c:1883 msgid "Configure the categories" msgstr "범주 구성" #: ../src/dsp-mainwindow.c:1884 msgid "Configure the scheduled/template transactions" msgstr "거래 스케쥴/템플릿을 설정" #: ../src/dsp-mainwindow.c:1885 msgid "Configure the budget" msgstr "예산 구성" #: ../src/dsp-mainwindow.c:1886 msgid "Configure the automatic assignments" msgstr "자동 할당을 설정" #: ../src/dsp-mainwindow.c:1890 msgid "Shows selected account transactions" msgstr "선택한 계정 거래 보기" #: ../src/dsp-mainwindow.c:1891 msgid "Add transactions" msgstr "거래 추가" #: ../src/dsp-mainwindow.c:1896 msgid "Open the Statistics report" msgstr "통계 보고서 열기" #: ../src/dsp-mainwindow.c:1897 msgid "Open the Trend Time report" msgstr "경향 시간 보고서 열기" #: ../src/dsp-mainwindow.c:1898 msgid "Open the Balance report" msgstr "잔액 보고서 열기" #: ../src/dsp-mainwindow.c:1899 msgid "Open the Budget report" msgstr "예산 보고서 열기" #: ../src/dsp-mainwindow.c:1900 msgid "Open the Vehicle cost report" msgstr "차량 비용 보고서 열기" #: ../src/dsp-mainwindow.c:1905 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2013 ../src/ui-widgets-data.c:28 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2017 ../src/list-account.c:415 msgid "Future" msgstr "미래" #: ../src/dsp-mainwindow.c:2020 ../src/ui-widgets-data.c:130 msgid "Remind" msgstr "" #: ../src/hb-category.c:468 ../src/hb-report.c:305 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:779 ../src/ui-category.c:997 msgid "(no category)" msgstr "(분류 없음)" #: ../src/hb-category.c:946 ../src/hb-payee.c:563 msgid "invalid CSV format" msgstr "잘못된 CSV 형식" #: ../src/hb-export.c:443 ../src/list-operation.c:1308 #: ../src/rep-balance.c:1295 ../src/rep-vehicle.c:199 ../src/rep-vehicle.c:1074 #: ../src/ui-assist-import.c:358 msgid "Date" msgstr "날짜" #: ../src/hb-export.c:444 ../src/list-operation.c:1104 #: ../src/ui-assist-import.c:372 ../src/ui-pref.c:133 ../src/ui-pref.c:2422 #: ../src/ui-pref.c:2430 msgid "Info" msgstr "정보" #. column: Payee #. payee #: ../src/hb-export.c:445 ../src/list-operation.c:1331 #: ../src/list-scheduled.c:404 ../src/rep-stats.c:81 ../src/rep-time.c:78 #: ../src/ui-archive.c:410 ../src/ui-assist-import.c:386 #: ../src/ui-dialogs.c:224 ../src/ui-payee.c:1009 ../src/ui-pref.c:132 #: ../src/ui-widgets-data.c:36 msgid "Payee" msgstr "수취인" #. column: Memo #. memo #: ../src/hb-export.c:446 ../src/list-operation.c:1339 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:414 #: ../src/ui-assist-import.c:363 ../src/ui-pref.c:131 ../src/ui-split.c:220 #: ../src/ui-split.c:818 ../src/ui-widgets-data.c:35 msgid "Memo" msgstr "메모" #. column: Amount #. amount #: ../src/hb-export.c:447 ../src/list-operation.c:1368 ../src/rep-time.c:1436 #: ../src/rep-time.c:1558 ../src/rep-vehicle.c:203 ../src/rep-vehicle.c:1119 #: ../src/ui-archive.c:419 ../src/ui-assist-import.c:367 ../src/ui-split.c:236 #: ../src/ui-split.c:822 msgid "Amount" msgstr "금액" #. column: Balance #: ../src/hb-export.c:449 ../src/list-operation.c:1410 #: ../src/rep-balance.c:1314 ../src/rep-stats.c:94 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1865 ../src/ui-widgets-data.c:66 msgid "Balance" msgstr "잔고" #: ../src/hb-hbfile.c:626 ../src/ui-assist-import.c:2065 msgid "Unknown" msgstr "알 수 없음" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:253 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:256 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:259 msgid "mi./l" msgstr "mi./l" #: ../src/hb-report.c:317 ../src/ui-payee.c:585 ../src/ui-payee.c:797 msgid "(no payee)" msgstr "(수취인 없음)" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:789 #, c-format msgid "%d-w%d" msgstr "" #. g_snprintf(buffer, 63, "%d-%02d", g_date_get_year(date), g_date_get_month(date)); #. todo: will be innacurrate here if fiscal year start not 1/jan #. TRANSLATORS: printf string for year of quarter Q, ex. 2019-Q4 for quarter 4 of 2019 #: ../src/hb-report.c:803 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "버전 정보를 출력하고 끝냄" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[파일]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "브라우저 오류." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "'%s' URL을 표시할 수 없습니다" #: ../src/homebank.c:874 ../src/homebank.c:875 msgid "HomeBank options" msgstr "홈뱅크 옵션" #: ../src/homebank.c:1004 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "'%s' 파일을 열 수 없습니다. 파일이 없습니다.\n" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(기관 없음)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "" #: ../src/hub-account.c:511 msgid "Your accounts" msgstr "내 계좌" #: ../src/hub-account.c:526 ../src/ui-budget.c:1200 #: ../src/ui-budget-tabview.c:2847 ../src/ui-category.c:2332 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "모두 펴기" #: ../src/hub-account.c:530 ../src/ui-budget.c:1204 #: ../src/ui-budget-tabview.c:2851 ../src/ui-category.c:2336 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "모두 접기" #: ../src/hub-account.c:547 msgid "Show all" msgstr "모두 보기" #: ../src/hub-account.c:552 msgid "By type" msgstr "유형별" #: ../src/hub-account.c:553 msgid "By group" msgstr "" #: ../src/hub-account.c:554 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:261 msgid "No transaction to add" msgstr "추가 할 거래 없음" #: ../src/hub-scheduled.c:263 #, c-format msgid "transaction added: %d" msgstr "%d 거래가 추가되었습니다." #: ../src/hub-scheduled.c:266 msgid "Check scheduled transactions result" msgstr "예정된 거래 결과를 확인" #: ../src/hub-scheduled.c:383 ../src/list-account.c:125 ../src/rep-stats.c:2056 #: ../src/rep-vehicle.c:820 ../src/ui-widgets-data.c:57 #: ../src/ui-widgets-data.c:64 msgid "Total" msgstr "합계" #: ../src/hub-scheduled.c:428 msgid "Scheduled transactions" msgstr "예약된 거래" #: ../src/hub-scheduled.c:444 msgid "Skip" msgstr "건너뛰기" #: ../src/hub-scheduled.c:448 msgid "Edit & Post" msgstr "수정 & 게시" #. TRANSLATORS: Posting a scheduled transaction is the action to materialize it into its target account. #. TRANSLATORS: Before that action the automated transaction occurrence is pending and not yet really existing. #: ../src/hub-scheduled.c:454 msgid "Post" msgstr "게시글" #: ../src/hub-scheduled.c:469 msgid "maximum post date" msgstr "최대 게시일" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "최고 지출" #. future usage #: ../src/hub-spending.c:102 #, c-format msgid "Top %d spending" msgstr "최고 지출은 %d" #: ../src/hub-spending.c:294 msgid "Other" msgstr "기타" #: ../src/hub-spending.c:357 msgid "Where your money goes" msgstr "돈이 갈 곳" #: ../src/hb-import.c:1327 msgid "imported account" msgstr "가져오기 된 계좌" #: ../src/list-account.c:129 msgid "Grand total" msgstr "총 합계" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:395 ../src/ui-filter.c:1535 msgid "Accounts" msgstr "계좌" #. Bank #: ../src/list-account.c:407 ../src/ui-widgets-data.c:87 msgid "Bank" msgstr "은행" #. Today #: ../src/list-account.c:411 msgid "Today" msgstr "오늘" #: ../src/list-operation.c:548 msgid "- split -" msgstr "- 분할 -" #: ../src/list-operation.c:564 msgid "- this needs a category -" msgstr "" #. 5.2 we always create the column and set it not visible #. column : Account #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, _("Transaction")); #. gtk_assistant_set_page_title (GTK_ASSISTANT (data->assistant), page, genacc->name); #: ../src/list-operation.c:1297 ../src/list-scheduled.c:472 #: ../src/rep-stats.c:82 ../src/rep-time.c:76 ../src/ui-account.c:868 #: ../src/ui-archive.c:429 ../src/ui-assist-import.c:2065 #: ../src/ui-dialogs.c:206 msgid "Account" msgstr "계정" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1349 ../src/ui-filter.c:1508 msgid "Status" msgstr "상태" #. column: Expense #: ../src/list-operation.c:1376 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1306 ../src/rep-stats.c:92 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1853 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1291 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:42 ../src/ui-widgets-data.c:155 #: ../src/ui-widgets-data.c:164 msgid "Expense" msgstr "지출" #. column: Income #: ../src/list-operation.c:1384 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1310 ../src/rep-stats.c:93 ../src/rep-stats.c:1682 #: ../src/rep-stats.c:1859 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1292 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:43 ../src/ui-widgets-data.c:156 #: ../src/ui-widgets-data.c:165 msgid "Income" msgstr "수입" #. category #: ../src/list-operation.c:1392 ../src/rep-budget.c:1397 #: ../src/rep-budget.c:1577 ../src/rep-stats.c:79 ../src/rep-time.c:77 #: ../src/ui-assist-import.c:390 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1508 ../src/ui-category.c:1404 #: ../src/ui-dialogs.c:233 ../src/ui-payee.c:1044 ../src/ui-split.c:202 #: ../src/ui-split.c:814 ../src/ui-widgets-data.c:49 msgid "Category" msgstr "범주" #: ../src/list-operation.c:1400 msgid "Tags" msgstr "태그" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "최신" #. TRANSLATORS: title of list column to inform how many occurence remain to post for limited scheduled txn #: ../src/list-scheduled.c:373 msgid "Still" msgstr "" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:402 msgid "Next date" msgstr "다음 날짜" #: ../src/rep-balance.c:76 msgid "List" msgstr "목록" #: ../src/rep-balance.c:76 ../src/rep-budget.c:985 ../src/rep-stats.c:1131 #: ../src/rep-time.c:995 msgid "View results as list" msgstr "목록으로 결과 보기" #: ../src/rep-balance.c:77 msgid "Line" msgstr "선" #: ../src/rep-balance.c:77 ../src/rep-time.c:1001 msgid "View results as lines" msgstr "선 그래프로 결과 보기" #: ../src/rep-balance.c:83 msgid "Refresh" msgstr "새로 고침" #: ../src/rep-balance.c:83 ../src/rep-budget.c:1004 ../src/rep-stats.c:1176 #: ../src/rep-time.c:1019 ../src/rep-vehicle.c:633 msgid "Refresh results" msgstr "결과 새로 고침" #. name, icon-name #: ../src/rep-balance.c:90 msgid "Detail" msgstr "상세 정보" #. label, accelerator #: ../src/rep-balance.c:91 ../src/rep-budget.c:998 ../src/rep-stats.c:1150 #: ../src/rep-time.c:1014 msgid "Toggle detail" msgstr "세부사항 토글" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:331 #, c-format msgid "%d/%d under %s" msgstr "" #: ../src/rep-balance.c:877 msgid "Balance report" msgstr "잔액 보고서" #: ../src/rep-balance.c:900 ../src/rep-budget.c:1139 ../src/rep-stats.c:1312 #: ../src/rep-time.c:1151 ../src/rep-vehicle.c:724 msgid "Display" msgstr "표시" #: ../src/rep-balance.c:904 ../src/rep-time.c:1163 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1338 ../src/ui-txn-multi.c:501 msgid "A_ccount:" msgstr "계좌" #: ../src/rep-balance.c:911 ../src/rep-time.c:1195 msgid "Select _all" msgstr "전체 선택(_A)" #: ../src/rep-balance.c:916 msgid "Each _day" msgstr "매일(_D)" #: ../src/rep-balance.c:927 ../src/rep-stats.c:1362 ../src/rep-time.c:1224 msgid "_Zoom X:" msgstr "_Zoom X:" #: ../src/rep-balance.c:939 ../src/rep-budget.c:1172 ../src/rep-stats.c:1382 #: ../src/rep-time.c:1236 ../src/rep-vehicle.c:745 msgid "Date filter" msgstr "날짜 필터" #. label = make_label (_("Dates"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #. label = make_label (_("Amounts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/rep-balance.c:949 ../src/rep-budget.c:1182 ../src/rep-stats.c:1392 #: ../src/rep-time.c:1246 ../src/rep-vehicle.c:755 ../src/ui-filter.c:1141 #: ../src/ui-filter.c:1226 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "시작" #: ../src/rep-balance.c:955 ../src/rep-budget.c:1188 ../src/rep-stats.c:1398 #: ../src/rep-time.c:1252 ../src/rep-vehicle.c:761 ../src/ui-filter.c:1147 #: ../src/ui-filter.c:1233 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "종료" #: ../src/rep-budget.c:787 msgid " over" msgstr " 초과" #: ../src/rep-budget.c:793 msgid " left" msgstr " 남음" #: ../src/rep-budget.c:796 msgid " under" msgstr " 미만" #. update stack chart #: ../src/rep-budget.c:839 ../src/ui-budget.c:983 #, c-format msgid "Budget for %s" msgstr "%s의 예산" #. column: Income #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1592 msgid "Budget" msgstr "예산" #. column: Result #: ../src/rep-budget.c:845 ../src/rep-budget.c:1397 ../src/rep-budget.c:1596 #: ../src/rep-stats.c:1682 ../src/rep-stats.c:1842 msgid "Result" msgstr "결과" #: ../src/rep-budget.c:991 msgid "View results as stack bars" msgstr "결과를 스택 막대로 보기" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1012 ../src/rep-stats.c:1184 ../src/rep-time.c:1027 msgid "_Result to clipboard" msgstr "결과를 클립보드로(_R)" #: ../src/rep-budget.c:1016 ../src/rep-stats.c:1188 ../src/rep-time.c:1031 msgid "_Result to CSV" msgstr "결과를 CSV로(_R)" #: ../src/rep-budget.c:1020 ../src/rep-stats.c:1192 ../src/rep-time.c:1035 msgid "_Detail to clipboard" msgstr "세부사항을 클립보드로(_D)" #: ../src/rep-budget.c:1025 ../src/rep-stats.c:1197 ../src/rep-time.c:1040 msgid "_Detail to CSV" msgstr "세부사항을 CSV(_D)" #: ../src/rep-budget.c:1114 msgid "Budget report" msgstr "예산 보고서" #: ../src/rep-budget.c:1143 ../src/rep-stats.c:1323 ../src/rep-time.c:1155 msgid "_View by:" msgstr "보기(_V):" #: ../src/rep-budget.c:1158 msgid "Only out of budget" msgstr "예산 초과만" #: ../src/rep-budget.c:1217 msgid "Result:" msgstr "결과:" #: ../src/rep-budget.c:1223 msgid "Budget:" msgstr "예산:" #: ../src/rep-budget.c:1229 msgid "Spent:" msgstr "지출:" #: ../src/rep-budget.c:1358 msgid "No account is defined to be part of the budget." msgstr "예산의 일부로 계좌가 정의되지 않았습니다." #: ../src/rep-budget.c:1359 msgid "You should include some accounts from the account dialog." msgstr "계좌 다이얼로그 화면으로 어떠한 계좌라도 포함시켜야합니다." #. column: Expense #: ../src/rep-budget.c:1397 ../src/rep-budget.c:1588 msgid "Spent" msgstr "지출" #: ../src/rep-stats.c:80 ../src/ui-widgets-data.c:50 msgid "Subcategory" msgstr "하위 범주" #: ../src/rep-stats.c:83 ../src/rep-time.c:79 msgid "Tag" msgstr "태그" #: ../src/rep-stats.c:84 ../src/rep-time.c:87 ../src/ui-widgets-data.c:139 msgid "Month" msgstr "월" #: ../src/rep-stats.c:85 ../src/rep-time.c:90 ../src/ui-widgets-data.c:140 msgid "Year" msgstr "년" #: ../src/rep-stats.c:91 ../src/ui-widgets-data.c:154 msgid "Exp. & Inc." msgstr "수입과 지출" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:308 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:746 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:747 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1137 ../src/rep-time.c:1007 msgid "View results as column" msgstr "결과를 열로 보기" #: ../src/rep-stats.c:1143 msgid "View results as donut" msgstr "결과를 도넛으로 보기" #: ../src/rep-stats.c:1158 msgid "Toggle legend" msgstr "범례 토글" #: ../src/rep-stats.c:1165 msgid "Toggle rate" msgstr "평가 토글" #: ../src/rep-stats.c:1173 ../src/ui-filter.c:1452 msgid "Edit filter" msgstr "필터 편집" #: ../src/rep-stats.c:1291 msgid "Statistics Report" msgstr "통계 보고서" #: ../src/rep-stats.c:1316 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1340 msgid "By _amount" msgstr "금액 순으로(_A)" #: ../src/rep-stats.c:1345 ../src/rep-time.c:1205 msgid "Inter_val:" msgstr "" #: ../src/rep-stats.c:1502 ../src/ui-budget.c:1245 msgid "Balance:" msgstr "잔액:" #: ../src/rep-stats.c:1508 ../src/ui-budget.c:1238 msgid "Income:" msgstr "수입:" #: ../src/rep-stats.c:1515 ../src/ui-budget.c:1231 msgid "Expense:" msgstr "지출:" #: ../src/rep-stats.c:2053 msgid "Average" msgstr "" #: ../src/rep-time.c:85 ../src/ui-widgets-data.c:137 msgid "Day" msgstr "일" #: ../src/rep-time.c:86 ../src/ui-widgets-data.c:138 msgid "Week" msgstr "주" #: ../src/rep-time.c:88 msgid "Quarter" msgstr "분기" #: ../src/rep-time.c:89 msgid "Half Year" msgstr "" #. visible = (tmpmode == REPORT_RESULT_TOTAL) ? TRUE : FALSE; #. gtk_chart_show_average(GTK_CHART(data->RE_line), data->average, visible); #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:263 #, c-format msgid "%s Over Time" msgstr "%s 시간 초과" #: ../src/rep-time.c:728 #, c-format msgid "Average: %s" msgstr "평균: %s" #: ../src/rep-time.c:1128 msgid "Trend Time Report" msgstr "경향 시간 보고서" #: ../src/rep-time.c:1171 ../src/ui-assign.c:1017 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1298 msgid "_Category:" msgstr "범주" #: ../src/rep-time.c:1179 ../src/ui-assign.c:998 ../src/ui-transaction.c:1407 #: ../src/ui-txn-multi.c:551 msgid "_Payee:" msgstr "지불대상" #: ../src/rep-time.c:1187 ../src/ui-filter.c:1191 msgid "_Tag:" msgstr "태그(_T):" #: ../src/rep-time.c:1200 msgid "_Cumulate" msgstr "누적(_C)" #: ../src/rep-time.c:1213 msgid "Show empty line" msgstr "" #: ../src/rep-time.c:1436 ../src/rep-time.c:1546 msgid "Time slice" msgstr "" #. #. LST_CAR_DATE, #. LST_CAR_MEMO, #. LST_CAR_METER, #. LST_CAR_FUEL, #. LST_CAR_PRICE, #. LST_CAR_AMOUNT, #. LST_CAR_DIST, #. LST_CAR_100KM #. #. #. column: Memo #. #. column = gtk_tree_view_column_new(); #. gtk_tree_view_column_set_title(column, _("Memo")); #. gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); #. renderer = gtk_cell_renderer_text_new(); #. gtk_tree_view_column_pack_start(column, renderer, TRUE); #. gtk_tree_view_column_add_attribute(column, renderer, "text", LST_CAR_MEMO); #. //gtk_tree_view_column_set_cell_data_func(column, renderer, repvehicle_text_cell_data_function, NULL, NULL); #. #. column: Meter #: ../src/rep-vehicle.c:200 ../src/rep-vehicle.c:1107 msgid "Meter" msgstr "미터" #. column: Fuel load #: ../src/rep-vehicle.c:201 ../src/rep-vehicle.c:1111 msgid "Fuel" msgstr "연료" #. column: Price by unit #: ../src/rep-vehicle.c:202 ../src/rep-vehicle.c:1115 msgid "Price" msgstr "가격" #. column: Distance done #: ../src/rep-vehicle.c:204 ../src/rep-vehicle.c:1123 msgid "Dist." msgstr "거리." #: ../src/rep-vehicle.c:636 ../src/ui-dialogs.c:497 msgid "Export as CSV" msgstr "CSV로 내보내기" #: ../src/rep-vehicle.c:700 msgid "Vehicle cost report" msgstr "차량 비용 보고서" #: ../src/rep-vehicle.c:728 msgid "Vehi_cle:" msgstr "차량(_C):" #: ../src/rep-vehicle.c:787 msgid "Meter:" msgstr "미터:" #: ../src/rep-vehicle.c:791 msgid "Consumption:" msgstr "소비량:" #: ../src/rep-vehicle.c:795 msgid "Fuel cost:" msgstr "연료 비용:" #: ../src/rep-vehicle.c:799 msgid "Other cost:" msgstr "기타 비용:" #: ../src/rep-vehicle.c:803 msgid "Total cost:" msgstr "비용 합계:" #. populate template #: ../src/ui-account.c:696 ../src/ui-account.c:1637 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:210 ../src/ui-widgets.c:1174 msgid "(none)" msgstr "(없음)" #: ../src/ui-account.c:855 ../src/ui-assign.c:269 ../src/ui-category.c:1384 #: ../src/ui-currency.c:599 ../src/ui-payee.c:989 ../src/ui-tag.c:353 msgid "Visible" msgstr "보임" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1006 ../src/ui-assist-import.c:731 #: ../src/ui-budget-tabview.c:2060 ../src/ui-budget-tabview.c:2312 #: ../src/ui-category.c:1686 ../src/ui-category.c:1834 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:332 #: ../src/ui-dialogs.c:450 ../src/ui-dialogs.c:505 ../src/ui-dialogs.c:565 #: ../src/ui-dialogs.c:634 ../src/ui-dialogs.c:699 ../src/ui-dialogs.c:743 #: ../src/ui-dialogs.c:886 ../src/ui-filter.c:1457 ../src/ui-hbfile.c:197 #: ../src/ui-payee.c:1247 ../src/ui-payee.c:1410 ../src/ui-pref.c:2188 #: ../src/ui-split.c:748 ../src/ui-tag.c:496 ../src/ui-transaction.c:1208 #: ../src/ui-txn-multi.c:435 msgid "_Cancel" msgstr "취소(_C)" #: ../src/ui-account.c:1008 ../src/ui-category.c:1688 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:333 ../src/ui-dialogs.c:887 #: ../src/ui-filter.c:1459 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1249 #: ../src/ui-pref.c:2190 ../src/ui-split.c:761 ../src/ui-tag.c:498 #: ../src/ui-transaction.c:1209 ../src/ui-txn-multi.c:437 msgid "_OK" msgstr "확인(_O)" #: ../src/ui-account.c:1332 ../src/ui-account.c:1445 msgid "Account name" msgstr "계좌 이름" #: ../src/ui-account.c:1338 ../src/ui-account.c:1451 ../src/ui-category.c:1763 #: ../src/ui-payee.c:1343 ../src/ui-tag.c:556 msgid "Error" msgstr "오류" #: ../src/ui-account.c:1339 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "'%s' 계좌를 추가할 수 없습니다.\n" "이 이름은 이미 사용중입니다." #: ../src/ui-account.c:1387 #, c-format msgid "Cannot delete account '%s'" msgstr "'%s' 계좌를 지울 수 없습니다." #: ../src/ui-account.c:1391 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "이 계좌는 거래가 포함되어 있으며 내부 송금들 중 일부입니다." #: ../src/ui-account.c:1402 ../src/ui-archive.c:741 ../src/ui-assign.c:606 #: ../src/ui-budget-tabview.c:2247 ../src/ui-category.c:1946 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1517 ../src/ui-tag.c:600 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1404 msgid "If you delete an account, it will be permanently lost." msgstr "계좌를 해지하면 다시는 복구할 수 없습니다." #: ../src/ui-account.c:1452 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1668 msgid "Manage Accounts" msgstr "계정 관리" #: ../src/ui-account.c:1730 msgid "Rename" msgstr "" #: ../src/ui-account.c:1734 ../src/ui-assign.c:891 #: ../src/ui-assist-import.c:1495 ../src/ui-category.c:2317 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1748 ../src/ui-split.c:805 #: ../src/ui-tag.c:768 msgid "Delete" msgstr "" #: ../src/ui-account.c:1745 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1759 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1390 ../src/ui-pref.c:1777 msgid "General" msgstr "일반" #: ../src/ui-account.c:1780 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1789 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1797 ../src/ui-assist-start.c:407 msgid "N_umber:" msgstr "" #: ../src/ui-account.c:1805 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1812 msgid "_Currency:" msgstr "통화(_C) :" #: ../src/ui-account.c:1819 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1824 ../src/ui-assign.c:1054 msgid "Notes:" msgstr "메모:" #: ../src/ui-account.c:1844 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:1853 msgid "Automation" msgstr "" #: ../src/ui-account.c:1857 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:1871 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:1875 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:1880 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:1885 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:1894 msgid "Misc." msgstr "" #: ../src/ui-account.c:1903 msgid "Current check number" msgstr "" #: ../src/ui-account.c:1907 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:1914 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:1926 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:1931 msgid "_Overdraft at:" msgstr "" #: ../src/ui-archive.c:743 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:959 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:967 msgid "Ever_y:" msgstr "간격(_y):" #: ../src/ui-archive.c:982 msgid "More options" msgstr "" #: ../src/ui-archive.c:994 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1002 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1016 msgid "posts" msgstr "" #: ../src/ui-archive.c:1039 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1124 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:303 msgid "Search" msgstr "" #: ../src/ui-assign.c:320 msgid "Notes" msgstr "" #: ../src/ui-assign.c:578 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:608 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:695 msgid "This search text already exists" msgstr "" #: ../src/ui-assign.c:796 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:797 msgid "If empty" msgstr "" #: ../src/ui-assign.c:798 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:821 msgid "Manage Assignments" msgstr "" #: ../src/ui-assign.c:902 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:924 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:929 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:938 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:943 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:961 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:988 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1035 msgid "Pay_ment:" msgstr "지불수단" #: ../src/ui-assist-start.c:141 #, c-format msgid "New HomeBank file (%d of %d)" msgstr "" #: ../src/ui-assist-start.c:172 msgid "Not found" msgstr "" #: ../src/ui-assist-start.c:274 msgid "_Owner:" msgstr "소유자(_O):" #: ../src/ui-assist-start.c:282 ../src/ui-dialogs.c:371 msgid "Currency:" msgstr "" #: ../src/ui-assist-start.c:298 ../src/ui-hbfile.c:194 msgid "File properties" msgstr "" #: ../src/ui-assist-start.c:320 msgid "System detection" msgstr "" #: ../src/ui-assist-start.c:324 msgid "Languages:" msgstr "" #: ../src/ui-assist-start.c:331 msgid "Preset file:" msgstr "" #: ../src/ui-assist-start.c:349 msgid "Initialize my categories with this file" msgstr "" #: ../src/ui-assist-start.c:361 msgid "Preset categories" msgstr "" #: ../src/ui-assist-start.c:382 msgid "Information" msgstr "" #: ../src/ui-assist-start.c:386 ../src/ui-currency.c:1233 #: ../src/ui-payee.c:1272 ../src/ui-tag.c:521 msgid "_Name:" msgstr "이름(_N):" #: ../src/ui-assist-start.c:418 msgid "Balances" msgstr "" #: ../src/ui-assist-start.c:422 msgid "_Initial:" msgstr "초기자금(_I):" #: ../src/ui-assist-start.c:429 msgid "_Overdrawn at:" msgstr "대출금" #: ../src/ui-assist-start.c:438 msgid "Create an account" msgstr "" #: ../src/ui-assist-start.c:448 msgid "This is a confirmation page, press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:454 ../src/ui-assist-import.c:2245 msgid "Confirmation" msgstr "" #: ../src/ui-assist-import.c:472 msgid "" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:498 msgid "" msgstr "" #: ../src/ui-assist-import.c:641 ../src/ui-assist-import.c:1717 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:652 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:743 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:754 ../src/ui-dialogs.c:456 msgid "QIF files" msgstr "QIF 파일" #: ../src/ui-assist-import.c:762 msgid "OFX/QFX files" msgstr "OFX/QFX 파일" #: ../src/ui-assist-import.c:770 ../src/ui-dialogs.c:514 msgid "CSV files" msgstr "CSV 파일" #: ../src/ui-assist-import.c:777 ../src/ui-dialogs.c:457 #: ../src/ui-dialogs.c:515 ../src/ui-dialogs.c:572 msgid "All files" msgstr "모든 파일" #: ../src/ui-assist-import.c:856 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:859 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:862 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:881 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1128 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1299 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1299 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1306 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1315 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1317 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1359 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1367 msgid "" "With this assistant you will be guided through the process of importing one " "or several\n" "downloaded statements from your bank or credit card, in the following " "formats:" msgstr "" #: ../src/ui-assist-import.c:1373 msgid "" "Recommended: .OFX or .QFX\n" "(Sometimes named Money™ or Quicken™)\n" "Supported: .QIF\n" "(Common Quicken™ file)\n" "Advanced users only: .CSV\n" "(format is specific to HomeBank, see the documentation)" msgstr "" #: ../src/ui-assist-import.c:1393 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1397 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1456 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" #: ../src/ui-assist-import.c:1529 msgid "" "There is too much account in the files you choosed,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1637 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1650 ../src/ui-pref.c:1162 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1666 ../src/ui-pref.c:1213 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1670 ../src/ui-pref.c:1216 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1680 ../src/ui-pref.c:1186 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1686 ../src/ui-pref.c:1195 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1702 ../src/ui-filter.c:311 ../src/ui-filter.c:527 #: ../src/ui-filter.c:699 ../src/ui-filter.c:1387 msgid "Select:" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-filter.c:315 ../src/ui-filter.c:531 #: ../src/ui-filter.c:703 ../src/ui-filter.c:1391 msgid "All" msgstr "모두" #: ../src/ui-assist-import.c:1709 ../src/ui-filter.c:320 ../src/ui-filter.c:536 #: ../src/ui-filter.c:707 ../src/ui-filter.c:1396 ../src/ui-pref.c:106 #: ../src/ui-widgets-data.c:127 msgid "None" msgstr "없음" #: ../src/ui-assist-import.c:1713 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1401 msgid "Invert" msgstr "반전" #: ../src/ui-assist-import.c:1735 ../src/ui-pref.c:1171 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1769 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1793 msgid "Date _gap:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days of date tolerance #: ../src/ui-assist-import.c:1801 msgid "days" msgstr "일" #: ../src/ui-assist-import.c:1809 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" #: ../src/ui-assist-import.c:1877 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1881 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1887 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1893 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2221 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2227 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2232 msgid "Import" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1541 ../src/ui-payee.c:1145 msgid "File format error" msgstr "문제가 있는 파일" #: ../src/ui-budget.c:522 ../src/ui-category.c:1542 ../src/ui-payee.c:1146 msgid "" "The CSV file must contains the exact numbers of column,\n" "separated by a semi-colon, please see the help for more details." msgstr "" #: ../src/ui-budget.c:921 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:923 ../src/ui-budget-tabview.c:2465 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:929 ../src/ui-budget-tabview.c:2471 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1102 msgid "Manage Budget" msgstr "예산 관리" #: ../src/ui-budget.c:1147 ../src/ui-category.c:2249 ../src/ui-payee.c:1669 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1151 ../src/ui-category.c:2253 ../src/ui-payee.c:1673 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1266 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1280 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1295 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1334 msgid "Options" msgstr "선택 사항" #: ../src/ui-budget.c:1339 ../src/ui-budget-tabview.c:2825 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:239 msgid "Jan" msgstr "1월" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:240 msgid "Feb" msgstr "2월" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:241 msgid "Mar" msgstr "3월" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:242 msgid "Apr" msgstr "4월" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:223 #: ../src/ui-widgets-data.c:243 msgid "May" msgstr "5월" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:244 msgid "Jun" msgstr "6월" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:245 msgid "Jul" msgstr "7월" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:246 msgid "Aug" msgstr "8월" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:248 msgid "Oct" msgstr "10월" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:249 msgid "Nov" msgstr "11월" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:250 msgid "Dec" msgstr "12월" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "" #: ../src/ui-budget-tabview.c:1524 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1535 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1546 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2057 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2066 ../src/ui-budget-tabview.c:2318 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2084 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2107 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2251 ../src/ui-category.c:1950 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2309 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2336 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2343 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2375 ../src/ui-category.c:1854 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2464 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2701 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2783 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2788 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2793 ../src/ui-category.c:1835 #: ../src/ui-payee.c:1411 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2809 msgid "Clear input" msgstr "" #: ../src/ui-category.c:1499 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1500 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1683 ../src/ui-payee.c:1244 ../src/ui-tag.c:493 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1706 msgid "_Income" msgstr "수입(_I)" #. } #: ../src/ui-category.c:1711 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1764 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-category.c:1823 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1844 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:2202 msgid "Manage Categories" msgstr "범주 관리" #: ../src/ui-category.c:2260 ../src/ui-payee.c:1680 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2313 ../src/ui-payee.c:1744 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2349 msgid "new category" msgstr "" #: ../src/ui-category.c:2361 msgid "new subcategory" msgstr "" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1432 msgid "Exchange rate" msgstr "" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "" #: ../src/ui-currency.c:808 ../src/ui-pref.c:1405 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1450 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1459 ../src/ui-pref.c:1539 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1468 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1475 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1480 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1487 msgid "_Frac digits:" msgstr "소수점 아래 자릿수(_F):" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1494 msgid "_Grouping char:" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "" #: ../src/ui-currency.c:1227 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1240 msgid "_ISO:" msgstr "" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "" #: ../src/ui-currency.c:1593 msgid "" "If you proceed, rates of other currencies\n" "will be set to 0, don't forget to update it" msgstr "" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "" #: ../src/ui-currency.c:1716 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1758 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:215 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:242 msgid "Assignment" msgstr "" #: ../src/ui-dialogs.c:329 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:357 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:366 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" #: ../src/ui-dialogs.c:447 msgid "Export as QIF" msgstr "QIF로 내보내기" #: ../src/ui-dialogs.c:491 msgid "Import from CSV" msgstr "CSV에서 들여오기" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:553 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:558 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:571 ../src/ui-pref.c:1922 msgid "HomeBank files" msgstr "홈뱅크 파일" #: ../src/ui-dialogs.c:582 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:586 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:689 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:693 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:698 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:740 msgid "Export as PDF" msgstr "PDF로 내보내기" #: ../src/ui-dialogs.c:744 msgid "Export as _PDF" msgstr "" #: ../src/ui-dialogs.c:771 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:773 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:777 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:883 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:917 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:921 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:924 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:929 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1070 msgid "_Option:" msgstr "옵션" #. label = make_label (_("Texts"), 0, 0); #. gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, -1); #. gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); #. #. row++; #: ../src/ui-filter.c:1176 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1183 ../src/ui-transaction.c:1377 #: ../src/ui-txn-multi.c:535 msgid "_Info:" msgstr "정보(_I):" #: ../src/ui-filter.c:1199 msgid "Case _sensitive" msgstr "" #: ../src/ui-filter.c:1267 ../src/ui-widgets-data.c:171 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1268 ../src/ui-widgets-data.c:128 #: ../src/ui-widgets-data.c:173 msgid "Cleared" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:129 #: ../src/ui-widgets-data.c:175 msgid "Reconciled" msgstr "" #: ../src/ui-filter.c:1290 ../src/ui-widgets-data.c:162 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1293 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:166 msgid "Transfer" msgstr "" #: ../src/ui-filter.c:1305 msgid "Force:" msgstr "" #: ../src/ui-filter.c:1313 msgid "display 'Added'" msgstr "" #: ../src/ui-filter.c:1317 msgid "display 'Edited'" msgstr "" #: ../src/ui-filter.c:1321 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1325 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1504 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1512 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1516 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1520 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1524 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1528 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-hbfile.c:268 msgid "days in advance the current date" msgstr "" #: ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "차량 비용" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1023 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1104 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1105 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1285 msgid "Default" msgstr "" #: ../src/ui-payee.c:1289 ../src/ui-transaction.c:1365 #: ../src/ui-txn-multi.c:521 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1344 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-payee.c:1399 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1420 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1430 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1521 ../src/ui-tag.c:604 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1618 msgid "Manage Payees" msgstr "수취인 관리" #: ../src/ui-payee.c:1757 msgid "new payee" msgstr "" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "인터페이스" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "" #: ../src/ui-pref.c:89 msgid "Report" msgstr "" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1874 msgid "Backup" msgstr "" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "시스템 기본값" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "아이콘만" #: ../src/ui-pref.c:99 msgid "Text only" msgstr "텍스트만" #: ../src/ui-pref.c:100 msgid "Text under icons" msgstr "아이콘 아래 텍스트" #: ../src/ui-pref.c:101 msgid "Text beside icons" msgstr "아이콘 옆에 텍스트" #: ../src/ui-pref.c:107 msgid "Horizontal" msgstr "" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "" #: ../src/ui-pref.c:109 msgid "Both" msgstr "" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "" #: ../src/ui-pref.c:118 msgid "Tango dark" msgstr "" #: ../src/ui-pref.c:123 msgid "m-d-y" msgstr "" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "무시" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "" #: ../src/ui-pref.c:149 msgid "Space" msgstr "" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "" #: ../src/ui-pref.c:1158 msgid "General options" msgstr "" #: ../src/ui-pref.c:1182 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1209 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1226 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1230 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1234 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1294 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1312 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1316 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1338 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1342 msgid "Show by _amount" msgstr "금액으로 보기(_A)" #: ../src/ui-pref.c:1347 msgid "Show _rate column" msgstr "" #: ../src/ui-pref.c:1352 ../src/ui-pref.c:1366 msgid "Show _details" msgstr "상세 정보 보기(_D)" #: ../src/ui-pref.c:1362 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1394 msgid "_Enable" msgstr "" #. row++; #: ../src/ui-pref.c:1415 ../src/ui-pref.c:1818 msgid "_Preset:" msgstr "" #: ../src/ui-pref.c:1520 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1524 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1532 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1548 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1561 msgid "" "%a locale's abbreviated weekday name.\n" "%A locale's full weekday name. \n" "%b locale's abbreviated month name. \n" "%B locale's full month name. \n" "%c locale's appropriate date and time representation. \n" "%C century number (the year divided by 100 and truncated to an integer) as a " "decimal number [00-99]. \n" "%d day of the month as a decimal number [01,31]. \n" "%D same as %m/%d/%y. \n" "%e day of the month as a decimal number [1,31]; a single digit is preceded " "by a space. \n" "%j day of the year as a decimal number [001,366]. \n" "%m month as a decimal number [01,12]. \n" "%p locale's appropriate date representation. \n" "%y year without century as a decimal number [00,99]. \n" "%Y year with century as a decimal number." msgstr "" #: ../src/ui-pref.c:1591 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1596 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1616 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1620 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1625 msgid "Use _gallon for fuel" msgstr "" #: ../src/ui-pref.c:1649 msgid "Transaction window" msgstr "" #: ../src/ui-pref.c:1661 msgid "_Show future:" msgstr "" #. TRANSLATORS: there is a spinner on the left of this label, and so you have 0....x days in advance the current date #: ../src/ui-pref.c:1670 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1674 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1679 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1684 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1689 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1694 msgid "Show confirmation text" msgstr "" #: ../src/ui-pref.c:1704 msgid "Multiple add" msgstr "" #: ../src/ui-pref.c:1708 msgid "Keep the last date" msgstr "" #: ../src/ui-pref.c:1718 msgid "Memo autocomplete" msgstr "" #: ../src/ui-pref.c:1722 msgid "Active" msgstr "" #: ../src/ui-pref.c:1730 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1781 msgid "_Toolbar:" msgstr "도구 막대(_T):" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1797 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1809 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1813 msgid "Uses custom colors" msgstr "" #: ../src/ui-pref.c:1828 msgid "_Expense:" msgstr "지출(_E):" #: ../src/ui-pref.c:1840 msgid "_Income:" msgstr "수입(_I):" #: ../src/ui-pref.c:1847 msgid "_Warning:" msgstr "경고(_W):" #: ../src/ui-pref.c:1878 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1883 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1898 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:1926 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:1944 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:1969 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:1973 msgid "_Import:" msgstr "들여오기(_I):" #: ../src/ui-pref.c:1992 msgid "_Export:" msgstr "내보내기(_E):" #: ../src/ui-pref.c:2032 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2036 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2041 msgid "Load last opened file" msgstr "최근 연 파일 불러오기" #: ../src/ui-pref.c:2046 msgid "Post pending scheduled transactions" msgstr "게시 대기중인 예정 거래 스케쥴" #: ../src/ui-pref.c:2051 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2062 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2161 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2162 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2183 msgid "Preferences" msgstr "기본 설정" #: ../src/ui-pref.c:2423 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2431 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:704 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-split.c:745 ../src/ui-transaction.c:1319 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:801 msgid "Delete all" msgstr "" #: ../src/ui-split.c:851 msgid "Apply" msgstr "" #: ../src/ui-split.c:855 msgid "Cancel" msgstr "" #: ../src/ui-split.c:863 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:872 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:887 msgid "Sum of splits:" msgstr "" #: ../src/ui-tag.c:557 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:686 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:775 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:735 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:817 msgid "" "Do you want to break the internal transfer ?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:819 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1087 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1091 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1122 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1216 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1218 msgid "_Add" msgstr "추가(_A)" #: ../src/ui-transaction.c:1220 msgid "_Post" msgstr "" #: ../src/ui-transaction.c:1230 msgid "Add transaction" msgstr "거래 추가" #: ../src/ui-transaction.c:1231 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1236 msgid "Inherit transaction" msgstr "상속 거래" #: ../src/ui-transaction.c:1238 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1242 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1244 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1283 ../src/ui-txn-multi.c:469 msgid "_Date:" msgstr "날짜(_D):" #. gtk_widget_set_tooltip_text(widget, _("Date accepted here are:\nday,\nday/month or month/day,\nand complete date into your locale")); #: ../src/ui-transaction.c:1298 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" #: ../src/ui-transaction.c:1307 ../src/ui-txn-multi.c:487 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1357 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1371 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1419 ../src/ui-transaction.c:1440 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1427 ../src/ui-txn-multi.c:567 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1455 ../src/ui-txn-multi.c:583 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1463 ../src/ui-txn-multi.c:599 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1486 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:454 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:621 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:29 msgid "Template" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:65 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:74 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:75 msgid "Include" msgstr "포함" #: ../src/ui-widgets-data.c:76 msgid "Exclude" msgstr "제외" #: ../src/ui-widgets-data.c:86 msgid "(no type)" msgstr "(유형 없음)" #: ../src/ui-widgets-data.c:88 ../src/ui-widgets.c:1177 msgid "Cash" msgstr "현금" #: ../src/ui-widgets-data.c:89 msgid "Asset" msgstr "자산" #: ../src/ui-widgets-data.c:90 ../src/ui-widgets.c:1175 msgid "Credit card" msgstr "신용 카드" #: ../src/ui-widgets-data.c:91 msgid "Liability" msgstr "부채" #: ../src/ui-widgets-data.c:105 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:106 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:109 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:110 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:112 msgid "Last 30 days" msgstr "최근 30일" #: ../src/ui-widgets-data.c:113 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:114 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:115 msgid "Last 12 months" msgstr "최근 12개월" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:118 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:120 msgid "All date" msgstr "모든 날짜" #: ../src/ui-widgets-data.c:131 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:146 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:147 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:148 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:174 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:176 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:178 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:205 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:206 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:207 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:208 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:209 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:210 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:211 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:219 msgid "January" msgstr "1월" #: ../src/ui-widgets-data.c:220 msgid "February" msgstr "2월" #: ../src/ui-widgets-data.c:221 msgid "March" msgstr "3월" #: ../src/ui-widgets-data.c:222 msgid "April" msgstr "4월" #: ../src/ui-widgets-data.c:224 msgid "June" msgstr "6월" #: ../src/ui-widgets-data.c:225 msgid "July" msgstr "7월" #: ../src/ui-widgets-data.c:226 msgid "August" msgstr "8월" #: ../src/ui-widgets-data.c:227 msgid "September" msgstr "9월" #: ../src/ui-widgets-data.c:228 msgid "October" msgstr "10월" #: ../src/ui-widgets-data.c:229 msgid "November" msgstr "11월" #: ../src/ui-widgets-data.c:230 msgid "December" msgstr "12월" #: ../src/ui-widgets-data.c:247 msgid "Sep" msgstr "9월" #: ../src/ui-widgets.c:331 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1176 msgid "Check" msgstr "" #: ../src/ui-widgets.c:1178 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1179 msgid "Debit card" msgstr "" #: ../src/ui-widgets.c:1180 msgid "Standing order" msgstr "" #: ../src/ui-widgets.c:1181 msgid "Electronic payment" msgstr "" #: ../src/ui-widgets.c:1182 msgid "Deposit" msgstr "" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1184 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1185 msgid "Direct Debit" msgstr "" homebank-5.3.2/data/0000775000175000017500000000000013620077506011227 500000000000000homebank-5.3.2/data/Makefile.am0000644000175000017500000000076012505267665013214 00000000000000## Process this file with automake to produce Makefile.in SUBDIRS = datas @INTLTOOL_DESKTOP_RULE@ desktopdir = $(datadir)/applications desktop_in_files = homebank.desktop.in desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) @INTLTOOL_XML_RULE@ appdatadir = $(datadir)/appdata appdata_in_files = homebank.appdata.xml.in appdata_DATA = $(appdata_in_files:.xml.in=.xml) EXTRA_DIST = \ $(desktop_in_files) \ $(appdata_in_files) CLEANFILES = \ $(desktop_DATA) \ $(appdata_DATA) homebank-5.3.2/data/Makefile.in0000664000175000017500000005405013606633327013223 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 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 = : subdir = data ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = homebank.desktop.in 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)$(appdatadir)" "$(DESTDIR)$(desktopdir)" DATA = $(appdata_DATA) $(desktop_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 distdir-am 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 \ $(srcdir)/homebank.desktop.in.in $(top_srcdir)/mkinstalldirs 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@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEPS_CFLAGS = @DEPS_CFLAGS@ DEPS_LIBS = @DEPS_LIBS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ 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@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSOUP_CFLAGS = @LIBSOUP_CFLAGS@ LIBSOUP_LIBS = @LIBSOUP_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ 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@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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 = datas desktopdir = $(datadir)/applications desktop_in_files = homebank.desktop.in desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) appdatadir = $(datadir)/appdata appdata_in_files = homebank.appdata.xml.in appdata_DATA = $(appdata_in_files:.xml.in=.xml) EXTRA_DIST = \ $(desktop_in_files) \ $(appdata_in_files) CLEANFILES = \ $(desktop_DATA) \ $(appdata_DATA) all: all-recursive .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 data/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign 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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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): homebank.desktop.in: $(top_builddir)/config.status $(srcdir)/homebank.desktop.in.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ install-appdataDATA: $(appdata_DATA) @$(NORMAL_INSTALL) @list='$(appdata_DATA)'; test -n "$(appdatadir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(appdatadir)'"; \ $(MKDIR_P) "$(DESTDIR)$(appdatadir)" || 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)$(appdatadir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(appdatadir)" || exit $$?; \ done uninstall-appdataDATA: @$(NORMAL_UNINSTALL) @list='$(appdata_DATA)'; test -n "$(appdatadir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(appdatadir)'; $(am__uninstall_files_from_dir) install-desktopDATA: $(desktop_DATA) @$(NORMAL_INSTALL) @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(desktopdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(desktopdir)" || 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)$(desktopdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(desktopdir)" || exit $$?; \ done uninstall-desktopDATA: @$(NORMAL_UNINSTALL) @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(desktopdir)'; $(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: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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)$(appdatadir)" "$(DESTDIR)$(desktopdir)"; 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: -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 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-appdataDATA install-desktopDATA 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 pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-appdataDATA uninstall-desktopDATA .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic cscopelist-am ctags ctags-am \ distclean distclean-generic distclean-tags distdir dvi dvi-am \ html html-am info info-am install install-am \ install-appdataDATA install-data install-data-am \ install-desktopDATA 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 pdf \ pdf-am ps ps-am tags tags-am uninstall uninstall-am \ uninstall-appdataDATA uninstall-desktopDATA .PRECIOUS: Makefile @INTLTOOL_DESKTOP_RULE@ @INTLTOOL_XML_RULE@ # 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: homebank-5.3.2/data/homebank.desktop.in0000664000175000017500000000047713606633334014744 00000000000000[Desktop Entry] _Name=HomeBank _GenericName=Personal finance _Comment=Free, easy, personal accounting for everyone _Keywords=finance;accounting;budget;personal;money; Exec=homebank %f Terminal=false StartupNotify=true Type=Application Icon=homebank Categories=GNOME;GTK;Office;Finance; MimeType=application/x-homebank; homebank-5.3.2/data/homebank.appdata.xml.in0000664000175000017500000000165012603765621015477 00000000000000 homebank.desktop GPL-2.0+ <_p> HomeBank is a free software (as in "free speech" and also as in "free beer") that will assist you to manage your personal accounting. <_p> It is designed to easy to use and be able to analyse your personal finance in detail using powerful filtering tools and beautiful graphs. <_p> If you are looking for a completely free and easy way to manage your personal accounting then HomeBank should be the software of choice. http://homebank.free.fr/img/homebank-appdata.png http://homebank.free.fr homebank_at_free.fr homebank-5.3.2/data/homebank.desktop.in.in0000644000175000017500000000047712603766713015353 00000000000000[Desktop Entry] _Name=HomeBank _GenericName=Personal finance _Comment=Free, easy, personal accounting for everyone _Keywords=finance;accounting;budget;personal;money; Exec=homebank %f Terminal=false StartupNotify=true Type=Application Icon=homebank Categories=GNOME;GTK;Office;Finance; MimeType=application/x-homebank; homebank-5.3.2/data/datas/0000775000175000017500000000000013620077506012323 500000000000000homebank-5.3.2/data/datas/hb-categories-lt.csv0000664000175000017500000000400512436321407016104 000000000000001;-;Grynųjų pinigų paėmimas 1;-;Automobilis 2;-;Įmoka už automobilį 2;-;Kuras 2;-;Eksploatavimo išlaidos 1;-;Alimentai 2;-;Sumokėtos palūkanos 2;-;Paslaugų mokesčiai 1;-;Paslaugų apmokėjimai 2;-;Mobilusis telefono ryšys 2;-;Fiksuotas (laidinis) telefono ryšys 2;-;Elektra 2;-;Šiukšlės ir perdirbimas 2;-;Televizija (Kabelinė,Palydovinė) 2;-;Sveikatos/sporto klubas 2;-;Namo savininko/bendrijos mokesčiai 2;-;Gamtinės dujos/degalai 2;-;Nuoma 2;-;Vanduo ir nuotekos 1;-;Labdara 1;-;Rūbai 1;-;Valgymai ne namie 1;-;Išsilavinimas 2;-;Knygos 2;-;Mokesčiai 2;-;Mokestis už mokslą 1;-;Pramogos 1;-;Maistas 1;-;Dovanos 1;-;Sveikatos priežiūra 2;-;Dantys 2;-;Akys 2;-;Ligoninė 2;-;Gydytojas 2;-;Vaistai 1;-;Hobi/Laisvalaikis 2;-;Knygos ir žurnalai 2;-;Kultūriniai renginiai 2;-;Pasilinksminimai 2;-;Filmų ir video nuoma 2;-;Sporto renginiai 2;-;Sporting//Sporto prekės 2;-;Muzikos ir vaizdo įrašai 2;-;Žaislai ir žaidimai 1;-;Namų remontas 1;-;Namų ūkis 2;-;Namų apyvoka/baldai 2;-;Namų valymas 2;-;Kiemo paslaugos 1;-;Draudimas 2;-;Automobilis 2;-;Sveikata 2;-;Namų savininko/nuomininko 2;-;Gyvybės 2;-;Negrąžinti pinigai 2;-;Apmokėti pinigai 1;-;Naminių gyvūnų priežiūra 2;-;Pašaras 2;-;Maistas/Atsargos 2;-;Veterinaras 1;-;Mokesčiai 2;-;Pajamų mokestis 2;-;Verslo liudijimo mokestis 2;-;Sveikatos draudimo mokestis 2;-;Kiti mokesčiai 2;-;Nekilnojamojo turto mokesčiai 2;-;Pardavimo mokesčiai 1;-;Kelionės/Atostogos 2;-;Nakvynė/Apgyvendinimas 2;-;Keliavimo išlaidos 2;-;Dovanos/Suvenyrai 1;+;Pajamos/pelnas 1;+;Investavimo pajamos/palūkanos 2;+;Kapitalo prieaugis 2;+;Dividentai 2;+;Palūkanos 2;+;Neapmokestinamosios palūkanos 2;+;Išmokos už vaikus 2;+;Gautos dovanos 2;+;Gauta paskola 2;+;Loterija 2;+;Grąžinti valstybės ir vietiniai mokesčiai 2;+;Bedarbio pašalpa 2;+;Socialinio draudimo išmokos 1;+;Darbo užmokestis ir atlyginimas 2;+;Premijos 2;+;Komandiruotės 2;+;Darbdavio atitikimas 2;+;Darbo užmokestis "ant popieriaus" 2;+;Darbo užmokestis "į rankas" 2;+;Viršvalandžiai homebank-5.3.2/data/datas/Makefile.am0000644000175000017500000000056413441221037014271 00000000000000datasdir = $(datadir)/homebank/datas datas_DATA = \ hb-categories-cy.csv \ hb-categories-de.csv \ hb-categories-en.csv \ hb-categories-es.csv \ hb-categories-fr.csv \ hb-categories-hu.csv \ hb-categories-it.csv \ hb-categories-lt.csv \ hb-categories-pt.csv \ hb-categories-ro.csv \ hb-categories-ru.csv \ hb-categories-sk.csv \ example.xhb EXTRA_DIST = $(datas_DATA) homebank-5.3.2/data/datas/Makefile.in0000664000175000017500000003506513606633327014324 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 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 = : subdir = data/datas ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs 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)$(datasdir)" DATA = $(datas_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEPS_CFLAGS = @DEPS_CFLAGS@ DEPS_LIBS = @DEPS_LIBS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ 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@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSOUP_CFLAGS = @LIBSOUP_CFLAGS@ LIBSOUP_LIBS = @LIBSOUP_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ 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@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ 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_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ datasdir = $(datadir)/homebank/datas datas_DATA = \ hb-categories-cy.csv \ hb-categories-de.csv \ hb-categories-en.csv \ hb-categories-es.csv \ hb-categories-fr.csv \ hb-categories-hu.csv \ hb-categories-it.csv \ hb-categories-lt.csv \ hb-categories-pt.csv \ hb-categories-ro.csv \ hb-categories-ru.csv \ hb-categories-sk.csv \ example.xhb EXTRA_DIST = $(datas_DATA) 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 data/datas/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign data/datas/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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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): install-datasDATA: $(datas_DATA) @$(NORMAL_INSTALL) @list='$(datas_DATA)'; test -n "$(datasdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(datasdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(datasdir)" || 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)$(datasdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(datasdir)" || exit $$?; \ done uninstall-datasDATA: @$(NORMAL_UNINSTALL) @list='$(datas_DATA)'; test -n "$(datasdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(datasdir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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)$(datasdir)"; 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 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-datasDATA 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 pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-datasDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-datasDATA 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 pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am \ uninstall-datasDATA .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: homebank-5.3.2/data/datas/hb-categories-cy.csv0000664000175000017500000000434113311142110016064 000000000000001;-;Alimoni 1;-;Car 2;-;Taliadau Car 2;-;Tanwydd 2;-;Cynnal a Chadw 1;-;Costau Banc 2;-;Llog wedi ei Dalu 2;-;Gosgau Gwasnaeth 1;-;Biliau 2;-;Teledu Lloeren/Cebl 2;-;Ffn T? 2;-;Ffn Symudol 2;-;Trydan 2;-;Sbwriel ac Ailgylchu 2;-;Clwb Iechyd 2;-;Taliadau Perchennog Tai 2;-;Costau Aelodaeth 2;-;Taliadau Morgais 2;-;Olew/Nwy 2;-;Papur Newydd 2;-;Gwasanaeth Rhyngrwyd 2;-;Taliad Benthyciad arall 2;-;Rhent 2;-;Taliadau Benthyciad Myfyriwr 2;-;Ffn 2;-;D?r a Charffosiaeth 1;-;Tynnu Arian 1;-;Rhoddion Elusennol 1;-;Gofal Plant 1;-;Plant/Tegannau 2;-;Cefnogaeth i Blant 2;-;Gofal Dydd Plant 1;-;Dillad 1;-;Taliadau/Trosglwyddiadau Cardiau Credyd 1;-;Bwyta Allan 1;-;Addysg 2;-;Llyfrau 2;-;Fees 2;-;Dysgu Preifat 1;-;Adloniant 1;-;Ffi 1;-;Bwyd 1;-;Rhoddion 1;-;Siopa Bwyd 1;-;Gofal Iechyd 2;-;Deintyddol 2;-;Gofal Llygaid 2;-;Ysbyty 2;-;Meddyg 2;-;Presgriptiynau 1;-;Hobau/Hamdden 2;-;Llyfrau a Chylchgronnau 2;-;Digwyddiadau Diwylliannol 2;-;Diddanu 2;-;Rhentu Ffilmiau a Fideo 2;-;Digwyddiadau Chwaraeon 2;-;Nwyddau Chwaraeon 2;-;Tapiau a CDs 2;-;Tegannau a Gemau 1;-;Gwellainnau ir T? 1;-;Cartref 2;-;Dodrefn 2;-;Glanhaur T? 2;-;Gwasanaetau ir Ardd 1;-;Yswiriant 2;-;Car 2;-;Iechyd 2;-;Perchennog/Rhentu 2;-;Bywyd 1;-;Costau Swydd 2;-;Dim Ad-daliad 2;-;Ad-daliad 1;-;Benthyciad 2;-;Llog Benthyciad 2;-;Llog Morgais Interest 2;-;Llog Benthyciad Myfyriwr 1;-;Amrywiol 1;-;Morgais/Rhent 1;-;Personal Care 1;-;Gofal Anifeiliaid 2;-;Bwyd 2;-;Newyddau 2;-;Fet 1;-;Ffn/Diwifr 1;-;Gwasanaethau/Aelodaeth 1;-;Trethi 2;-;Treth Incwm 2;-;Treth Incwm - Llynedd 2;-;Treth Lleol 2;-;Treth Iechyd 2;-;Trethi Eraill 2;-;Treth T? 2;-;Trethi Gwerthu 2;-;Treth Diogelwch Iechyd 2;-;Treth Incwm Taleithiol 2;-;Taleithiol/Ardal 1;-;Teithio/Gwyliau 2;-;Llety 2;-;Teithio 1;-;Gwasanaethau 1;+;Incwm/Llog 1;+;Incwm Buddsoddiadau 2;+;Enillion Cyfalaf 2;+;Difidendau 2;+;Llog 2;+;Llog Didreth 1;+;Nnid Cost 1;+;Incwm Arall 2;+;Arian Plant Wedi ei Dderbyn 2;+;Dewis Stoc Cyflogedig 2;+;Rhoddion wedi eu Derbyn 2;+;Bethyciad Wedi ei Dderbyn 2;+;Loteri 2;+;Ad-daliad Treth 2;+;AD-daliad Diweithdra 1;+;Incwm Ymddeoliad 2;+;Dosbarthiad IRA 2;+;Pensiwn a Blwydd Daliadau 2;+;Budd-daliadau 1;+;Cyflog 2;+;Bonws 2;+;Commisiwn 2;+;Tl Cyfartal Cyflogwr 2;+;Cyflog Gros 2;+;Cyflog Net 2;+;Goramser homebank-5.3.2/data/datas/hb-categories-fr.csv0000646000175000017500000000522711374317651016111 000000000000001;-;Abonnement/factures 2;-;Assurance habitation 2;-;Charges 2;-;Chauffage 2;-;Eau 2;-;Électricité 2;-;Internet 2;-;Loyer 2;-;Ménage 2;-;Portable 2;-;Remb. crédit conso 2;-;Remb. prêt immobilier 2;-;Salarié à domicile 2;-;Service d'entretien 2;-;Téléphone 2;-;TV/Câble 1;-;Alimentation 2;-;Café/bar 2;-;Épicerie 2;-;Restaurant 1;-;Animaux domestiques 2;-;Alimentation 2;-;Fournitures diverses 2;-;Frais de garde 2;-;Vétérinaire 1;-;Auto/moto 2;-;Accessoires 2;-;Assurance Auto/moto 2;-;Carburant 2;-;Entretien/réparations 2;-;Parking/péage 2;-;Remb. de prêt 1;-;Divers 2;-;Cadeaux 2;-;Dons caritatifs 2;-;Responsabilité civile 2;-;Retrait d'espèces 1;-;Enfants 2;-;Activité sportive/culturelle 2;-;Assurance scolaire 2;-;Frais de cantine 2;-;Frais de garde 2;-;Frais de scolarité 2;-;Frais divers 2;-;Remb. prêt étudiant 1;-;Épargne 2;-;Assurancevie 2;-;Livrets/Divers 1;-;Équipement du logement 2;-;Ameublement 2;-;Bricolage / Outils 2;-;Électroménager 2;-;Jardinage 2;-;Ordinateur et accessoires 2;-;Remb. de crédit équipement 2;-;Télévision et accessoires 2;-;Travaux / Décoration 1;-;Frais bancaires 2;-;Agios 2;-;Carte de paiement/de crédit 2;-;Frais divers 2;-;Intérêts versés 2;-;Services / Abonnement 1;-;Frais professionnels 2;-;Non remboursés 2;-;Remboursés 1;-;Habillement 2;-;Accessoires 2;-;Chaussures 2;-;Vêtements 1;-;Impôts 2;-;Autres impôts 2;-;Cotisations Sécurité sociale 2;-;Impôts locaux 2;-;Impôts sur le revenu 2;-;Impôts sur le revenuAnnée préc. 1;-;Loisirs/culture/sport 2;-;Activité sportive 2;-;Articles de sport 2;-;Achat CD/DVD 2;-;Cinéma/spectacle 2;-;Jeux 2;-;Journaux 2;-;Livres 2;-;Location DVD 2;-;Manifestation sportives 2;-;Musées/expositions 1;-;Santé 2;-;Complémentaire santé 2;-;Dentiste 2;-;Hôpital 2;-;Kinésithérapeute 2;-;Médecin 2;-;Oculiste 2;-;Pharmacie 1;-;Soin de la personne 2;-;Coiffeur/esthéticienne 2;-;Thalasso/remise en forme 1;-;Transport 2;-;Avion 2;-;Métro/Bus/Train 2;-;Taxis 1;-;Vacances 2;-;Alimentation/restaurant 2;-;Assurance voyage 2;-;Divers 2;-;Excursion/visite 2;-;Location de voiture 2;-;Logement 2;-;Séjours 2;-;Voyage 1;+;Autres revenus 2;+;Accident du travail 2;+;Allocations de chômage 2;+;Allocations familiales 2;+;Capital de prêt reçu 2;+;Crédit d'impôts 2;+;Dons et cadeaux 2;+;Héritage 2;+;Jeux 2;+;Option d'achat d'actions 1;+;Placements 2;+;Dividendes 2;+;Intérêts 2;+;Plusvalues 2;+;Plusvalues immobilières 2;+;Revenus locatifs 1;+;Retraite 2;+;Pensions 2;+;Régime général 2;+;Retraite complémentaire 1;+;Traitements et salaires 2;+;Commissions 2;+;Contributions employeur 2;+;Heures supplémentaires 2;+;Primes diverses 2;+;Primes résultat 2;+;Salaire net homebank-5.3.2/data/datas/example.xhb0000664000175000017500000003265013573217742014414 00000000000000 homebank-5.3.2/data/datas/hb-categories-pt.csv0000644000175000017500000000526411374317671016126 000000000000001;-;Pensão de alimentos 1;-;Automóvel 2;-;Pagamento de carro 2;-;Gasoline 2;-;Manutenção 1;-;Os encargos bancários 2;-;Juros pagos 2;-;Taxa de Serviço 1;-;Notas 2;-;TV a cabo / satélite 2;-;Celular 2;-;Celular 2;-;Electricidade 2;-;Lixo e Reciclagem 2;-;Health Club 2;-;Dues Home-proprietário 2;-;Taxas de Associação 2;-;Pagamento de Hipoteca 2;-;Gás Natural / Óleo 2;-;Diário 2;-;Serviço de On-line/Internet 2;-;O pagamento do empréstimo Outros 2;-;Rent 2;-;O pagamento do empréstimo de estudante 2;-;Telefone 2;-;Água e Esgoto 1;-;Retirar Dinheiro 1;-;Doações 1;-;Childcare 1;-;Crianças / brinquedos 2;-;Apoio à Criança 2;-;Creche 1;-;Vestuário 1;-;Pagamentos com cartão de crédito / Transfers 1;-;Dining Out 1;-;Educação 2;-;Livros 2;-;Taxas 2;-;Mensalidades 1;-;Diversão 1;-;Honorários 1;-;Comida 1;-;Presentes 1;-;Mercearia 1;-;Cuidados de saúde 2;-;Dental 2;-;Eye de cuidados 2;-;Hospital 2;-;Médico 2;-;Prescrição 1;-;Hobbies e Lazer 2;-;Livros e Revistas 2;-;Eventos Culturais 2;-;Entertaining 2;-;Cinema e Video Rentals 2;-;Eventos Esportivos 2;-;Esporte e Lazer 2;-;Tapes & CDs 2;-;Brinquedos e Games 1;-;Home Improvement 1;-;Casa 2;-;Mobiliário 2;-;Lavagem House 2;-;Serviço de Quintal 1;-;Seguro 2;-;Automobile 2;-;Saúde 2;-;Home-proprietário / locatário do 2;-;Life 1;-;Trabalho Despesa 2;-;Não reembolsáveis 2;-;Reembolso 1;-;Empréstimo 2;-;Juros de empréstimos 2;-;Interesse Mortgage 2;-;Juros do empréstimo de estudante 1;-;Variado 1;-;Mortgage / Rent 1;-;Cuidados Pessoais 1;-;Pet Care 2;-;Alimentos 2;-;Suprimentos 2;-;Veterinário 1;-;Telefone / Wireless 1;-;Serviços / Associações 1;-;Impostos 2;-;Imposto de Renda Federal 2;-;Ano Receita Federal Tax-Anterior 2;-;Imposto de Renda Local 2;-;Imposto sobre Medicare 2;-;Outros Impostos 2;-;Real Estate Impostos 2;-;Imposto sobre Vendas 2;-;Imposto de Segurança Social 2;-;Imposto de Renda Estado 2;-;Estadual / municipal 1;-;Viagens de férias / 2;-;Hospedagem 2;-;Viagem 1;-;Utilitários 1;+;Renda / Juros 1;+;Rendimento de Investimento 2;+;Ganhos de Capital 2;+;Dividendos 2;+;Juros 2;+;Interesse tax-exempt 1;+;Não é uma despesa 1;+;Outras receitas 2;+;Apoio à Criança Recebido 2;+;Employee Stock Option 2;+;Dons recebidos 2;+;Principal empréstimo recebido 2;+;Loterias 2;+;Restituição Imposto Estadual e Municipal 2;+;Compensação de desemprego 1;+;Renda de aposentadoria 2;+;Distribuição IRA 2;+;Pensões e Anuidades 2;+;Benefícios Sociais Segurança 1;+;Salário e Salário 2;+;Bonus 2;+;Comissão 2;+;Correspondência de Empregador 2;+;Remuneração Bruta 2;+;Net Pay 2;+;Overtime homebank-5.3.2/data/datas/hb-categories-ru.csv0000644000175000017500000001121512532111546016110 000000000000001;-;Автомобили и мотоциклы 2;-;Выплаты по кредиту 2;-;Принадлежности 2;-;Стоянка и дорожный налог 2;-;Страхование 2;-;Техническое обслуживание 2;-;Топливо 1;-;Банковские расходы 2;-;Банковские начисления 2;-;Банковское обслуживание 2;-;Выплаченные проценты 2;-;Платежи по картам и кредитам 2;-;Различные расходы 1;-;Бытовые принадлежности 2;-;Мебель 2;-;Работы и инструменты 2;-;Электроприборы 1;-;Дети 2;-;Выплаты по кредиту на обучение 2;-;Детский сад и услуги няни 2;-;Оплата обучения 2;-;Питание в столовой 2;-;Различные расходы 2;-;Спортивная и культурная деятельность 2;-;Страхование 1;-;Домашние животные 2;-;Ветеринарные услуги 2;-;Корма 2;-;Различные расходы 1;-;Здоровье 2;-;Больница 2;-;Врачебные услуги 2;-;Добровольное медицинское страхование 2;-;Лекарства 2;-;Массаж 2;-;Офтальмология 2;-;Стоматология 1;-;Личная гигиена 2;-;Парикмахерская и косметология 2;-;Фитнесс и SPA 1;-;Налоги и сборы 2;-;Другие налоги 2;-;Местные налоги 2;-;Налог на имущество 2;-;Подоходный налог 2;-;Подоходный налог за прошлый год 2;-;Социальное страхование 1;-;Одежда 2;-;Аксессуары 2;-;Обувь 2;-;Спецодежда и обмундирование 1;-;Отдых, культура и спорт 2;-;Видеопрокат 2;-;Газеты и журналы 2;-;Игры 2;-;Кино и театр 2;-;Книги 2;-;Музеи и выставки 2;-;Покупка CD и DVD 2;-;Спортивная деятельность 2;-;Спортивные мероприятия 2;-;Спортивные товары 1;-;Отпуск и путешествия 2;-;Жильё 2;-;Питание 2;-;Проезд 2;-;Прокат автомобиля 2;-;Различные расходы 2;-;Страхование 2;-;Экскурсии 1;-;Питание 2;-;Бакалейные товары 2;-;Кафе и бары 2;-;Рестораны 1;-;Подписки и счета 2;-;Арендная плата 2;-;Водоснабжение 2;-;Выплаты по ипотечному кредиту 2;-;Выплаты по потребительскому кредиту 2;-;Домашнее хозяйство 2;-;Интернет 2;-;Кабельное и спутниковое телевидение 2;-;Мобильная связь 2;-;Отопление 2;-;Страхование жилья 2;-;Текущий ремонт 2;-;Телефон 2;-;Эксплуатационные затраты 2;-;Электричество 1;-;Разное 2;-;Благотворительные пожертвования 2;-;Гражданская ответственность 2;-;Подарки 2;-;Снятие наличных 1;-;Сбережения 2;-;Вклады и прочее 2;-;Страхование жизни 1;-;Служебные расходы 2;-;Возмещаемые 2;-;Невозмещаемые 1;-;Транспорт 2;-;Метро, автобусы 2;-;Поезда 2;-;Самолёты 2;-;Такси 1;+;Другие доходы 2;+;Выигрыши 2;+;Налоговый кредит 2;+;Наследство 2;+;Опцион на акции 2;+;Полученные подарки 2;+;Пособие по безработице 2;+;Производственная травма 2;+;Семейное пособие 2;+;Ссудный капитал 1;+;Жалование и заработная плата 2;+;Выплаты работодателя 2;+;Комиссионное вознаграждение 2;+;Начисленная сумма 2;+;Плата за сверхурочную работу 2;+;Различные надбавки 2;+;Сумма к выплате 1;+;Инвестиции 2;+;Дивиденды 2;+;Доход от сдачи жилья в аренду 2;+;Повышение стоимости недвижимости 2;+;Прирост капитала 2;+;Проценты 1;+;Пенсия 2;+;Дополнительные выплаты 2;+;Пенсия по возрасту 2;+;Социальные пособия homebank-5.3.2/data/datas/hb-categories-it.csv0000644000175000017500000000527611374317662016122 000000000000001;-;Alimenti 1;-;Automobile 2;-;Auto di pagamento 2;-;Benzina 2;-;Manutenzione 1;-;Le spese bancarie 2;-;Interessi pagamento 2;-;Servizio di carica 1;-;Banconote 2;-;Cavo / Satellite Television 2;-;Cell Phone 2;-;Cellular 2;-;Elettricità 2;-;Rifiuti e riciclaggio 2;-;Health Club 2;-;Home-proprietario Quote 2;-;Quota di Adesione 2;-;Ipoteca di pagamento 2;-;Gas naturale / olio 2;-;Giornale 2;-;Servizio On-line/Internet 2;-;Pagamento altro prestito 2;-;Affitto 2;-;Studente prestito di pagamento 2;-;Telefono 2;-;Acqua e fogna 1;-;Prelievo di contanti 1;-;Donazioni di beneficenza 1;-;Childcare 1;-;I bambini / Giocattoli 2;-;Child Support 2;-;Asilo 1;-;Abbigliamento 1;-;Pagamenti con carta di credito / Trasferimenti 1;-;Dining Out 1;-;Istruzione 2;-;Libri 2;-;Tasse 2;-;Tasse scolastiche 1;-;Divertimento 1;-;Tasse 1;-;Cibo 1;-;Regali 1;-;Alimentari 1;-;Di assistenza sanitaria 2;-;Dental 2;-;Eye-care 2;-;Ospedale 2;-;Medico 2;-;Prescrizioni 1;-;Hobby / tempo libero 2;-;Libri e Riviste 2;-;Eventi Culturali 2;-;Divertente 2;-;Film e video Affitti 2;-;Manifestazioni Sportive 2;-;Sporting Goods 2;-;Nastri e CD 2;-;Giocattoli e giochi 1;-;Home Improvement 1;-;Famiglia 2;-;Arredamento 2;-;La pulizia della casa 2;-;Cantiere di servizio 1;-;Assicurazione 2;-;Automobile 2;-;Salute 2;-;Home-proprietario / Renter 2;-;Life 1;-;Job Expense 2;-;Non rimborsabili 2;-;Rimborsati 1;-;Prestito 2;-;Prestito senza interessi 2;-;Interessi ipotecari 2;-;Studente di interessi sui prestiti 1;-;Varie 1;-;Ipoteca / Affitto 1;-;Personal Care 1;-;Pet Care 2;-;Cibo 2;-;Forniture 2;-;Veterinario 1;-;Telefono / Wireless 1;-;Servizi / Associazioni 1;-;Tasse 2;-;Imposta federale sul reddito 2;-;Anno federale sul reddito fiscale precedente 2;-;Imposta locale sui redditi 2;-;Tassa di Medicare 2;-;Altre imposte 2;-;Tasse Immobiliari 2;-;Tasse di vendita 2;-;Tassa di sicurezza sociale 2;-;Stato di imposta sul reddito 2;-;Stato / Provincia 1;-;Viaggi / Vacanze 2;-;Alloggio 2;-;Viaggi 1;-;Utilità 1;+;Reddito / Interessi 1;+;Redditi da capitale 2;+;Utili di capitale 2;+;Dividendi 2;+;Interessi 2;+;Interessi di esenzione fiscale 1;+;Non è una spesa 1;+;Altri proventi 2;+;Supporto bambino ha ricevuto 2;+;Dipendente di Stock Option 2;+;Doni ricevuti 2;+;Principali prestito ricevuto 2;+;Lotterie 2;+;Stato e locali Tax Refund 2;+;Disoccupazione Compensazione 1;+;Redditi da pensione 2;+;Distribuzione IRA 2;+;Pensioni e vitalizi 2;+;Le prestazioni di sicurezza sociale 1;+;Salario e stipendio 2;+;Bonus 2;+;Commissione 2;+;Datore di lavoro di corrispondenza 2;+;Retribuzione lorda 2;+;La retribuzione netta 2;+;Lavoro straordinario homebank-5.3.2/data/datas/hb-categories-hu.csv0000664000175000017500000000534613436221666016121 000000000000001;-;Adók 2;-;Illetékek 2;-;Kommunális adó 2;-;Telekadó 2;-;Építményadó 1;-;Közlekedés, gépjárművek 2;-;Bérlet 2;-;Jegy 2;-;Üzemanyag 2;-;Parkolás 2;-;Autópálya-matrica 2;-;Súlyadó 2;-;KGFB, Casco 2;-;Műszaki vizsga 2;-;Szerviz 2;-;Autóápolás 1;-;Banki ügyek 2;-;Szolgáltatási díj 2;-;Kártyadíjak 2;-;Kamatfizetés 2;-;Életbiztosítás 2;-;Kötvények 2;-;Babakötvény 2;-;Nyugdíjpénztár 2;-;Megtakarítások 2;-;Részvények, állampapírok 2;-;Lekötött betétek 2;-;Lakástakarék 2;-;Befektetések 1;-;Hitel 2;-;Hitelkártya 2;-;Áruvásárlási hitel 2;-;Lakáshitel 2;-;Diákhitel 2;-;Jelzáloghitel 2;-;Lízing 2;-;Személyi kölcsön 1;-;Kommunikáció 2;-;Telefon 2;-;Mobil 2;-;Internet 2;-;TV 2;-;Újság 1;-;Ház, lakás 2;-;Lakbér 2;-;Bútorok 2;-;Háztartási textilek 2;-;Berendezési tárgyak 2;-;Elektronikai cikkek 2;-;Konyhai eszközök 2;-;Otthonbiztosítás 2;-;Felújítás 1;-;Háztartás, rezsi 2;-;Közös költség 2;-;Szemétszállítás 2;-;Víz- és csatornadíj 2;-;Földgáz vagy olaj 2;-;Áram 2;-;Fűtés 2;-;Távhő 2;-;Tűzifa 2;-;Takarítószerek 2;-;Bejárónő 1;-;Gyerekek 2;-;Játékok 2;-;Óvodai csoportpénz 2;-;Osztálypénz 2;-;Zsebpénz 2;-;Közétkeztetés 2;-;Bébiszitter 2;-;Tartásdíj 1;-;Közösség 2;-;Tagdíj 2;-;Klubtagság 1;-;Szórakozás és kultúra 2;-;Hobbi 2;-;Utazás 2;-;Szállás 2;-;Nyaralás 2;-;Belépők 2;-;Kulturális események 2;-;Mozi 2;-;Színház, hangversenyek, opera 2;-;Sportesemények 2;-;Étterem, cukrászda 1;-;Sport 2;-;Bérletek, tagsági díjak 2;-;Sportcikkek 2;-;Sportruházat 1;-;Ruházat 2;-;Napi ruházat 2;-;Alkalmi öltözet 2;-;Évszakfüggő ruházat 2;-;Munkaruházat 2;-;Cipő 1;-;Testápolás 2;-;Higiéniai cikkek 2;-;Testápolási cikkek 2;-;Kozmetikumok 2;-;Szépségszalon 1;-;Egészség 2;-;Magánorvos 2;-;Magánkórház 2;-;Gyógyszerek 2;-;Fogászat 2;-;Optikus 1;-;Tanulás 2;-;Tanszerek 2;-;Tandíj 2;-;Tanfolyamdíjak 2;-;Különórák 2;-;Könyvek 1;-;Étkezés 2;-;Élelmiszer-vásárlás 2;-;Menza 2;-;Nasi és italok 2;-;Élvezeti cikkek 1;-;Adományok és ajándékok 2;-;Jótékonysági adomány 2;-;Havi rendszeres adakozás 2;-;Ajándékok 2;-;Tized 1;-;Állattartás, kedvencek 2;-;Állatorvos 2;-;Eledel 2;-;Alom 1;+;Munkáltatás 2;+;Fizetés 2;+;Béren kívüli juttatás 2;+;Bónusz 2;+;Jutalom 2;+;Cafeteria 1;+;Állami és önkormányzati juttatások 2;+;Önkormányzati segély 2;+;Munkanélküli segély 2;+;Segély 2;+;Családi pótlék 2;+;Anyasági támogatás 2;+;CSED 2;+;GYED 2;+;GYES 2;+;Gyermeknevelési támogatás 2;+;Táppénz 2;+;Nyugdíj 1;+;Ajándékok 1;+;Családi támogatások 2;+;Szülői támogatás 2;+;Tartásdíj 1;+;Ösztöndíj 1;+;Befektetési nyereségek 2;+;Osztalék 2;+;Jutalék 2;+;Bérleti díj homebank-5.3.2/data/datas/hb-categories-sk.csv0000644000175000017500000000440011422643175016102 000000000000001;-;Alimenty 1;-;Automobil 2;-;Náklady na auto 2;-;Benzín 2;-;Údržba 1;-;Bankové poplatky 2;-;Splátky úroku 2;-;Poplatky za služby 1;-;Účty 2;-;Káblová/satelitná televízia 2;-;Mobil 2;-;Elektrina 2;-;Odpad & recyklácia 2;-;Klub zdravia 2;-;Poplatky majiteľovi domu 2;-;Členské poplatky 2;-;Splátka hypotéky 2;-;Olej/benzín natural 2;-;Noviny 2;-;Internet 2;-;Splátka inej pôžičky 2;-;Nájomné 2;-;Splátka študentskej pôžičky 2;-;Telefón 2;-;Vodné a stočné 1;-;Výber hotovosti 1;-;Príspevok na charitu 1;-;Starostlivosť o dieťa 1;-;Deti/hračky 2;-;Vreckové pre deti 2;-;Detské jasle 1;-;Oblečenie 1;-;Platby kreditnou kartou/Transfery 1;-;Reštaurácia/bar 1;-;Vzdelanie 2;-;Knihy 2;-;Poplatky 2;-;Školné 1;-;Zábava 1;-;Poplatky 1;-;Jedlo 1;-;Dary 1;-;Potraviny 1;-;Starostlivosť o zdravie 2;-;Zubár 2;-;Očný lekár 2;-;Nemocnica 2;-;Lekár 2;-;Lieky na predpis 1;-;Hobby/voľný čas 2;-;Knihy a časopisy 2;-;Kultúrne podujatia 2;-;Zabávanie 2;-;Požičovňa videí 2;-;Športové podujaria 2;-;Športové potreby 2;-;Pásky & disky CD 2;-;Hračky & hry 1;-;Domáci majster 1;-;Domácnosť 2;-;Nábytok 2;-;Čistiace prostriedky 2;-;Starostlivosť o záhradu/predzáhradku 1;-;Poistenie 2;-;Automobil 2;-;Životné 2;-;Nehnuteľnosti 2;-;Úrazové 1;-;Pracovné náklady 2;-;Bez refundácie 2;-;S refundáciou 1;-;Pôžička 2;-;Úrok pôžičky 2;-;Úrok hypotéky 2;-;Úrok študentskej pôžičky 1;-;Rozličné 1;-;Hypotéka/nájomné 1;-;Osobná hygiena 1;-;Starostlivosť o zviera 2;-;Jedlo 2;-;Hračky 2;-;Veterinár 1;-;Telefón/Bezdrátový 1;-;Služby/členské 1;-;Dane 2;-;Daň z príjmu 2;-;Daň z príjmu - predchádzajúci rok 2;-;Iné dane 2;-;Daň z nehnuteľnosti 2;-;Miestna daň 1;-;Cestovanie/dovolenka 2;-;Ubytovanie 2;-;Cestovanie 1;-;Pomôcky 1;+;Príjem/Úrok 1;+;Príjem z investície 2;+;Zisky z kapitálu 2;+;Dividendy 2;+;Úrok 2;+;Úrok nepodliehajúci zdaneniu 1;+;Nie výdavok 1;+;Iný príjem 2;+;Prijatá podpora na dieťa 2;+;Zamestnanecká akciová opcia 2;+;Prijaté dary 2;+;Prijatá istina 2;+;Lotéria 2;+;Vrátanie dane 2;+;Podpora v nezamestnanosti 1;+;Prijatý dôchodok 2;+;Mimoriadna odmena za služby 1;+;Plat & mzda 2;+;Bonus 2;+;Provízia 2;+;Hrubá mzda 2;+;Čistý príjem 2;+;Nadčas 2;+;Odstupné homebank-5.3.2/data/datas/hb-categories-es.csv0000644000175000017500000000557211425013520016073 000000000000001;-;Pensión alimenticia 1;-;Automóvil 2;-;Pago de Automóvil 2;-;Gasolina 2;-;Mantenimiento 1;-;Cargos del Banco 2;-;Interés Pagado 2;-;Servicio de carga 1;-;Billetes 2;-;Cable / Televisión por satélite 2;-;Cell Phone 2;-;Celular 2;-;Electricidad 2;-;Basura y Reciclaje 2;-;Health Club 2;-;Inicio-propietario de Cuotas 2;-;Cuotas de Afiliación 2;-;Hipoteca de Pago 2;-;Gas Natural / Gas 2;-;Periódico 2;-;Servicio de On-line/Internet 2;-;El pago del préstamo Otros 2;-;Alquiler 2;-;Pago de Préstamo Estudiantil 2;-;Teléfono 2;-;Agua y Alcantarillado 1;-;Retiro de efectivo 1;-;Donaciones caritativas 1;-;Cuidado de niños 1;-;Los niños / Juguetes 2;-;Manutención de Niños 2;-;Guardería 1;-;Ropa 1;-;Pagos con tarjeta de crédito / Transferencias 1;-;Comer fuera 1;-;Educación 2;-;Libros 2;-;Honorarios 2;-;Matrícula 1;-;Entretenimiento 1;-;Tasas 1;-;Comida 1;-;Regalos 1;-;Comestibles 1;-;Atención de la salud 2;-;Dental 2;-;De atención oftálmica 2;-;Hospital 2;-;Médico 2;-;Prescripciones 1;-;Aficiones / Ocio 2;-;Libros y Revistas 2;-;Eventos culturales 2;-;Entretenido 2;-;Cine y Video de Alquiler 2;-;Eventos Deportivos 2;-;Artículos Deportivos 2;-;Cintas y CDs 2;-;Juguetes y juegos 1;-;Mejoras para el hogar 1;-;Casa 2;-;Muebles 2;-;Limpieza de Casas 2;-;Patio de servicio 1;-;Seguro 2;-;Automóvil 2;-;Salud 2;-;Inicio-propietario / arrendatario 2;-;La vida 1;-;Empleo de gastos 2;-;No Reembolso 2;-;Reembolso 1;-;Préstamo 2;-;Préstamos de Interés 2;-;Hipoteca de Interés 2;-;Interés de préstamos estudiantiles 1;-;Misceláneo 1;-;Hipoteca / Alquiler 1;-;Cuidado Personal 1;-;Cuidado de Mascotas 2;-;Alimentación 2;-;Suministros 2;-;Médico Veterinario 1;-;Teléfono / Wireless 1;-;Servicios / Asociaciones 1;-;Impuestos 2;-;Impuesto sobre la Renta Federal 2;-;Año de impuestos sobre la renta federal anterior 2;-;Impuesto sobre la Renta Local 2;-;Impuesto sobre Medicare 2;-;Otros Impuestos 2;-;Impuestos sobre bienes raíces 2;-;Impuesto a las Ventas 2;-;Impuesto de la Seguridad Social 2;-;Estado Impuesto a la Renta 2;-;Estado / Provincia 1;-;Agencia de viajes / vacaciones 2;-;Alojamiento 2;-;Viajes 1;-;Utilidades 1;+;Ingresos / Interés 1;+;Ingresos por inversiones 2;+;Ganancias de Capital 2;+;Dividendos 2;+;Interés 2;+;Intereses exentos de impuestos 1;+;No un gasto 1;+;Otros Ingresos 2;+;Mantenimiento de hijos recibido 2;+;Empleado de Opciones sobre Acciones 2;+;Recibidos 2;+;Director del préstamo recibido 2;+;Loterías 2;+;Departamental y Local Devolución de impuestos 2;+;Compensación por Desempleo 1;+;Ingresos de Jubilación 2;+;Distribución del IRA 2;+;Las pensiones y anualidades 2;+;Beneficios del Seguro Social 1;+;Salarios y sueldos 2;+;Bono 2;+;Comisión 2;+;El empleador concordantes 2;+;Ingreso Bruto 2;+;Salario neto 2;+;Horas extraordinarias homebank-5.3.2/data/datas/hb-categories-en.csv0000644000175000017500000000430211367354455016100 000000000000001;-;Alimony 1;-;Automobile 2;-;Car Payment 2;-;Gasoline 2;-;Maintenance 1;-;Bank Charges 2;-;Interest Paid 2;-;Service charge 1;-;Bills 2;-;Cable/Satellite Television 2;-;Cell Phone 2;-;Cellular 2;-;Electricity 2;-;Garbage & Recycle 2;-;Health Club 2;-;Home-owner's Dues 2;-;Membership Fees 2;-;Mortgage Payment 2;-;Natural Gas/Oil 2;-;Newspaper 2;-;On-line/Internet Service 2;-;Other Loan Payment 2;-;Rent 2;-;Student Loan Payment 2;-;Telephone 2;-;Water & Sewer 1;-;Cash Withdrawal 1;-;Charitable Donations 1;-;Childcare 1;-;Children/Toys 2;-;Child Support 2;-;Daycare 1;-;Clothing 1;-;Credit Card Payments/Transfers 1;-;Dining Out 1;-;Education 2;-;Books 2;-;Fees 2;-;Tuition 1;-;Entertainment 1;-;Fees 1;-;Food 1;-;Gifts 1;-;Groceries 1;-;Health-care 2;-;Dental 2;-;Eye-care 2;-;Hospital 2;-;Physician 2;-;Prescriptions 1;-;Hobbies/Leisure 2;-;Books & Magazines 2;-;Cultural Events 2;-;Entertaining 2;-;Movies & Video Rentals 2;-;Sporting Events 2;-;Sporting Goods 2;-;Tapes & CDs 2;-;Toys & Games 1;-;Home Improvement 1;-;Household 2;-;Furnishing 2;-;House Cleaning 2;-;Yard Service 1;-;Insurance 2;-;Automobile 2;-;Health 2;-;Home-owner's/Renter's 2;-;Life 1;-;Job Expense 2;-;Non-Reimbursed 2;-;Reimbursed 1;-;Loan 2;-;Loan Interest 2;-;Mortgage Interest 2;-;Student Loan Interest 1;-;Miscellaneous 1;-;Mortgage/Rent 1;-;Personal Care 1;-;Pet Care 2;-;Food 2;-;Supplies 2;-;Veterinarian 1;-;Phone/Wireless 1;-;Services/Memberships 1;-;Taxes 2;-;Federal Income Tax 2;-;Federal Income Tax-Previous Year 2;-;Local Income Tax 2;-;Medicare tax 2;-;Other Taxes 2;-;Real Estate Taxes 2;-;Sales Tax 2;-;Social Security Tax 2;-;State Income Tax 2;-;State/Provincial 1;-;Travel/Vacation 2;-;Lodging 2;-;Travel 1;-;Utilities 1;+;Income/Interest 1;+;Investment Income 2;+;Capital Gains 2;+;Dividends 2;+;Interest 2;+;Tax-Exempt Interest 1;+;Not an Expense 1;+;Other Income 2;+;Child Support Received 2;+;Employee Stock Option 2;+;Gifts Received 2;+;Loan Principal Received 2;+;Lotteries 2;+;State & Local Tax Refund 2;+;Unemployment Compensation 1;+;Retirement Income 2;+;IRA Distribution 2;+;Pensions & Annuities 2;+;Social Security Benefits 1;+;Wage & Salary 2;+;Bonus 2;+;Commission 2;+;Employer Matching 2;+;Gross Pay 2;+;Net Pay 2;+;Overtime homebank-5.3.2/data/datas/hb-categories-de.csv0000644000175000017500000000466011374317625016071 000000000000001;-;Alimente 1;-;Automobil 2;-;Auto-Payment 2;-;Benzin 2;-;Wartung 1;-;Bankgebühren 2;-;Gezahlte Zinsen 2;-;Service kostenlos 1;-;Bills 2;-;Kabel / Satelliten-Fernsehen 2;-;Cell Phone 2;-;Cellular 2;-;Elektrizität 2;-;Garbage & Recycle 2;-;Fitnessraum 2;-;Home-owner's Dues 2;-;Mitgliedsbeiträge 2;-;Mortgage Payment 2;-;Natural Gas / Öl 2;-;Zeitung 2;-;On-line/Internet Service 2;-;Andere Loan Payment 2;-;Miete 2;-;Student Loan Payment 2;-;Telefon 2;-;Wasser & Abwasser 1;-;Bargeldauszahlung 1;-;Spenden 1;-;Kinderbetreuung 1;-;Kinder / Spielzeug 2;-;Child Support 2;-;Kindertagesstätte 1;-;Kleidung 1;-;Zahlungen mit Kreditkarte / Transfers 1;-;Dining Out 1;-;Bildung 2;-;Bücher 2;-;Gebühren 2;-;Studiengebühren 1;-;Unterhaltung 1;-;Gebühren 1;-;Lebensmittel 1;-;Geschenke 1;-;Lebensmittel 1;-;Health-care 2;-;Dental 2;-;Eye-Care 2;-;Krankenhaus 2;-;Physician 2;-;Rezepte 1;-;Hobbies / Freizeit 2;-;Bücher & Zeitschriften 2;-;Kulturelle Veranstaltungen 2;-;Entertaining 2;-;Film & Video Rentals 2;-;Sporting Club 2;-;Sporting Goods 2;-;Tapes & CDs 2;-;Spielzeug 1;-;Home Improvement 1;-;Haushalt 2;-;Möblierung 2;-;House Cleaning 2;-;Yard Service 1;-;Versicherung 2;-;Automobile 2;-;Gesundheit 2;-;Home-Eigentümers / Mieters 2;-;Life 1;-;Job Expense 2;-;Nicht erstattete 2;-;Erstattet, 1;-;Darlehen 2;-;Darlehenszinsen 2;-;Hypotheken-Zinsen 2;-;Student Loan Interest 1;-;Verschiedenes 1;-;Mortgage / Miete 1;-;Körperpflege 1;-;Pet Care 2;-;Essen 2;-;Supplies 2;-;Tierarzt 1;-;Telefon / Wireless 1;-;Services / Mitgliedschaften 1;-;Steuern 2;-;Bundessteuer 2;-;Bundessteuer-Jahr zurück 2;-;Local Income Tax 2;-;Medicare Steuern 2;-;Sonstige Steuern 2;-;Real Estate Steuern 2;-;Sales Tax 2;-;Social Security Tax 2;-;State Income Tax 2;-;Staat / Provinz 1;-;Reisen / Urlaub 2;-;Freie 2;-;Reise 1;-;Utilities 1;+;Erträge / Zinsen 1;+;Vermögenseinkommen 2;+;Capital Gains 2;+;Dividenden 2;+;Zinsen 2;+;Steuerfreie Zinsen 1;+;Keine Ausgabe 1;+;Sonstige Erträge 2;+;Child Support erhalten 2;+;Employee Stock Option 2;+;Geschenke erhalten 2;+;Loan Principal Received 2;+;Lotterien 2;+;State & Local Tax Refund 2;+;Arbeitslosengeld 1;+;Alterseinkünftegesetz 2;+;IRA Distribution 2;+;Pensions & Annuities 2;+;Social Security Benefits 1;+;Lohn & Gehalt 2;+;Bonus 2;+;Kommission 2;+;Employer Passende 2;+;Brutto-Pay 2;+;Net Pay 2;+;Überstunden homebank-5.3.2/data/datas/hb-categories-ro.csv0000644000175000017500000000535711374317700016117 000000000000001;-;Pensia alimentară 1;-;Auto 2;-;Maşini de plată 2;-;Benzina 2;-;Întreţinere 1;-;Banca Taxe 2;-;Dobânda plătită 2;-;Tariful pentru serviciu 1;-;Proiectele de legi 2;-;Televiziune prin cablu sau televiziune prin satelit 2;-;Telefon mobil 2;-;Celular 2;-;Electricitate 2;-;Gunoi & Recycle 2;-;Club de sanatate 2;-;Home-proprietarului Dues 2;-;Componenţa Taxe 2;-;Ipoteca de plată 2;-;Gaze naturale / petrol 2;-;Ziar 2;-;Serviciul On-line/Internet 2;-;Alte împrumut de plată 2;-;Inchirieri 2;-;Student Împrumut de plată 2;-;Telefon 2;-;Apă şi canalizare 1;-;Retragerea de numerar 1;-;Donatii caritabile 1;-;De îngrijire a copiilor 1;-;Copii / Jucarii 2;-;Suport pentru copii 2;-;Zi 1;-;Îmbrăcăminte 1;-;Card de credit Plăţi / transferuri 1;-;Dining Out 1;-;Educaţie 2;-;Carti 2;-;Taxe 2;-;Scolarizare 1;-;Divertisment 1;-;Taxe 1;-;Alimente 1;-;Cadouri 1;-;Alimente 1;-;De sănătate 2;-;Dentare 2;-;Ochi-de îngrijire 2;-;Spitalul 2;-;Medic 2;-;Prescripţii 1;-;Hobby-uri / Agrement 2;-;Cărţi şi reviste 2;-;Evenimente culturale 2;-;Divertisment 2;-;Filme & Inchirieri Video 2;-;Evenimente sportive 2;-;Sportive 2;-;Benzi si CD-uri 2;-;Jucarii si jocuri 1;-;Home Îmbunătăţirea 1;-;Gospodărie 2;-;Mobilier 2;-;Casa de curăţare 2;-;Serviciul Yard 1;-;Asigurare 2;-;Automobile 2;-;Sănătate 2;-;Home-proprietarului / Clientul a 2;-;Viaţa 1;-;Cheltuieli de locuri de muncă 2;-;Non-rambursate 2;-;Rambursate 1;-;Împrumut 2;-;Împrumut fără dobândă 2;-;Ipoteca Dobânzi 2;-;Student Împrumut de Interes 1;-;Diverse 1;-;Ipoteca / Inchiriaza 1;-;De îngrijire personală 1;-;Pet Care 2;-;Produse alimentare 2;-;Consumabile 2;-;Medicul veterinar 1;-;Telefon / Wireless 1;-;Servicii / Afilieri 1;-;Taxele 2;-;Federal Impozitul pe venit 2;-;Anul venit Federală fiscal precedent 2;-;Locală Impozitul pe venit 2;-;Medicare fiscale 2;-;Alte impozite 2;-;Taxele Real Estate 2;-;Taxa de Vanzare 2;-;Asigurări sociale 2;-;De stat impozitul pe venit 2;-;De stat / Provincial 1;-;Travel / vacanþã 2;-;Cazarea 2;-;Turism 1;-;Utilităţi 1;+;Venituri / Interes 1;+;Venituri din investiţii 2;+;Castiguri de capital 2;+;Dividende 2;+;Dobânzi 2;+;Scutite de impozite Interes 1;+;Nu este o cheltuială 1;+;Alte venituri 2;+;Suport copil a primit 2;+;Angajat Stock Option 2;+;Cadouri primite 2;+;Principal de imprumut primite 2;+;Loteriile 2;+;Taxa hoteliera de stat & Returnare 2;+;Şomajul Despăgubiri 1;+;Venituri de pensionare 2;+;IRA Distribuţie 2;+;Pensii şi anuităţi 2;+;Prestaţii de securitate socială 1;+;Salariul & Salariu 2;+;Bonus 2;+;Comisia 2;+;Angajatorului potrivire 2;+;Brute Plătiţi 2;+;Salariale nete 2;+;Orele suplimentare homebank-5.3.2/config.sub0000755000175000017500000007713011023413026012211 00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. timestamp='2006-02-23' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file 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. # # 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. # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 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." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray) os= basic_machine=$1 ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | m32r | m32rle | m68000 | m68k | m88k | maxq | mb | microblaze | mcore \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64vr | mips64vrel \ | mips64orion | mips64orionel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | mt \ | msp430 \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b \ | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; m32c) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64vr-* | mips64vrel-* \ | mips64orion-* | mips64orionel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa-* \ | ymp-* \ | z8k-*) ;; m32c-*) ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; c90) basic_machine=c90-cray os=-unicos ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16c) basic_machine=cr16c-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tic55x | c55x*) basic_machine=tic55x-unknown os=-coff ;; tic6x | c6x*) basic_machine=tic6x-unknown os=-coff ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -zvmoe) os=-zvmoe ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: